Bug 101673 - kernel: Touchpad cursor jumps (libinput 1.6.3) Dell Inspiron 13 7347
Summary: kernel: Touchpad cursor jumps (libinput 1.6.3) Dell Inspiron 13 7347
Status: RESOLVED WONTFIX
Alias: None
Product: Wayland
Classification: Unclassified
Component: libinput (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Benjamin Tissoires
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-02 19:19 UTC by Tania T.
Modified: 2018-01-09 04:13 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
evemu-record (1.98 MB, text/plain)
2017-07-02 19:19 UTC, Tania T.
Details
Short evenmu record (8.23 KB, text/plain)
2017-07-10 17:54 UTC, Tania T.
Details
Touchpad recording (49.38 KB, text/plain)
2017-09-12 07:42 UTC, Tania T.
Details

Description Tania T. 2017-07-02 19:19:59 UTC
Created attachment 132399 [details]
evemu-record

In Debian 9, the cursor jumps when the touchpad is touched. Also, in syslog:
/usr/lib/gdm3/gdm-x-session[1073]: (EE) kernel bug: Touch jump detected and discarded.

- modalias:
dmi:bvnDellInc.:bvrA00:bd06/30/2014:svnDellInc.:pnInspiron7347:pvr00h:rvnDellInc.:rn0N9T2G:rvrA00:cvnDellInc.:ct8:cvrA00:

- and udevadm info
P: /devices/pci0000:00/INT33C3:00/i2c-0/i2c-DLL0674:00/0018:06CB:75DB.0001/input/input9/event7
N: input/event7
S: input/by-path/platform-INT33C3:00-event-mouse
E: DEVLINKS=/dev/input/by-path/platform-INT33C3:00-event-mouse
E: DEVNAME=/dev/input/event7
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-0/i2c-DLL0674:00/0018:06CB:75DB.0001/input/input9/event7
E: ID_INPUT=1
E: ID_INPUT_HEIGHT_MM=62
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_WIDTH_MM=102
E: ID_PATH=platform-INT33C3:00
E: ID_PATH_TAG=platform-INT33C3_00
E: ID_SERIAL=noserial
E: LIBINPUT_DEVICE_GROUP=18/6cb/75db/100:i2c-DLL0674:00
E: LIBINPUT_MODEL_TOUCHPAD_VISIBLE_MARKER=1
E: MAJOR=13
E: MINOR=71
E: SUBSYSTEM=input
E: USEC_INITIALIZED=3874955
Comment 1 Peter Hutterer 2017-07-10 02:04:42 UTC
can you provide me with a shorter event recording please so I can quickly reproduce this here? Thanks
Comment 2 Tania T. 2017-07-10 17:54:51 UTC
Created attachment 132594 [details]
Short evenmu record

There you go. This one's considerably shorter. The jumps don't occur in a reliable frequency, but one is captured in the record.
Comment 3 Peter Hutterer 2017-07-11 02:12:20 UTC
ok, there's one jump in there, shortly after the touch down.

initial x coordinate is 421 but in the third report it jumps to 556 and continues normally from there. At the device's resolution of 12 that's a jump of ~11mm and below the 20mm threshold we use to detect this. So this one would trigger an actual jump, not just the error message.

This is garbage data from the kernel, to fix this we'd need some workaround. Interestingly, the events that trigger the jump are less than 1ms apart. That could be something that's detectable. is this a common pattern for these jumps?
Comment 4 Tania T. 2017-07-11 19:45:56 UTC
The jumps usually occur the moment I touch the pad to move the cursor, and less often on a change of direction. My ridiculously long initial record contains 13 times "+0ms", all of which – if I'm reading it correctly – are related to a jump. Other than that, I haven't observed any pattern. What should I look for?
Comment 5 Benjamin Tissoires 2017-07-12 05:20:48 UTC
It seems that the touchpad is using hid-multitouch, and I am not so sure I can do something in the kernel.

Ideally, could you happen a (short) hid-recorder[1] log of the touchpad when the bug happens? There might be flags in the raw report that tells us to delay the creation of the touch, but I do not have high hopes.

[1] project hid-replay: http://bentiss.github.io/hid-replay-docs/
Comment 6 Tania T. 2017-07-14 06:37:16 UTC
To be honest, I'm not very keen on running hid-replay. It seems it can mess up a system...
Comment 7 Peter Hutterer 2017-07-14 23:45:27 UTC
We only need a recording of the device and that is harmless. You don't have to replay it (only replaying can cause a kernel crash).
Comment 8 Peter Hutterer 2017-08-28 04:53:57 UTC
ping?
Comment 9 Tania T. 2017-09-06 06:47:27 UTC
Sorry for the ridiculously late reply. 
Lately – that is, sometime after I reported the bug – the jumps more or less stopped. I'm not sure when exactly that happened, but I guess one of the Debian updates took care of it. 

Thank you anyway!
Comment 10 Tania T. 2017-09-10 13:46:40 UTC
OK, it started jumping again, but of course I couldn't reproduce it while recording (Well kind of, but the record's 3k lines long). As soon as I get a better (shorter!) one, I'll be back.
Comment 11 Tania T. 2017-09-12 07:42:11 UTC
Created attachment 134174 [details]
Touchpad recording

Caught it! (see attachment)
Comment 12 Peter Hutterer 2017-11-30 04:57:16 UTC
Any updates here? Benjamin? Tania? A newer kernel maybe?
Comment 13 Tania T. 2017-12-05 21:47:56 UTC
No progress on my side. New kernel indeed, but it didn't fix the jumps.
Comment 14 Benjamin Tissoires 2017-12-08 08:26:45 UTC
Sorry for the delay.

As far as I can tell, there is a jump at around 14.0 secs in the recording:

 14.011988 ReportID: 3 / Confidence: 1 | Tip Switch: 1 | Contact Id:  0 | # | X:    535 | Y:    479 | ... | Scan Time:  50257 | Contact Count:    1 | B1: 0 | # 
 14.012814 ReportID: 3 / Confidence: 1 | Tip Switch: 1 | Contact Id:  0 | # | X:    536 | Y:    475 | ... | Scan Time:  50329 | Contact Count:    1 | B1: 0 | # 
 14.021265 ReportID: 3 / Confidence: 1 | Tip Switch: 1 | Contact Id:  0 | # | X:    585 | Y:    373 | ... | Scan Time:  51985 | Contact Count:    1 | B1: 0 | # 

This transfers into libinput as:

 event4   POINTER_MOTION    +2.82s	182.08/-406.50
 event4   POINTER_MOTION    +2.82s	 12.25/-24.49
 event4   POINTER_MOTION    +2.83s	  2.84/ -4.26

TL;DR: hardware defect, there is not much we can do in the kernel.
Comment 15 Tania T. 2017-12-12 08:02:16 UTC
OK, then I guess it was a coincidence that the problem started when I installed stretch. 
Thanks for looking into it.


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.