linux-surface icon indicating copy to clipboard operation
linux-surface copied to clipboard

Surface Laptop touchpad tapping problem

Open ghost opened this issue 6 years ago • 51 comments

I observed that the touchpad "tapping" and "double tap right click" stops working after a while. I have tried to play with libinput settings but no avail.

ghost avatar Feb 22 '19 20:02 ghost

I've found this to be a problem as well on kernel 4.19. My 4.18 kernel works just fine though.

xander-petty avatar Mar 01 '19 21:03 xander-petty

Surface Laptop. Confirmed with 4.19.27-1 kernel. Tapping works after booting, but stops after some time. Can't detect what i'm doing wrong before it.

solesensei avatar Mar 09 '19 14:03 solesensei

I also experience this on a Surface Laptop 2 on kernel 5.0.1 (and several kernel versions prior)

pokedpeter avatar Mar 20 '19 12:03 pokedpeter

I also have the same issue. every time I reboot the system, it will work for a while, and stop at a random time.

ansonwong9695 avatar Mar 25 '19 17:03 ansonwong9695

I have discovered that the problem happens only after you physically click. You boot, and tapping works until you make that first physical click. After that, you have to reboot again to reset it.

xander-petty avatar Mar 27 '19 01:03 xander-petty

Confirmed same issue on type cover for Surface Go.

omnibaer avatar Mar 28 '19 00:03 omnibaer

Tested with evbug post-break: [ 1877.842307] evbug: Event. Dev: input10, Type: 3, Code: 57, Value: -1 ⎜ ↳ Microsoft Surface Type Cover Touchpad id=10 [slave pointer (2)] A -1 value event fires for the touchpad when tapped, so this event must be ignored by xinput once a physical button is used. Will dig in source so see how this plays out. Could use an evbug dump pre-break for comparison and an "lsmod | grep xinput" for id matching.

omnibaer avatar Mar 28 '19 00:03 omnibaer

Have the same problem here, it is so annoying that I am tapping and then after a few minutes I have to press down to click😂.

alanvww avatar Mar 29 '19 20:03 alanvww

@xander-petty I have discovered that the problem happens only after you physically click.

Can't confirm on my device. After physically click, tapping is still working. So i also tried not to click for a while after boot. After time tapping stops working too.

solesensei avatar Apr 01 '19 12:04 solesensei

The Surface Laptop1 also had this problem and had to use 4.18

guikeyy avatar Apr 03 '19 01:04 guikeyy

I tried again with Ubuntu 18.10 and signed the 5.0.1 kernel by myself. This problem is not happen anymore. Previously I have this problem with Elementary OS 5 and the kernel is unsigned.

alanvww avatar Apr 03 '19 16:04 alanvww

I have discovered that the problem happens only after you physically click. You boot, and tapping works until you make that first physical click. After that, you have to reboot again to reset it.

I was mistaken. As SoleSensei puts it, it still quits after some time. That is the same for me, I called it too soon.

xander-petty avatar Apr 03 '19 17:04 xander-petty

I tried again with Ubuntu 18.10 and signed the 5.0.1 kernel by myself. This problem is not happen anymore. Previously I have this problem with Elementary OS 5 and the kernel is unsigned.

What device are you on? I'm currently on 18.04 and kernel 4.18. If you can confirm that 18.10 works on kernel 5 on the Surface Laptop 1, I will go ahead and upgrade and see if we can get a second confirmation on this.

xander-petty avatar Apr 03 '19 17:04 xander-petty

I tried again with Ubuntu 18.10 and signed the 5.0.1 kernel by myself. This problem is not happen anymore. Previously I have this problem with Elementary OS 5 and the kernel is unsigned.

What device are you on? I'm currently on 18.04 and kernel 4.18. If you can confirm that 18.10 works on kernel 5 on the Surface Laptop 1, I will go ahead and upgrade and see if we can get a second confirmation on this.

I went ahead and upgraded to kernel 5 and ubuntu budgie 18.10. I can also confirm that upgrading fully resolves this problem!

xander-petty avatar Apr 04 '19 00:04 xander-petty

surface laptop 1 also the same problem

