linux-surface / iptsd

Userspace daemon for Intel Precise Touch & Stylus
GNU General Public License v2.0
86 stars 39 forks source link

Ghost touches with 1.2.0 [SP6] #128

Open benediktmag opened 1 year ago

benediktmag commented 1 year ago

Background

I have a SP6 and usually dual boot Win10/11 and some Arch-based distro. In Win10/Win11 I have sometimes gotten ghost touch such that it is like someone is constantly pressing the screen on the right hand side by the USB-port. I haven't found out what causes this in Windows and the cure is usually to reinstall Windows. This has never happened in Linux and I therefore looked at this as a software thing.

Issue

When installing iptsd 1.2.0 I get these ghost touches on a fresh installation on Endeavour (Gnome). They disappear when I downgrade to 1.1.1. Note this was a fresh installation so there where no previous configs for iptsd present.

P.s. I'm running kernel 6.2.12-arch1-1-surface #1 SMP PREEMPT_DYNAMIC

StollD commented 1 year ago

Have you tried calibrating iptsd?

https://github.com/linux-surface/iptsd/wiki/Calibrating-iptsd

Could you try grabbing a binary log for me, so that I can check what iptsd sees?

$ sudo systemctl stop $(iptsd-find-service)
$ sudo iptsd-dump $(iptsd-find-hidraw) data.bin

Then touch the screen a few times, ideally in a way that you know would trigger ghost touches. After that, stop the dumping program with Ctrl-C and upload the data.bin file it created here.

benediktmag commented 1 year ago

Here is the data.bin: data.zip

StollD commented 1 year ago

Based on a quick test, this should help in your case:

[Contacts]
ActivationThreshold = 30

Put this in a file /etc/iptsd.d/99-threshold.conf and restart iptsd systemctl restart $(iptsd-find-service).

If it starts missing touches you can also try lowering this value to something like 28. Same applies if there are ghost touches remaining: Just raise the value a bit.