Bug 500911 - Interaction between pen calibration via UDEV and kcm_tablet at the same time
Summary: Interaction between pen calibration via UDEV and kcm_tablet at the same time
Status: RESOLVED INTENTIONAL
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_tablet (other bugs)
Version First Reported In: 6.3.2
Platform: Arch Linux Linux
: NOR minor
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-01 17:23 UTC by Loque
Modified: 2025-11-27 23:28 UTC (History)
2 users (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 Loque 2025-03-01 17:23:40 UTC
SUMMARY
In reference to the following thread in the code base discussion, as requested by Joshua Goins: https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1833

STEPS TO REPRODUCE
1. Create an UDEV rule to manually adjust your calibration, the process is described in paragraph 1.4 of this wiki: https://wiki.archlinux.org/title/Calibrating_Touchscreen (In my case: 0.25% to the left)
2. Reload UDEV rules for the calibration to apply.
3. Also Calibrate the the pen with the tool in kcm_tablet.
4. Save the result with the Apply button.

OBSERVED RESULT
- The Cursor is being offset way more than it should (about 1,5cm)

EXPECTED RESULT
- They shouldn't affect eachother, I guess? 
- Current workaround is to just comment out the udev rule.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.3.2
KDE Frameworks Version: 6.11.0
Qt Version: 6.8.2
Kernel Version: 6.13.5-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 5600X 6-Core Processor
Memory: 31.3 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 4060 Ti
Tablet: XP-Pen Artist 24 Pro

ADDITIONAL INFORMATION
- I also have an HP Elite X2 G4 where the UDEV method didn't work at all but the kcm_tablet method had the expected calibration effect. There, the interaction between the two methods didn't happen at all. I couldn't make complete sense of how the PIDs for this screen work. Pen, Eraser and touch share the same ID iirc (haven't tinkered with it ever since). Also with this tablet there seems to be some sort of correction by itself using the tilt sensors like the MS Surface has (Cursor jumping to the point when actually touching the screen with the tip in Krita)
Comment 1 Joshua Goins 2025-11-27 23:28:12 UTC
Taking a quick look at the code, this is intentional. Those two calibration matrices are set at two different levels:

* The one from udev replaces what is called the device's "default matrix"
* The one from us replaces the devices "new matrix"

We can't functionally tell at our layer whether or not that's the device's provided matrix, or the one you override in udev. I'm unsure if any device legitimately provides their own matrix or if it's always user-provided. But either way, I don't think there's any reason to change it right now.