ppmanu avatar Apr 09 '19 13:04 ppmanu

I can also confirm that the problem goes away after upgrading from Ubuntu 18.04 to 18.10

alfiehub avatar May 09 '19 12:05 alfiehub

Broken on Elementary OS 5 using kernel 5. It only seems to stop working when the touchpad goes idle or I stop using it. I've never had it just die on me while constantly using it.

I've had to alias disabling and enabling it via xinput. It's pretty annoying but not enough to get me to switch from eOS 5 to 18.10. Hoping I can put some time aside to find the root cause. Doesn't seem to expose itself as an issue in the Xorg logs.

Edit: nevermind, seems completely random so far.

narkeeso avatar May 22 '19 22:05 narkeeso

UPDATE:

I spoke too soon, the touchpad eventually dies even using the synaptics drivers. It does last longer but the touchpad experience is much worse with synaptics.

Conclusion: If you're using Ubuntu 18.04 LTS or eOS 5 Juno, I wouldn't go higher than 4.18 kernel.


OLD POST:

I found a temporary fix for those of you that don't want to move to 18.10.

sudo apt install xserver-xorg-input-synaptics

Haven't had any issues with the tap to click all day. Unfortunately, it's not as slick as libinput. The tracking is fine but there's a 500ms delay on tap to click. I haven't figured out how to make it faster but I'm happy that I can reliably tap to click now.

Another issue you'll want to remedy is disabling the touchpad when typing if your palms hit the pad a lot. For this you can use syndaemon

syndaemon -d -i 0.5 -t -k -R

// -d run in background
// -i Disable touchpad for 0.5 seconds
// -t Only disable tapping and scrolling
// -k ignore modifier keys
// -R enable XRecord extension (honestly have no idea what this does but I see other posts use it)

I put the above snippet in my .zshrc to enable it on boot.

narkeeso avatar May 24 '19 07:05 narkeeso

UPDATE:

I spoke too soon, the touchpad eventually dies even using the synaptics drivers. It does last longer but the touchpad experience is much worse with synaptics.

Conclusion: If you're using Ubuntu 18.04 LTS or eOS 5 Juno, I wouldn't go higher than 4.18 kernel.

OLD POST:

I found a temporary fix for those of you that don't want to move to 18.10.

sudo apt install xserver-xorg-input-synaptics

Haven't had any issues with the tap to click all day. Unfortunately, it's not as slick as libinput. The tracking is fine but there's a 500ms delay on tap to click. I haven't figured out how to make it faster but I'm happy that I can reliably tap to click now.

Another issue you'll want to remedy is disabling the touchpad when typing if your palms hit the pad a lot. For this you can use syndaemon

syndaemon -d -i 0.5 -t -k -R

// -d run in background
// -i Disable touchpad for 0.5 seconds
// -t Only disable tapping and scrolling
// -k ignore modifier keys
// -R enable XRecord extension (honestly have no idea what this does but I see other posts use it)

I put the above snippet in my .zshrc to enable it on boot.

Just wanted to comment on this for anyone else who might be having this issue. I was having the same issue where the touchpad would work for a while, but then it would just stop working and I would have to actually click to do anything.

This solution seems to have worked for me so far. If I notice issues I'll come back and edit my comment. My system:

Device: Microsoft Surface Go OS: Pop!_OS 18.04.2 Kernel: 5.0.0-21-generic

jm20122012 avatar Jul 14 '19 11:07 jm20122012

Has this problem not been dealt with?

guikeyy avatar Jul 26 '19 02:07 guikeyy

I'm having the same issue on 18.04 with kernel 5.1.15

stefangrosaru avatar Jul 29 '19 00:07 stefangrosaru

I had the same issue on my SL2 with an install of Ubuntu 18.04. Upgrading to 19.04 only fixed it temporarily. It's probably the only thing keeping me from reinstalling Linux.

desimpson avatar Jul 29 '19 01:07 desimpson

The best thing you can do is stick to a version of the kernel that matches what shipped with the distro. I switched back to Windows but I had the most stability and less issues with 4.X.X series when I was using Elementary OS 5 Juno. The trackpad almost became a non-issue the moment I downgraded the kernel from 5.x.x to 4.x.x

