Bug 105447

Summary: Two-finger scrolling broken in 1.10.2
Product: Wayland Reporter: Mantas Mikulėnas <grawity>
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: peter.hutterer, thomas
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: evemu-record log
libinput debug-events 1.10.2 log (bad)
libinput debug-events 1.10.1 log (good)
run 2: evemu-record log
run 2: libinput debug-events --verbose (1.10.2 bad)
run 2: libinput debug-events --verbose (1.10.1 good)

Description Mantas Mikulėnas 2018-03-12 05:48:38 UTC
I upgraded from 1.10.1 to 1.10.2, and it stopped recognizing about half of my two-finger-scroll attempts, treating them as plain pointer movements. (I can even run the old and new `libinput debug-gui` side-by-side, and the former recognizes all my scrolls while the latter misses nearly half of them.)

This is on a full-multitouch touchpad (Synaptics) in RMI4 mode.

libinput 1.10.1 / 1.10.2
linux 4.15.7
Synaptics s3203 (RMI4 mode)
Comment 1 Mantas Mikulėnas 2018-03-12 05:49:33 UTC
Created attachment 138009 [details]
evemu-record log
Comment 2 Mantas Mikulėnas 2018-03-12 05:50:13 UTC
Created attachment 138010 [details]
libinput debug-events 1.10.2 log (bad)
Comment 3 Mantas Mikulėnas 2018-03-12 05:50:22 UTC
Created attachment 138011 [details]
libinput debug-events 1.10.1 log (good)
Comment 4 Mantas Mikulėnas 2018-03-12 11:35:15 UTC
(In case it's relevant, RMI4 on this laptop is affected by bug 100436, so it might just be garbage-in, garbage-out...)
Comment 5 Mantas Mikulėnas 2018-03-12 12:33:03 UTC
(In reply to Mantas Mikulėnas from comment #4)
> (In case it's relevant, RMI4 on this laptop is affected by bug 100436, so it
> might just be garbage-in, garbage-out...)

Hmm, I just remembered I can test the legacy PS/2 mode using 'modprobe.blacklist=i2c_hid'. (Fortunately 4.15.x supports PS/2 fallback – older kernels didn't.)

With the touchpad in PS/2 mode, libinput 1.10.2 missed only 2 scrolls out of nearly a hundred.

So yes, looks like the problem is definitely caused (or at least worsened) by the kernel RMI4 bugs.
Comment 6 Anssi Puhakka 2018-03-12 19:41:54 UTC
(In reply to Mantas Mikulėnas from comment #0)
> I upgraded from 1.10.1 to 1.10.2, and it stopped recognizing about half of
> my two-finger-scroll attempts, treating them as plain pointer movements. (I
> can even run the old and new `libinput debug-gui` side-by-side, and the
> former recognizes all my scrolls while the latter misses nearly half of
> them.)
> 
> This is on a full-multitouch touchpad (Synaptics) in RMI4 mode.
> 
> libinput 1.10.1 / 1.10.2
> linux 4.15.7
> Synaptics s3203 (RMI4 mode)

Exactly the same issues on an Apple Internal Trackpad (bcm5974) after upgrading to 1.10.2.
Comment 7 Peter Hutterer 2018-03-13 00:33:45 UTC
If it is between 1.10.1 and 1.10.2 and easy to reproduce, git bisecting will be the fastest way to identify what changed. afaict that evemu-record scrolls just fine, with only one motion event in the whole log.

I'll need a libinput debug-events --verbose output too please, that'll show if the pressure sensitivity is getting in the way.
Comment 8 Mantas Mikulėnas 2018-03-13 06:04:21 UTC
(In reply to Peter Hutterer from comment #7)
> If it is between 1.10.1 and 1.10.2 and easy to reproduce, git bisecting will
> be the fastest way to identify what changed. afaict that evemu-record
> scrolls just fine, with only one motion event in the whole log.

Bisected it to 1c15e162b835 ("touchpad: add a TOUCH_MAYBE_END state").

But I see that in master you've already fixed it by d8db6b5927f6 ("touchpad: end hovering touches in maybe_end_touch").
Comment 9 Mantas Mikulėnas 2018-03-13 06:12:10 UTC
Created attachment 138060 [details]
run 2: evemu-record log
Comment 10 Mantas Mikulėnas 2018-03-13 06:12:29 UTC
Created attachment 138061 [details]
run 2: libinput debug-events --verbose (1.10.2 bad)
Comment 11 Mantas Mikulėnas 2018-03-13 06:12:42 UTC
Created attachment 138062 [details]
run 2: libinput debug-events --verbose (1.10.1 good)
Comment 12 Peter Hutterer 2018-03-13 06:14:49 UTC
So it works on master now?
Comment 13 Mantas Mikulėnas 2018-03-13 12:49:39 UTC
(In reply to Peter Hutterer from comment #12)
> So it works on master now?

Yes, master has no scrolling problems.
Comment 14 Peter Hutterer 2018-03-13 21:35:24 UTC
ok, thanks for testing. closing as fixed with d8db6b5927f6 based comment 8, that fix will land in 1.10.3 as well.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.