Summary: | Lenovo P50 - Slow fine touchpad movement makes it jump | ||
---|---|---|---|
Product: | Wayland | Reporter: | Krasi <krasi.root> |
Component: | libinput | Assignee: | Wayland bug list <wayland-bugs> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | medium | CC: | lucian+freedesktop, peter.hutterer, tim |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | other | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
logs
Evemu recording of fine movement with jumps nonrelevant email garbage move.evemu analysis of attachment 138178 analysis of attachment 138176 0001-udev-add-the-P50-to-the-T450-jumping-motion-quirks.patch move.evemu email garbage dmesg_journalctl evemu recording, a good example near the end |
Description
Krasi
2018-02-09 11:07:08 UTC
bump Almost certainly a dupe of Bug 98839. See if the next version of Libinput fixes it for you. If it does, that was it. If it doesn't, then please re-open the bug. Thanks! *** This bug has been marked as a duplicate of bug 98839 *** with 1.10 it is most certainly better, but the issue is still there. after using it for a week now I can say this it behaves a bit differently but certainly it is not better than 1.9 , small objects and text are very difficult to select and click. do you need anymore info to find the culprit? bump there's no need to bump bugs, I look at the list of open libinput bugs and unless they're closed, they're not going away. Whether I find time to work on any specific bug is a completely different question though :( ok noted. Just don't want it to get buried down the list. FWIW I also see this exact issue on a thinkpad t440p. I'm running libinput 1.10.1 under Arch with a 4.15.7 kernel. Please try libinput master 49a8bd3ca76d11b1ec or later, thanks. Hi, I've just built and installed libinput MASTER HEAD (your build instructions are great, BTW, thanks for that. Perhaps worth noting that I had to install doxygen, check and valgrind as well to get the meson build to run) Fine pointer motion is still rather jerky, I'm afraid. It's hard to be sure, but I think there might be a slight improvement, but it's still not smooth enough to be usable for fine work in e.g. GIMP or Inkscape. I'm going to try reverting back to 1.10.2 to see if I can discern any difference. Let me know if you want me to submit some logs as well. So I've switched back and forth between HEAD and 1.10.2 and if there's a difference in the fine pointer movement, it's very slight. They're both jumpy when you move really slowly across the touchpad. I forgot to mention: git master requires a reboot because it changes udev rules for each device *and* it changes the kernel device. So basically, you'd have to reboot every time after switching. But if the jumps happen only at the slowest speeds, it's unlikely to be that issue. I'll need an evemu-record of one these movements please, thanks. Yeah, I rebooted after each change to be sure. I'll try and sort out an evemu-record this evening. Thanks for all your work on this! Created attachment 138176 [details]
Evemu recording of fine movement with jumps
Sorry for the delay, here's a brief evemu recording of me moving the cursor very slowly using the touchpad on my Thinkpad T440p. Hopefully this will provide some enlightenment. Let me know if there's anything else you need me to provide.
Created attachment 138177 [details] nonrelevant email garbage I can also provide a recording if needed. just let me know the command I need to run. Krasi Georgiev On Mar 18 2018, at 1:00 pm, bugzilla-daemon@freedesktop.org wrote: > > > > Comment # 14 (https://bugs.freedesktop.org/show_bug.cgi?id=105022#c14) on bug 105022 (https://bugs.freedesktop.org/show_bug.cgi?id=105022) from L Holland (mailto:lucian+freedesktop@symposion.co.uk) > Created attachment 138176 [details] (attachment.cgi?id=138176) [details] (attachment.cgi?id=138176&action=edit) > Evemu recording of fine movement with jumps > > Sorry for the delay, here's a brief evemu recording of me moving the cursor > very slowly using the touchpad on my Thinkpad T440p. Hopefully this will > provide some enlightenment. Let me know if there's anything else you need me to > provide. > You are receiving this mail because: > You reported the bug. > > > (In reply to Krasi from comment #15) > > I can also provide a recording if needed. just let me know the command I > need to run. > I don't know whether Peter needs it or not, but all the details on how to make a recording (and generally how to report bugs against libinput) are here: https://wayland.freedesktop.org/libinput/doc/latest/reporting_bugs.html Created attachment 138178 [details] move.evemu thanks , recording attached. Krasi Georgiev On Mar 18 2018, at 1:08 pm, bugzilla-daemon@freedesktop.org wrote: > > > > Comment # 16 (https://bugs.freedesktop.org/show_bug.cgi?id=105022#c16) on bug 105022 (https://bugs.freedesktop.org/show_bug.cgi?id=105022) from L Holland (mailto:lucian+freedesktop@symposion.co.uk) > (In reply to Krasi from comment #15 (show_bug.cgi?id=105022#c15)) > > > > I can also provide a recording if needed. just let me know the command I > > need to run. > > > I don't know whether Peter needs it or not, but all the details on how to make > a recording (and generally how to report bugs against libinput) are here: > https://wayland.freedesktop.org/libinput/doc/latest/reporting_bugs.html > You are receiving this mail because: > You reported the bug. > > > Created attachment 138188 [details] analysis of attachment 138178 [details] Analysis of attachment 138178 [details], printing the deltas from event to event. you can clearly see the long stints of no updated motion data, then suddenly there's a massive jump. This is garbage data coming from the kernel (well, the device). Created attachment 138189 [details] analysis of attachment 138176 [details] Analysis of attachment 138176 [details], printing the delta from event to event. You can see the sections of no movement data and then the first event (sometimes more) is a large one. That's your jump right there. This is garbage data coming from the device. Created attachment 138190 [details] [review] 0001-udev-add-the-P50-to-the-T450-jumping-motion-quirks.patch This one should fix the P50, not sure what to do about the T440p yet. Created attachment 138215 [details] move.evemu Thank you big time. it still jumps occasionally , but it is much better now. sometimes it stops responding , but I guess this is because of the garbage. it is so annoying that it works perfectly fine under windows. recording attached. Krasi Georgiev On Mar 19 2018, at 7:43 am, bugzilla-daemon@freedesktop.org wrote: > > > > Comment # 20 (https://bugs.freedesktop.org/show_bug.cgi?id=105022#c20) on bug 105022 (https://bugs.freedesktop.org/show_bug.cgi?id=105022) from Peter Hutterer (mailto:peter.hutterer@who-t.net) > Created attachment 138190 [details] [review] (attachment.cgi?id=138190) [details] (attachment.cgi?id=138190&action=edit) [review] (page.cgi?id=splinter.html&bug=105022&attachment=138190) > 0001-udev-add-the-P50-to-the-T450-jumping-motion-quirks.patch > > This one should fix the P50, not sure what to do about the T440p yet. > You are receiving this mail because: > You reported the bug. > > > Again, please trim your email replies, just hitting reply makes bugzilla noisy. I wonder if that one can work with RMI4. Anything in the dmesg suggesting that you can switch? Try this as root: echo 1 > /sys/module/psmouse/parameters/synaptics_intertouch && \ echo -n rescan > /sys/bus/serio/devices/serio1/drvctl should bring up a new touchpad device that works with the new bus that Windows has been using for years and is more reliable than the PS2 emulation. Created attachment 138218 [details]
email garbage
I run your command but didn't see any change in the behaviour. restarted just in case.
dmesg | grep RMI4 , shows no results.
libinput list-devices
Device: Power Button
Kernel: /dev/input/event2
Group: 1
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Video Bus
Kernel: /dev/input/event6
Group: 2
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Video Bus
Kernel: /dev/input/event5
Group: 2
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Lid Switch
Kernel: /dev/input/event0
Group: 3
Seat: seat0, default
Capabilities: switch
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Sleep Button
Kernel: /dev/input/event1
Group: 4
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Integrated Camera: Integrated C
Kernel: /dev/input/event9
Group: 5
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: HDA Intel PCH Mic
Kernel: /dev/input/event10
Group: 6
Seat: seat0, default
Capabilities:
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: HDA Intel PCH Headphone
Kernel: /dev/input/event11
Group: 6
Seat: seat0, default
Capabilities:
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: AT Translated Set 2 keyboard
Kernel: /dev/input/event3
Group: 7
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: SynPS/2 Synaptics TouchPad
Kernel: /dev/input/event4
Group: 8
Seat: seat0, default
Size: 100x55mm
Capabilities: pointer gesture
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: none
Disable-w-typing: enabled
Accel profiles: none
Rotation: n/a
Device: TPPS/2 IBM TrackPoint
Kernel: /dev/input/event7
Group: 9
Seat: seat0, default
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *button
Click methods: none
Disable-w-typing: n/a
Accel profiles: flat *adaptive
Rotation: n/a
Device: ThinkPad Extra Buttons
Kernel: /dev/input/event8
Group: 10
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Krasi Georgiev
anything in the journal/dmesg when you run it? commit ab55302ef88c3827ecc32f3dd3dc58ca7ebfb7a9 Author: Peter Hutterer <> Date: Mon Mar 19 15:39:22 2018 +1000 udev: add the P50 to the T450 jumping motion quirks L Holland: can you please create a new bug for the T440p, whatever we need for that is different than what we have here. Thanks. Closing, L Holland filed bug 105640 for the t440 so I think we're done here the mouse still jumps occasionally, not as bad as before, but the issue is still there. I tried your other suggestion for the RMI4 , but didn't make any difference is there any other way to force it so I can see if it behaves better? right, I forgot. can you attach your dmesg please?
> restarted just in case.
That would've undone the commandline and reset to the default, so the libinput list-devices output is the same as if you hadn't run the command at all. Any messages in the journal in response to that command would be useful
dmesg logs [73377.193428] psmouse serio1: synaptics: queried max coordinates: x [..5676], y [..4754] [73377.224428] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1100..] [73377.224433] psmouse serio1: synaptics: Trying to set up SMBus access [73377.227100] psmouse serio1: synaptics: SMbus companion is not ready yet [73377.286718] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2b1, caps: 0xf402a3/0x940300/0x2e800/0x0, board id: 3149, fw id: 2022239 [73377.286726] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0 [73377.324326] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input33 [73377.955579] psmouse serio5: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3 [73378.149648] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/serio5/input/input34 journalctl logs -- Logs begin at Sun 2018-02-11 19:18:27 EET. -- Mar 22 09:58:10 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) config/udev: removing device TPPS/2 IBM TrackPoint Mar 22 09:58:10 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) Option "fd" "163" Mar 22 09:58:10 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event7 - TPPS/2 IBM TrackPoint: device removed Mar 22 09:58:10 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) UnloadModule: "libinput" Mar 22 09:58:10 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) systemd-logind: releasing fd for 13:71 Mar 22 09:58:10 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) config/udev: removing device SynPS/2 Synaptics TouchPad Mar 22 09:58:10 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) Option "fd" "152" Mar 22 09:58:10 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event4 - SynPS/2 Synaptics TouchPad: device removed Mar 22 09:58:10 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) UnloadModule: "libinput" Mar 22 09:58:10 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) systemd-logind: releasing fd for 13:68 Mar 22 09:58:11 lenovo-p50 kernel: psmouse serio1: synaptics: queried max coordinates: x [..5676], y [..4754] Mar 22 09:58:11 lenovo-p50 kernel: psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1100..] Mar 22 09:58:11 lenovo-p50 kernel: psmouse serio1: synaptics: Trying to set up SMBus access Mar 22 09:58:11 lenovo-p50 kernel: psmouse serio1: synaptics: SMbus companion is not ready yet Mar 22 09:58:11 lenovo-p50 kernel: psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2b1, caps: 0xf402a3/0x940300/0x2e800/0x0, board id: 3149, fw id: 2022239 Mar 22 09:58:11 lenovo-p50 kernel: psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0 Mar 22 09:58:11 lenovo-p50 kernel: input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input36 Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0) Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) No input driver specified, ignoring this device. Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) This device may have been added with another device file. Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0) Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) No input driver specified, ignoring this device. Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) This device may have been added with another device file. Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event4) Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall" Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall" Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad' Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event4) Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall" Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall" Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad' Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) systemd-logind: got fd for /dev/input/event4 13:68 fd 30 paused 1 Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) systemd-logind: releasing fd for 13:68 Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) systemd-logind: got fd for /dev/input/event4 13:68 fd 152 paused 0 Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) SynPS/2 Synaptics TouchPad: always reports core events Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) Option "Device" "/dev/input/event4" Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) Option "_source" "server/udev" Mar 22 09:58:11 lenovo-p50 dbus-daemon[1065]: [system] Rejected send message, 0 matched rules; type="error", sender=":1.11" (uid=0 pid=1145 comm="/usr/lib/systemd/systemd-logind " label="system_u:system_r:systemd_logind_t:s0") interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply="0" destination=":1.38" (uid=42 pid=1351 comm="/usr/libexec/Xorg vt1 -displayfd 3 -auth /run/user" label="system_u:system_r:xserver_t:s0-s0:c0.c1023") Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event4 - SynPS/2 Synaptics TouchPad: is tagged by udev as: Touchpad Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event4 - SynPS/2 Synaptics TouchPad: device is a touchpad Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event4 - SynPS/2 Synaptics TouchPad: device removed Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input36/event4" Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 12) Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) Option "AccelerationScheme" "none" Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) SynPS/2 Synaptics TouchPad: (accel) selected scheme none/0 Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000 Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4 Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event4 - SynPS/2 Synaptics TouchPad: is tagged by udev as: Touchpad Mar 22 09:58:11 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event4 - SynPS/2 Synaptics TouchPad: device is a touchpad Mar 22 09:58:11 lenovo-p50 dbus-daemon[1065]: [system] Rejected send message, 0 matched rules; type="error", sender=":1.11" (uid=0 pid=1145 comm="/usr/lib/systemd/systemd-logind " label="system_u:system_r:systemd_logind_t:s0") interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply="0" destination=":1.74" (uid=1000 pid=2112 comm="/usr/libexec/Xorg vt2 -displayfd 3 -auth /run/user" label="unconfined_u:unconfined_r:xserver_t:s0-s0:c0.c1023") Mar 22 09:58:11 lenovo-p50 kernel: psmouse serio6: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3 Mar 22 09:58:12 lenovo-p50 kernel: input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/serio6/input/input37 Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) config/udev: Adding input device TPPS/2 IBM TrackPoint (/dev/input/mouse1) Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) No input driver specified, ignoring this device. Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) This device may have been added with another device file. Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) config/udev: Adding input device TPPS/2 IBM TrackPoint (/dev/input/mouse1) Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) No input driver specified, ignoring this device. Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) This device may have been added with another device file. Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) config/udev: Adding input device TPPS/2 IBM TrackPoint (/dev/input/event7) Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (**) TPPS/2 IBM TrackPoint: Applying InputClass "evdev pointer catchall" Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (**) TPPS/2 IBM TrackPoint: Applying InputClass "libinput pointer catchall" Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) Using input driver 'libinput' for 'TPPS/2 IBM TrackPoint' Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) config/udev: Adding input device TPPS/2 IBM TrackPoint (/dev/input/event7) Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) TPPS/2 IBM TrackPoint: Applying InputClass "evdev pointer catchall" Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) TPPS/2 IBM TrackPoint: Applying InputClass "libinput pointer catchall" Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) Using input driver 'libinput' for 'TPPS/2 IBM TrackPoint' Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) systemd-logind: got fd for /dev/input/event7 13:71 fd 163 paused 0 Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) TPPS/2 IBM TrackPoint: always reports core events Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) Option "Device" "/dev/input/event7" Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) Option "_source" "server/udev" Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) systemd-logind: got fd for /dev/input/event7 13:71 fd 30 paused 1 Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[1345]: (II) systemd-logind: releasing fd for 13:71 Mar 22 09:58:12 lenovo-p50 dbus-daemon[1065]: [system] Rejected send message, 0 matched rules; type="error", sender=":1.11" (uid=0 pid=1145 comm="/usr/lib/systemd/systemd-logind " label="system_u:system_r:systemd_logind_t:s0") interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply="0" destination=":1.74" (uid=1000 pid=2112 comm="/usr/libexec/Xorg vt2 -displayfd 3 -auth /run/user" label="unconfined_u:unconfined_r:xserver_t:s0-s0:c0.c1023") Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event7 - TPPS/2 IBM TrackPoint: is tagged by udev as: Mouse Pointingstick Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event7 - TPPS/2 IBM TrackPoint: trackpoint device set to range 20 Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event7 - TPPS/2 IBM TrackPoint: device is a pointer Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event7 - TPPS/2 IBM TrackPoint: device removed Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/serio6/input/input37/event7" Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) XINPUT: Adding extended input device "TPPS/2 IBM TrackPoint" (type: MOUSE, id 13) Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) Option "AccelerationScheme" "none" Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) TPPS/2 IBM TrackPoint: (accel) selected scheme none/0 Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) TPPS/2 IBM TrackPoint: (accel) acceleration factor: 2.000 Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (**) TPPS/2 IBM TrackPoint: (accel) acceleration threshold: 4 Mar 22 09:58:12 lenovo-p50 dbus-daemon[1065]: [system] Rejected send message, 0 matched rules; type="error", sender=":1.11" (uid=0 pid=1145 comm="/usr/lib/systemd/systemd-logind " label="system_u:system_r:systemd_logind_t:s0") interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply="0" destination=":1.38" (uid=42 pid=1351 comm="/usr/libexec/Xorg vt1 -displayfd 3 -auth /run/user" label="system_u:system_r:xserver_t:s0-s0:c0.c1023") Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event7 - TPPS/2 IBM TrackPoint: is tagged by udev as: Mouse Pointingstick Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event7 - TPPS/2 IBM TrackPoint: trackpoint device set to range 20 Mar 22 09:58:12 lenovo-p50 /usr/libexec/gdm-x-session[2110]: (II) event7 - TPPS/2 IBM TrackPoint: device is a pointer krasi, this is unreadable and just noise now. please *attach* your dmesg Created attachment 138303 [details]
dmesg_journalctl
is the attachment ok? just to confirm that the mouse still jumps. Less often, but the issue is still there. I can make another recording if needed. Sadly, I agree. The mouse still jumps. Actually, I don't notice any difference. This is a build today from git master, and a reboot too. Windows has a very different acceleration profile, it is a very negative acceleration factor at slow movements. If I use -0.9 for Accel Speed, I get the touchpad accuracy needed to make using it a confident experience, but then it's very slow. Windows ramps up acceleration much faster. After the recent improvements to libinput, I'm using Accel Speed 0. Created attachment 138510 [details]
evemu recording, a good example near the end
dmesg | grep TouchPad [ 4.073295] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input5 [ 3513.640310] input: SynPS/2 Synaptics TouchPad as /devices/virtual/input/input13 tim@raffles:~$ btw after this patch the scrolling becomes really slow so I reverted it. this patch should have no effect on scrolling behaviour, unless the scroll motion is very slow. Do you see this only on slow scrolling or on all scroll movements? Tim: from your attachment: E: 27.760187 0003 0035 3727 # EV_ABS / ABS_MT_POSITION_X 3727 then, 2s later the next X axis update at: E: 29.537905 0003 0035 3622 # EV_ABS / ABS_MT_POSITION_X 3622 At a resolution of 44 units per mm this is a >2mm jump in input coordinates. The patch from comment 25 should have taken care of it though, provided it was active (make sure you run udevadm hwdb --update after installing it and rebooting). It affected all scrolling. After reverting the patch it all went back to normal. Peter, thanks for your code. It's very easy to build, very easy to understand. I made this change, but it makes no difference diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 99cbcc56..6e75322d 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -1411,7 +1411,7 @@ tp_need_motion_history_reset(struct tp_dispatch *tp) */ if (tp->device->model_flags & EVDEV_MODEL_LENOVO_T450_TOUCHPAD) { if (tp->queued & TOUCHPAD_EVENT_MOTION) { - if (tp->quirks.nonmotion_event_count > 10) { + if (tp->quirks.nonmotion_event_count > 0) { tp->queued &= ~TOUCHPAD_EVENT_MOTION; rc = true; } That large jump in cursor movement is really a problem. It is not ignored, even by the code above (which was applied when I took that recording, and I both updated and rebooted). It is treated as a rapid movement and accelerated. The only way I can get a good touchpad experience is an acceleration factor < -0.7 I plan to understand the acceleration logic and change it somehow, so that there must be a certain number of events before acceleration is applied, similar to the idea in the code above. Krasi:
I've reverted the patch upstream, (commit e8cb7e4) Unsure how it can affect scrolling but at this point I'm so out of time for everything that I'll need your/someone's help debugging this any further, sorry.
Tim:
can we move this to a separate bug please? This one is too noisy to still figure out what's going on. As a general tip - when you're working on libinput, put printfs in everywhere and run either sudo ./build/libinput-debug-events (commandline) or sudo ./build/libinput-debug-gui (a GUI). No need to install and restart X just for basic testing.
If even the above makes no difference, it's likely that the model flag is never applied, put a printf in for that in evdev.c.
> I plan to understand the acceleration logic and change it somehow, so that
> there must be a certain number of events before acceleration is applied,
> similar to the idea in the code above.
That's an interesting idea. We previously had code that we required N events for the pointer to start moving, but that didn't work well, too laggy. But not having acceleration for the first N events could work (N <=2, I suspect...)
Krasi: As tim said in bug 105963: "I confirm that I have no adverse side effects from the P50 rule". Please re-test with the patch and make sure that it does affect scrolling, and if it does please attach an evemu-recording of a scroll event that is affected negatively. Otherwise, I'll revert the revert and push the previous fix out again. I installed again and can't replicate, but will monitor the next few days and will let you know if it happens again. It might be something related to my attempt to enable RMI4 which were reverted after the restart. This patch eliminates 80% of the jumps, but doesn't make it easier to adjust to small objects. Windows border grabbing for resizing and text selection is the hardest. Sometimes needing meditation to calm down after 20 attempts to grab a window border :) What happens now is that on small movements the mouse stops moving all together and than if I continue moving my finger it will starts moving slowly after a while, but it is unpredictable when it will start this slow motion so essentially this makes it kind if difficult to predict and selecting or adjusting to small objects is still hard. I would like to try your RMI4 suggestion if you have any other pointers how to enable. > This patch eliminates 80% of the jumps, but doesn't make it easier to adjust to small objects.
Let's not mix issues because it gets too hard to track, this bug is already quite noisy. Let's fix the jumps first, then you can file a new bug for the movement-related issues.
Also note: we cannot fix everything in libinput because the device itself is giving us garbage. We can detect and work around the real jumps, but if the touchpad is only giving us a position update every 20 events, we cannot do much.
Your best option may actually be to lower the touchpad speed. This forces you to move the finger faster for everything, thus making it less likely that you get exposed to this particular bug.
You can try adding psmouse.synaptics_intertouch=1 to your kernel commandline at boot, maybe that gets around the "companion not ready yet" issue. But I doubt it, maybe your device just won't like RMI4.
re-pushed the patch as commit 0dccaa8a424022b7a4ed6b7022dd849e8d813225 Author: Peter Hutterer <> Date: Mon Mar 19 15:39:22 2018 +1000 udev: add the P50 to the T450 jumping motion quirks I'm considering this fixed for now because it removes the majority of jumps. For any other remaining issues, please file a separate bug because this one is getting too noisy |
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.