narkeeso avatar Jul 29 '19 03:07 narkeeso

Thanks, @narkeeso. I'll keep that in mind for next time. Was it the tap-to-click issue that made you switch back to Windows or something else?

desimpson avatar Jul 29 '19 04:07 desimpson

I've upgraded to 19.04, latest kernel 5.1.15 and so far the issue seems to have gone away. THanks for the suggestion.

stefangrosaru avatar Jul 29 '19 09:07 stefangrosaru

@dsi3 I wanted to try WSL 2 since the main reason I switched was so I can get native docker support in Ubuntu. Docker in WSL 2 is not as fast as Ubuntu but it's working now and it feels nice to just know everything should be working as it should. I do miss the Elementary OS UI though.

narkeeso avatar Jul 29 '19 16:07 narkeeso

I've gone ahead and installed Linux Mint 19.2 on my SL2, using the latest modified kernel (5.1.15), and I'm still having this issue. It seems like clicking the touchpad is often what triggers the tapping to stop working, but it doesn't happen every time I click. I can go long enough periods without having to disable and re-enable the touchpad in xinput, however, so it's not bad enough that I want to install Windows 10 again

Edit: I don't have much technical knowledge, so forgive me if I'm completely wrong, but does this have anything to do with our issue?

desimpson avatar Aug 04 '19 12:08 desimpson

I'm also having this issue in Arch, kernel 5.8.5-arch1-1-surface (from pkg.surfacelinux.com), the unnumbered Surface Pro (2017?). Occasionally the keyboard and touchpad stop working for a second, and when they come back the touchpad settings have reset to default. When this happens, I fix it by opening KDE touchpad settings, changing any setting and changing it back so the apply button becomes active, and then clicking apply.

My guess is some part of the input stack crashes and when it comes back it forgets to load the user settings.

parkovski avatar Sep 07 '20 21:09 parkovski

I'm glad to have found others with the same problem! All KDE flavors I tried (opensuse, fedora, kubuntu, neon) suffer from this problem. But ubuntu (gnome 4) doesn't. On my machine the breaking of the touchpad functionality is always preceded by something strange happening. Can be a configuration bar dropping from the top of my screen, can be a window sticking to my cursor. Immediate after that the touchpad is almost useless. Also in ubuntu I feel there are the same strange events. But they have no influence on the touchpad. The touchpad just keeps on going. Could it be that in ubuntu they made a systemd service that will immediately restart the appropriate service/daemon/kernel module when it starts behaving abnormally? That would be a workaround for the time being. I searched but I couldn't find this systemd-service. I tried to write one myself but it seems I can't find what it is exactly that crashes... In any case, it would be great if such a service could be added to any KDE flavor.

begonia208 avatar Mar 25 '22 08:03 begonia208

