Bug 515674 - Wacom One Pen on Wayland, tilt not reported to applications (despite being seen by libinput and KWin Debug Console)
Summary: Wacom One Pen on Wayland, tilt not reported to applications (despite being se...
Status: REPORTED
Alias: None
Product: kwin
Classification: Plasma
Component: input (other bugs)
Version First Reported In: 6.4.5
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-02-07 12:40 UTC by Benedykt silmeth Jaworski
Modified: 2026-02-07 12:49 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Benedykt silmeth Jaworski 2026-02-07 12:40:21 UTC
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.
Comment 1 Benedykt silmeth Jaworski 2026-02-07 12:49:53 UTC
And of course the weirdest thing happen just after I reported the bug. I logged out (cause I couldn’t close the Debug Console window otherwise – I have the window bar hidden), logged in again and the tilt brushes in Krita suddenly work.

So I guess this is something with the device initialization in libinput and how that interacts with the rest of KDE/other applications?