https://bugs.kde.org/show_bug.cgi?id=515674
Bug ID: 515674
Summary: Wacom One Pen on Wayland, tilt not reported to
applications (despite being seen by libinput and KWin
Debug Console)
Classification: Plasma
Product: kwin
Version First 6.4.5
Reported In:
Platform: Ubuntu
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: input
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
SUMMARY
I have a Wacom One Pen tablet medium device (model no. CTC6110WL). The graphics
tablet supports tilt – and this works without any issue on X.org session. But
on Wayland I cannot get tilt to work in applications such as Krita, Gimp, or
Firefox.
STEPS TO REPRODUCE
1. Connect Wacom One Pen tablet (via Bluetooth or USB).
2. Open Krita.
3. Try brushes sensitive to tilt.
OBSERVED RESULT
The brush tool does not react to tilt.
EXPECTED RESULT
The brush tool reacting to tilt.
SOFTWARE/OS VERSIONS
Operating System: Kubuntu 25.10
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.17.0
Qt Version: 6.9.2
Kernel Version: 6.17.0-12-generic (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5700X 8-Core Processor
Memory: 32 GiB of RAM (31.3 GiB usable)
Graphics Processor: AMD Radeon RX 9070 XT
ADDITIONAL INFORMATION
I tried diagnosing it using libinput debug-events tool and its behaviour is a
bit weird. It seems to generally see the tilt values in the events – but not
when first run. So on _first_ run I get output like:
```
event21 TABLET_TOOL_AXIS 387 +49.876s 63.89*/66.18*
pressure: 0.65*
event21 TABLET_TOOL_AXIS 388 +49.906s 63.87*/66.17*
pressure: 0.65*
event21 TABLET_TOOL_AXIS 389 +49.906s 63.86*/66.16*
pressure: 0.65*
event21 TABLET_TOOL_AXIS 390 +49.906s 63.85*/66.15*
pressure: 0.64*
event21 TABLET_TOOL_AXIS 391 +49.908s 63.84*/66.13*
pressure: 0.64*
event21 TABLET_TOOL_AXIS 392 +49.921s 63.83*/66.12*
pressure: 0.64*
event21 TABLET_TOOL_AXIS 393 +49.937s 63.81*/66.09*
pressure: 0.64*
event21 TABLET_TOOL_AXIS 394 +49.937s 63.79*/66.07*
pressure: 0.64*
event21 TABLET_TOOL_AXIS 395 +49.966s 63.77*/66.05*
pressure: 0.64*
event21 TABLET_TOOL_AXIS 396 +49.966s 63.75*/66.03*
pressure: 0.64*
event21 TABLET_TOOL_AXIS 397 +49.966s 63.74*/66.02*
pressure: 0.63*
event21 TABLET_TOOL_AXIS 398 +49.968s 63.72*/66.00*
pressure: 0.63*
event21 TABLET_TOOL_AXIS 399 +50.026s 63.71*/65.99*
pressure: 0.63*
event21 TABLET_TOOL_AXIS 400 +50.026s 63.70*/65.98*
pressure: 0.62*
event21 TABLET_TOOL_AXIS 401 +50.026s 63.69*/65.96*
pressure: 0.62*
event21 TABLET_TOOL_AXIS 402 +50.028s 63.68*/65.94*
pressure: 0.62*
event21 TABLET_TOOL_AXIS 403 +50.041s 63.67*/65.93*
pressure: 0.62*
event21 TABLET_TOOL_AXIS 404 +50.041s 63.66*/65.91*
pressure: 0.62*
event21 TABLET_TOOL_AXIS 405 +50.041s 63.65*/65.89*
pressure: 0.62*
event21 TABLET_TOOL_AXIS 406 +50.043s 63.64*/65.86*
pressure: 0.62*
event21 TABLET_TOOL_AXIS 407 +50.056s 63.63*/65.84*
pressure: 0.62*
event21 TABLET_TOOL_AXIS 408 +50.056s 63.62*/65.81*
pressure: 0.61*
event21 TABLET_TOOL_AXIS 409 +50.056s 63.60*/65.78*
pressure: 0.61*
event21 TABLET_TOOL_AXIS 410 +50.086s 63.59*/65.75*
pressure: 0.62*
event21 TABLET_TOOL_AXIS 411 +50.086s 63.57*/65.72*
pressure: 0.62*
event21 TABLET_TOOL_AXIS 412 +50.086s 63.55*/65.68*
pressure: 0.62*
```
but if I kill the program and run it again, the tilt suddenly appears (no other
changes made in the meantime):
```
% libinput debug-events --device /dev/input/event21 --device /dev/input/event20
-event21 DEVICE_ADDED Wacom One pen tablet medium seat0
default group1 cap:T size 216x135mm
-event20 DEVICE_ADDED Wacom One pen tablet medium System
Control seat0 default group1 cap:k
-event21 TABLET_TOOL_PROXIMITY +0.000s 113.72*/69.34* tilt:
27.00*/1.00* pressure: 0.00* pen (0, id 0) proximity-in axes:pt btn:S
event21 TABLET_TOOL_AXIS +0.000s 113.76*/69.32* tilt:
27.00/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 2 +0.002s 113.86*/69.28* tilt:
27.00/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 3 +0.002s 114.05*/69.23* tilt:
27.00/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 4 +0.016s 114.31*/69.17* tilt:
27.00/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 5 +0.030s 114.59*/69.13* tilt:
26.75*/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 6 +0.030s 114.85*/69.09* tilt:
26.50/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 7 +0.060s 115.06*/69.06* tilt:
26.25/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 8 +0.060s 115.23*/69.03* tilt:
26.00/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 9 +0.063s 115.41*/68.98* tilt:
25.75*/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 10 +0.063s 115.61*/68.89* tilt:
25.50/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 11 +0.075s 115.85*/68.76* tilt:
25.00*/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 12 +0.075s 116.06*/68.63* tilt:
24.50/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 13 +0.090s 116.23*/68.54* tilt:
24.25/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 14 +0.120s 116.33*/68.51* tilt:
24.00/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 15 +0.120s 116.36*/68.51* tilt:
24.00/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 16 +0.123s 116.36*/68.51* tilt:
24.00/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 17 +0.123s 116.36*/68.45* tilt:
24.00/1.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 18 +0.135s 116.34*/68.33* tilt:
24.00/1.25* pressure: 0.00
event21 TABLET_TOOL_AXIS 19 +0.135s 116.33*/68.20* tilt:
24.00/1.50 pressure: 0.00
event21 TABLET_TOOL_AXIS 20 +0.150s 116.32*/68.12* tilt:
24.00/1.75 pressure: 0.00
event21 TABLET_TOOL_AXIS 21 +0.150s 116.32/68.10* tilt:
24.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 22 +0.180s 116.31*/68.15* tilt:
24.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 23 +0.180s 116.30*/68.22* tilt:
24.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 24 +0.182s 116.28*/68.26* tilt:
24.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 25 +0.210s 116.24*/68.25* tilt:
24.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 26 +0.210s 116.19*/68.19* tilt:
23.75*/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 27 +0.213s 116.09*/68.11* tilt:
23.50/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 28 +0.213s 115.94*/68.01* tilt:
23.25/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 29 +0.240s 115.74*/67.94* tilt:
23.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 30 +0.240s 115.52*/67.90* tilt:
23.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 31 +0.242s 115.28*/67.90* tilt:
23.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 32 +0.255s 115.05*/67.92* tilt:
23.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 33 +0.255s 114.85*/67.96* tilt:
23.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 34 +0.270s 114.66*/68.00* tilt:
23.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 35 +0.270s 114.51*/68.02* tilt:
23.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 36 +0.300s 114.40*/68.02* tilt:
23.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 37 +0.300s 114.34*/67.97* tilt:
23.00/2.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 38 +0.302s 114.32*/67.87* tilt:
23.00/2.25* pressure: 0.00
event21 TABLET_TOOL_AXIS 39 +0.302s 114.32*/67.71* tilt:
23.00/2.50 pressure: 0.00
event21 TABLET_TOOL_AXIS 40 +0.315s 114.34*/67.49* tilt:
23.00/3.00* pressure: 0.00
event21 TABLET_TOOL_AXIS 41 +0.330s 114.40*/67.23* tilt:
23.00/3.50 pressure: 0.00
event21 TABLET_TOOL_AXIS 42 +0.330s 114.50*/66.96* tilt:
23.00/4.00* pressure: 0.00
event21 TABLET_TOOL_AXIS 43 +0.360s 114.63*/66.69* tilt:
23.00/4.50 pressure: 0.00
event21 TABLET_TOOL_AXIS 44 +0.360s 114.77*/66.48* tilt:
23.00/5.00* pressure: 0.00
event21 TABLET_TOOL_AXIS 45 +0.362s 114.89*/66.34* tilt:
23.00/5.50 pressure: 0.00
event21 TABLET_TOOL_AXIS 46 +0.362s 114.96*/66.28* tilt:
23.00/5.75 pressure: 0.00
event21 TABLET_TOOL_AXIS 47 +0.376s 114.96*/66.29* tilt:
23.00/6.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 48 +0.376s 114.87*/66.37* tilt:
23.00/6.00 pressure: 0.00
event21 TABLET_TOOL_AXIS 49 +0.390s 114.68*/66.50* tilt:
23.00/5.75* pressure: 0.00
event21 TABLET_TOOL_PROXIMITY +0.420s 114.26/66.77 tilt:
23.00/5.00 pressure: 0.00 pen (0, id 0) proximity-out
```
If I start KWin Debug Console, I also do see “Odchylenie” (“Tilt” in Polish)
values changing there too when moving the stylus.
But if I run Krita under Wayland Plasma session and I in Krita I go to Settings
→ Tablet settings → Tablet Tester, I see output like this:
```
## Legend:
# X,Y - event coordinate
# B - buttons pressed
# P - pressure
# TX,TY - tilt
# S - speed
Stylus press X=81.66 Y=111.20 B=1 P=25.1% TX=0 TY=0 S=0.0
Stylus move X=81.66 Y=111.20 B=1 P=25.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.04 B=1 P=34.8% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.04 B=1 P=44.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.04 B=1 P=52.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.04 B=1 P=57.7% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.48 Y=111.04 B=1 P=62.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.48 Y=111.04 B=1 P=65.6% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.30 Y=111.04 B=1 P=68.7% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.30 Y=111.04 B=1 P=71.4% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.30 Y=111.04 B=1 P=73.9% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.30 Y=111.20 B=1 P=75.8% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.48 Y=111.20 B=1 P=76.7% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.20 B=1 P=78.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.20 B=1 P=79.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.83 Y=111.04 B=1 P=80.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.83 Y=111.04 B=1 P=81.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.83 Y=111.04 B=1 P=82.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.83 Y=111.04 B=1 P=83.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.04 B=1 P=84.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.04 B=1 P=85.0% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.04 B=1 P=85.4% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.04 B=1 P=85.9% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.19 Y=111.20 B=1 P=86.5% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.19 Y=111.20 B=1 P=87.0% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=87.7% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.36 B=1 P=88.6% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.36 B=1 P=88.8% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.36 B=1 P=88.9% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.9% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.8% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.6% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.5% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=88.3% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=87.9% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=85.5% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=82.01 Y=111.20 B=1 P=80.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.66 Y=111.20 B=1 P=67.5% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.12 Y=111.20 B=1 P=20.1% TX=0 TY=0 S=0.0 (DRAW)
Stylus move X=81.12 Y=111.20 B=1 P=0.0% TX=0 TY=0 S=0.0 (DRAW)
Stylus release X=81.12 Y=111.20 B=0 P=0.0% TX=0 TY=0 S=0.0
Stylus press X=69.57 Y=141.42 B=1 P=44.5% TX=0 TY=0 S=0.0
```
with both tilt (TX, TY) values being always 0.
Also in Firefox if I open the browser console and run:
```
document.body.addEventListener("pointerdown", (event) => {
console.log("id: " + event.pointerId + " (" + event.pointerType + "),
pressure: " + event.pressure + ", tiltX: " + event.tiltX + ", tiltY: " +
event.tiltY);
}, true);
```
and then point the cursor with the stylus somewhere at the page’s body I get
logs like these:
```
13:35:48.909 id: 1 (pen), pressure: 1, tiltX: 0, tiltY: 0
13:35:57.232 id: 1 (pen), pressure: 0.6915999054908752, tiltX: 0, tiltY: 0
13:36:13.200 id: 1 (pen), pressure: 0.17979705333709717, tiltX: 0, tiltY: 0
13:36:17.625 id: 1 (pen), pressure: 0.1723964363336563, tiltX: 0, tiltY: 0
```
with no tilt values reported.
If I disconnect and then reconnect the tablet, the first run of libinput
debug-events again does not report tilt – but the next run does.
--
You are receiving this mail because:
You are watching all bug changes.