By pure luck I stumbled upon the solution of this problem! I installed the package xserver-xorg-input-multitouch and all problems went away! Now I have a cursor in X (I didn't) and under Wayland the touchpad is 100% stable and the machine behaves impeccable.

begonia208 avatar Mar 29 '22 16:03 begonia208

@begonia208: Have you tried the up-to-date kernel from https://github.com/linux-surface/linux-surface (as outlined in #677)?

sphh avatar Mar 29 '22 19:03 sphh

Yes I tried the up-to-date kernel but it became a mess. I will try again. But note that in Ubuntu libinput never crashes on the same machine. So my guess would be that it has to do with the libinput implementation on Plasma.

Btw. I spoke too soon. The Surface Pro 3 still suffers from libinput crashes. Only they really happen later (hours, not minutes)

begonia208 avatar Mar 30 '22 06:03 begonia208

I installed the surface kernel successfully. Now I guess I have to test for a while. I'll let you know how it went.

begonia208 avatar Mar 30 '22 13:03 begonia208

I think the surface kernel does good things... Imo the machine boots faster, closes down faster and becomes less hot. But I regret to say that the surface kernel does not have a good effect on the libinput crashes... They still occur with Plasma.

begonia208 avatar Mar 31 '22 12:03 begonia208

In that case you are encouraged to file a bug report on their side, because that kernel is further ahead and actually actively maintained. Thanks.

sphh avatar Mar 31 '22 12:03 sphh

I could do that. But perhaps it's not even evident that it is a bug in the surface-kernel. It could very well be a bug in plasma or in the way libinput is implemented in plasma. I guess that if it were a bug in the surface-kernel Ubuntu would suffer from it too. And it doesn't.

begonia208 avatar Mar 31 '22 12:03 begonia208

They also have a discussion section there, which might be a good place to ask: https://github.com/linux-surface/linux-surface/discussions

sphh avatar Mar 31 '22 14:03 sphh

Is there an equivalent issue to this, in the linux-surface repo? I'm running the linux-surface kernel, and tapping stops working fairly regularly.

foxharp avatar Apr 27 '22 22:04 foxharp

I reported it as bug with KDE https://bugs.kde.org/show_bug.cgi?id=450911 . Nate Graham assigned it to libinput. That could very well be accurate but I also wouldn't be surprised if it turned out to be a typical KDE-thing or perhaps even a Surface-kernel thing. But on the other hand: why does tap to click never crash on Ubuntu if it were a Surface-kernel thing? Could be that they are more clever with systemd and they let the tap-to-click process restart if it doesn't function normally...

begonia208 avatar Apr 28 '22 06:04 begonia208

Which device are we talking about specifically? SL1/SL2 have (IIRC) a standard USB-HID touchpad. SL3 and later have a HID over SAM touchpad.

In either case just it's a HID device. And HID is just a transport protocol, so if the cause is some very specific thing (like tapping as opposed to just dragging the finger) it's either an issue on the device side or an issue on the side interpreting things (which would be libinput).

qzed avatar Apr 28 '22 08:04 qzed

Also what kernel versions does this happen with? If it's anything recent you might want to move the discussion to https://github.com/linux-surface/linux-surface.

qzed avatar Apr 28 '22 08:04 qzed

I am using a Surface Pro 3. And I am loosing the tap as long as I use it. But ONLY with KDE. Not with Gnome... It makes no difference what kernel I use...

begonia208 avatar Apr 28 '22 10:04 begonia208

I'm using a Surface Laptop Go, running Ubuntu Mint 20.2, with the Mate desktop. I've never run KDE. Kernel is 5.16.17-surface.

Symptoms:

xinput disable/enable has no effect. I.e., this doesn't fix it:

sudo xinput disable 'ELAN Touchpad and Keyboard Touchpad'
sudo xinput enable 'ELAN Touchpad and Keyboard Touchpad'

If I switch users (using keyboard controls), tapping works for the other user. When I switch back, it's still broken. If I log out, and log back in, it's fixed. That's the current workaround.

So it actually sounds like these symptoms are different, and, perhaps, might be specific to Mint/Mate.

Is there a discussion forum for linux-surface? Or is the issue tracker the only meeting place?

foxharp avatar Apr 28 '22 13:04 foxharp

Could also be multiple things... but those do sound a bit like userspace/DE problems. The kernel itself doesn't care about logout/login etc.

Is there a discussion forum for linux-surface? Or is the issue tracker the only meeting place?

There's https://github.com/linux-surface/linux-surface/discussions, or reddit (r/surfacelinux)

qzed avatar Apr 28 '22 16:04 qzed

had this issue on my surface pro 6. Found a fix in kubuntu/kde desktop inside "trackpad" settings,there's an option "allow touch" and enabling it will fix the issue

cnacode avatar Jun 06 '22 08:06 cnacode

I am using Kubuntu 22.04 with backports ppa and plasma 5.25 beta on a Surface Pro 3. I have to use Wayland because X won't doe anything. But to my regret on my machine there is no such option as "allow touch"...

begonia208 avatar Jun 09 '22 19:06 begonia208

I have SP7 and KDE Neon (20.04). Touchpad tap-to-click stops working after computer goes to sleep. Sometimes, I can go to settings and disable + enable tap-to-click to make it work again, but other times the tap-to-click option is just greyed out.

How can I debug this? I suppose something stops working (or does not restart) after sleep.

Freek07 avatar Jul 03 '22 04:07 Freek07