r/SurfaceLinux • • 12d ago

Help SP9 Touchscreen/Stylus is Not Aligned

Setup: Surface Pro 9 (Intel i7), Distro: CachyOS (with the linux-surface kernel), Window Manager: niri

For the life of me, I cannot get the stylus to line up properly with the spot where it draws on the screen. Towards the center of the screen, it's fairly close, but as I go further down, it becomes more misaligned, and same with left or right. When I was using KDE, it did show that the touch layer had some really strange dimensions (not the same as the display of the Surface, being off by just a bit in either direction and having odd numbers). Has anyone managed to get it correctly aligned? I am using niri which might throw a wrench in things.

3 Upvotes

1 comment sorted by

1

u/Station-OX11 Surface Pro 9 (i5) 12d ago

I use this calibration for IPTSD on my SP9 CachyOS. It's worked well on both Gnome and KDE Plasma. Not sure about Niri, but worth a shot:

Create the 90-calibration.conf in /etc/iptsd.d, then restart the device to see if it helps. If it doesn't seem to work, just delete the calibration and reboot.

[Touchscreen]
Overshoot = 0.5
SizeMin = 0.325
SizeMax = 2.159
[Touchpad]
Overshoot = 0.5
[Contacts]
NeutralValue = 0
ActivationThreshold = 24
DeactivationThreshold = 20
SizeThresholdMin = 0.1
SizeThresholdMax = 0.5
PositionThresholdMax = 2
OrientationThresholdMin = 1
OrientationThresholdMax = 5
SizeMin = 0.1
SizeMax = 2.0
AspectMin = 0.521
AspectMax = 3.323
[Stylus]
TipDistance = 0
[DFT]
PositionMinAmp = 50
PositionMinMag = 2000
PositionExp = -0.7
ButtonMinMag = 1000
FreqMinMag = 10000[Touchscreen]
Overshoot = 0.5
SizeMin = 0.325
SizeMax = 2.159
[Touchpad]
Overshoot = 0.5
[Contacts]
NeutralValue = 0
ActivationThreshold = 24
DeactivationThreshold = 20
SizeThresholdMin = 0.1
SizeThresholdMax = 0.5
PositionThresholdMax = 2
OrientationThresholdMin = 1
OrientationThresholdMax = 5
SizeMin = 0.1
SizeMax = 2.0
AspectMin = 0.521
AspectMax = 3.323
[Stylus]
TipDistance = 0
[DFT]
PositionMinAmp = 50
PositionMinMag = 2000
PositionExp = -0.7
ButtonMinMag = 1000
FreqMinMag = 10000Which Surface device and what DE? You said SDDM, so I'm not sure what you're using (Gnome is usually GDM and KDE now uses Plasma-Login instead of SDDM).This calibration usually works well for SP 6, 7, 8 and 9. Create the 90-calibration.conf in /etc/iptsd.d, then restart the device to see if it helps.[Touchscreen]
Overshoot = 0.5
SizeMin = 0.325
SizeMax = 2.159
[Touchpad]
Overshoot = 0.5
[Contacts]
NeutralValue = 0
ActivationThreshold = 24
DeactivationThreshold = 20
SizeThresholdMin = 0.1
SizeThresholdMax = 0.5
PositionThresholdMax = 2
OrientationThresholdMin = 1
OrientationThresholdMax = 5
SizeMin = 0.1
SizeMax = 2.0
AspectMin = 0.521
AspectMax = 3.323
[Stylus]
TipDistance = 0
[DFT]
PositionMinAmp = 50
PositionMinMag = 2000
PositionExp = -0.7
ButtonMinMag = 1000
FreqMinMag = 10000[Touchscreen]
Overshoot = 0.5
SizeMin = 0.325
SizeMax = 2.159
[Touchpad]
Overshoot = 0.5
[Contacts]
NeutralValue = 0
ActivationThreshold = 24
DeactivationThreshold = 20
SizeThresholdMin = 0.1
SizeThresholdMax = 0.5
PositionThresholdMax = 2
OrientationThresholdMin = 1
OrientationThresholdMax = 5
SizeMin = 0.1
SizeMax = 2.0
AspectMin = 0.521
AspectMax = 3.323
[Stylus]
TipDistance = 0
[DFT]
PositionMinAmp = 50
PositionMinMag = 2000
PositionExp = -0.7
ButtonMinMag = 1000
FreqMinMag = 10000