Summary: | Cursor resolution/refresh rate decreases when a thumb is resting on the pad, especially with clickfinger behavior | ||
---|---|---|---|
Product: | Wayland | Reporter: | Nate Graham <nate> |
Component: | libinput | Assignee: | Wayland bug list <wayland-bugs> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | mcatanzaro, nate, peter.hutterer |
Version: | 1.5.0 | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
evemu recording of drawing circles with a thumb on the pad with clickfinger, showing decreased resolution
evemu recording of drawing circles with no thumb on the pad with clickfinger, showing normal resolution evemu recording of drawing circles with a thumb on the pad with areas behavior, showing slightly decreased resolution evemu recording of drawing circles with no thumb on the pad with areas behavior, showing normal resolution |
Created attachment 128737 [details]
evemu recording of drawing circles with no thumb on the pad with clickfinger, showing normal resolution
Created attachment 128738 [details]
evemu recording of drawing circles with a thumb on the pad with areas behavior, showing slightly decreased resolution
Created attachment 128739 [details]
evemu recording of drawing circles with no thumb on the pad with areas behavior, showing normal resolution
that's an artefact of PS/2, you'll notice that the framerate (and usually resolution) goes down whenever there are multiple fingers on the pad. Do you see the same happen with RMI4? If not, then we're "good", this is unfortunately a cantfix for PS/2 How can I definitively tell whether it's using PS/2 or RMI4? I do see this: $ xinput | grep -i TouchPad ⎜ ↳ SynPS/2 Synaptics TouchPad id=14 [slave pointer (2)] ..Which suggests PS/2. But I'm using a 4.10 series Kernel. Is there anything special that needs to be done to enable RMI4 mode/code/whatever? Check the PRODUCT field in udevadm info /sys/class/input/eventX or the ID line in the evemu-record output. The first field is the hex code for the bus type, linux/input.h has the varous BUS_* defines. 0x11 is serial, 0x1d is RMI, 0x18 is i2c. If it's neither of those, we have a problem ;) evemu-record info: N: SynPS/2 Synaptics TouchPad I: 0011 0002 0007 01b1 $ udevadm info /sys/class/input/event4 | grep -i synap E: LIBINPUT_MODEL_SYNAPTICS_SERIAL_TOUCHPAD=1 So looks like PS/2. Why isn't it using RMI4 slash do I need to explicitly force it to do so? I don't have /sys/module/psmouse/parameters/synaptics_intertouch, and can't create it: $ ls /sys/module/psmouse/parameters/ proto rate resetafter resolution resync_time smartscroll # echo 1 > /sys/module/psmouse/parameters/synaptics_intertouch bash: /sys/module/psmouse/parameters/synaptics_intertouch: Permission denied However, am I reading correctly in that other bug that not all of the necessary RMI4 work got merged into 4.10? yeah, there are still a few bits missing, you'll have to grab benjamin's kernel to get everything working. the 4.10 kernel is missing the intertouch parameters, etc. I just tested this on my T450p with a RMI4-enabled kernel and the problem does go away. The refresh rate on ps/2 with two fingers down is ca 20ms (as opposed to the usual ca 10ms. On rmi4, even with three fingers down it stays at ca 10ms. I'm closing this bug because it's not something we could fix in libinput anyway and the upstream kernel will eventually take care of this. Awesome, thanks! Okay, so I'm running Kernel 4.11 in openSUSE Tumbleweed now. `xinput` still says my touchpad is using PS/2. What's needed to get the touchpad to use the RMI4 protocol? Is this enabled in any extant kernel version? Is it planned for one? How would I go about finding this information for myself? There was a bit of a setback with 4.11, I think 4.12 is the new goal. Also note that you may see a ps2 touchpad *in addition* to the RMI4 touchpad but that one won't send events. just check with evemu-record if it sends events, if not, then you're on RMI4 already. Thanks Peter. Is there anywhere I find this information for myself so I don't have to bug you and clutter up closed bugzilla tickets asking? OK, so I am now running libinput from git master and I have the 4.13.0 kernel, but there is still no improvement here. xinput still shows "SynPS/2 Synaptics TouchPad" How do I turn on RMI4 mode? Looks like my touchpad hardware is PS/2 only. :( yeah, if that sysfs file never shows up, then there isn't much we can do, sorry |
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.
Created attachment 128736 [details] evemu recording of drawing circles with a thumb on the pad with clickfinger, showing decreased resolution Hardware: HP Spectre x360 with a Synaptics clickpad Software: Fedora 25 + GNOME 3.22 + libinput built from git master as of today My touchpad's apparent resolution seems to be reduced when a thumb is rested on the touchpad. When I draw small circles on the pad with only my pointer finger, the refresh rate appears high, and the pointer seems to be moving at like 60 hz, or as fast as the screen can re-draw it. When I do the same with a thumb on the bottom of the pad, the apparent refresh rate slows down to something looking more like 20 hz. This is extremely noticeable with the "clickfinger" behavior. Less so with "areas', but still observable if you're looking for it. If this is dependent on RMI4 in Kernel 4.10, I have that on my machine and 4.10 is just around the corner, with 4.10-rc2 already out in the wild.