linux-surface / linux-surface

Linux Kernel for Surface Devices
4.68k stars 205 forks source link

Touchpad jumps #1282

Open bugaevc opened 7 months ago

bugaevc commented 7 months ago

This might or might not be the same as https://github.com/linux-surface/linux-surface/issues/1191

Since recently (I estimate 1 to 3 weeks ago — perhaps a bad kernel update?), touchpad started behaving erratically; it worked great before. Sometimes, typically soon after connecting the Type Cover, it works fine, although maybe a tiny bit slower (as in higher latency) than before, also sometimes it has issues registering taps (and I have to press down hard until it "clicks"). But then after some time, the cursor starts jumping around the screen when I move my finger on the touchpad. Eventually, it stops responding to touchpad at all.

This is not related to pressure sensitivity, as it was working perfectly before. This can happen immediately after boot, so it's not related to suspending / hibernation either.

I'm disconnecting and re-connecting the Type Cover to work around this, which makes the overall experience somewhat usable. Please tell me what I could do to help you investigate and debug this.

Environment

dmesg output

The log shows me unplugging and re-plugging my Type Cover keyboard several times.

(Also OMG, I just noticed those mwifiex crashes! But that looks unrelated)

There are also these complaints from libinput in the journal:

17:31:45 surface-pro-6 gnome-shell[2418]: libinput error: event5  - Microsoft Surface Type Cover Touchpad: kernel bug: Touch jump detected and discarded.
17:31:45 surface-pro-6 gnome-shell[2418]: See https://wayland.freedesktop.org/libinput/doc/1.24.0/touchpad-jumping-cursors.html for details
17:32:47 surface-pro-6 gnome-shell[2418]: libinput error: event5  - Microsoft Surface Type Cover Touchpad: kernel bug: Touch jump detected and discarded.
17:32:47 surface-pro-6 gnome-shell[2418]: See https://wayland.freedesktop.org/libinput/doc/1.24.0/touchpad-jumping-cursors.html for details
17:33:03 surface-pro-6 gnome-shell[2418]: libinput error: event5  - Microsoft Surface Type Cover Touchpad: kernel bug: Touch jump detected and discarded.
17:33:03 surface-pro-6 gnome-shell[2418]: See https://wayland.freedesktop.org/libinput/doc/1.24.0/touchpad-jumping-cursors.html for details
17:33:03 surface-pro-6 gnome-shell[2418]: libinput error: event5  - Microsoft Surface Type Cover Touchpad: kernel bug: Touch jump detected and discarded.
17:33:03 surface-pro-6 gnome-shell[2418]: See https://wayland.freedesktop.org/libinput/doc/1.24.0/touchpad-jumping-cursors.html for details
bugaevc commented 7 months ago

Booted 6.5.5-2 from Wed Oct 4, the issue is still happening there, so maybe it wasn't a kernel update.

dev-uhuru commented 5 months ago

Hi there, for whatever it's worth, I may have hit a related issue. I have the kernel 6.6.8-100.fc38.x86_64, Fedora 38 and have noticed, just recently (so something like 5-6 months after a fresh install) that my touchpad would bug, eg.:

13:41:09 hostname gnome-shell[2634]: libinput error: event6  - VEN_04F3:00 04F3:3242 Touchpad: WARNING: log rate limit exceeded (5 msgs per 24h). Discarding future messages.
13:43:54 hostname gnome-shell[145513]: libinput error: event6  - VEN_04F3:00 04F3:3242 Touchpad: kernel bug: Touch jump detected and discarded.
13:43:54 hostname gnome-shell[145513]: See https://wayland.freedesktop.org/libinput/doc/1.23.0/touchpad-jumping-cursors.html for details
13:44:23 hostname gnome-shell[145513]: libinput error: event6  - VEN_04F3:00 04F3:3242 Touchpad: kernel bug: Touch jump detected and discarded.
13:44:23 hostname gnome-shell[145513]: See https://wayland.freedesktop.org/libinput/doc/1.23.0/touchpad-jumping-cursors.html for details

Any luck in your investigations?

bugaevc commented 5 months ago

Nope :disappointed: and no response from the maintainers, either.

nicheosala commented 5 months ago

Similar problem. Output of sudo journalctl -p 3 -b:

gen 16 15:16:24 arch kwin_wayland[908]: kwin_libinput: Libinput: event7  - Microsoft Surface 045E:09AF Touchpad: kernel bug: Touch jump detected and discarded.
                                        See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
gen 16 15:16:24 arch kwin_wayland[908]: kwin_libinput: Libinput: event7  - Microsoft Surface 045E:09AF Touchpad: kernel bug: Touch jump detected and discarded.
                                        See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
gen 16 15:18:12 arch kwin_wayland[908]: kwin_libinput: Libinput: event7  - Microsoft Surface 045E:09AF Touchpad: kernel bug: Touch jump detected and discarded.
                                        See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
gen 16 15:18:41 arch kwin_wayland[908]: kwin_libinput: Libinput: event7  - Microsoft Surface 045E:09AF Touchpad: kernel bug: Touch jump detected and discarded.
                                        See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
gen 16 15:19:20 arch kwin_wayland[908]: kwin_libinput: Libinput: event7  - Microsoft Surface 045E:09AF Touchpad: kernel bug: Touch jump detected and discarded.
                                        See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
gen 16 15:19:20 arch kwin_wayland[908]: kwin_libinput: Libinput: event7  - Microsoft Surface 045E:09AF Touchpad: WARNING: log rate limit exceeded (5 msgs per 24h). Discarding future messages.

Environment

ResRipper commented 1 month ago

The same thing happened to me the next day after I installed the system and linux-surface kernel. Reconnect the cover will get the touchpad working for about a second.

kwin_wayland[645]: kwin_libinput: Libinput: event5  - Microsoft Surface Type Cover Touchpad: kernel bug: Touch jump detected and discarded.
                                            See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
kwin_wayland[645]: kwin_libinput: Libinput: event5  - Microsoft Surface Type Cover Touchpad: kernel bug: Touch jump detected and discarded.
                                            See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
kwin_wayland[645]: kwin_libinput: Libinput: event5  - Microsoft Surface Type Cover Touchpad: kernel bug: Touch jump detected and discarded.
                                            See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
kwin_wayland[645]: kwin_libinput: Libinput: event5  - Microsoft Surface Type Cover Touchpad: kernel bug: Touch jump detected and discarded.
                                            See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
kwin_wayland[645]: kwin_libinput: Libinput: event5  - Microsoft Surface Type Cover Touchpad: kernel bug: Touch jump detected and discarded.
                                            See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
kwin_wayland[645]: kwin_libinput: Libinput: event5  - Microsoft Surface Type Cover Touchpad: WARNING: log rate limit exceeded (5 msgs per 24h). Discarding future messages.

Environment

ResRipper commented 1 month ago

I also found that the touch screen will occasionally stop responding, unsure if they are related.

bugaevc commented 1 month ago

So, for what it's worth, I asked @StollD about this on Matrix, and then did some experimentation myself. Turns out:

ResRipper commented 1 month ago

Among the many discussions about touchpad jumps outside of linux-surface context, there have been suggestions that this might be caused by something as simple as electrical interference, and suggestions that it might go away when the charger is unplugged.

This is exactly what happened to me. When the problem occurred, I was using the power outlet in my local library. I then went out to buy a flash drive (which cost me twice the online price) to reinstall the OS, and while downloading the ISO in a different location, the problem disappeared. Now back in the library, I can confirm that this is the cause of both the touchpad and touchscreen issues. Now I just have to accept that I spent twice on a flash drive I will never need again.