I'll try my best to describe this bug. You can see in the below logs that event 15, which is tied to Touchscreen input, is reporting multiple events. But while these events were generated, I was not using my touchscreen. Initially, I thought this to be a dying hardware problem (even though my machine is fairly recent), but then, I have had similar spurious events on another machine which doesn't even have a touchscreen. I think there's some bug in libinput generic code, generating spurious events. I am afraid at this time I do not have clear steps to reproduce, but I was able to witness this bug on both my machines, running on Debian with libinput 1.6.3. Do you suspect this to be a problem with libinput ? The other suspect I thought was systemd-logid. But I couldn't gather enough data to prove it. Luckily, in this case, libinput-debug-events has been supportive. Is there anyway to extract more data to prove this bug ? rrs@learner:~$ uname -a Linux learner 4.10.3+ #23 SMP Wed Mar 15 21:55:55 IST 2017 x86_64 GNU/Linux 2017-03-16 / 23:13:09 ♒♒♒ ☺ rrs@learner:~$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.0 (stretch) Release: 9.0 Codename: stretch 2017-03-16 / 23:13:12 ♒♒♒ ☺ rrs@learner:~$ libinput-debug-events -event3 DEVICE_ADDED Power Button seat0 default group1 cap:k -event4 DEVICE_ADDED Video Bus seat0 default group2 cap:k -event1 DEVICE_ADDED Power Button seat0 default group3 cap:k -event15 DEVICE_ADDED ELAN Touchscreen seat0 default group4 cap:t size 290x162mm calib -event14 DEVICE_ADDED Lenovo EasyCamera seat0 default group5 cap:k -event6 DEVICE_ADDED Ideapad extra buttons seat0 default group6 cap:k -event0 DEVICE_ADDED AT Translated Set 2 keyboard seat0 default group7 cap:k -event5 DEVICE_ADDED SynPS/2 Synaptics TouchPad seat0 default group8 cap:pg size 87x58mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on -event0 KEYBOARD_KEY +3.41s *** (-1) pressed event0 KEYBOARD_KEY +3.86s *** (-1) released -event15 TOUCH_DOWN +9.46s 0 (0) 25.60/99.95 (74.38/162.46mm) event15 TOUCH_FRAME +9.46s event15 TOUCH_MOTION +9.46s 0 (0) 25.60/99.43 (74.38/161.62mm) event15 TOUCH_FRAME +9.46s event15 TOUCH_UP +9.48s event15 TOUCH_FRAME +9.48s -event0 KEYBOARD_KEY +9.71s KEY_LEFTMETA (125) pressed event0 KEYBOARD_KEY +10.14s KEY_LEFTMETA (125) released event0 KEYBOARD_KEY +10.35s *** (-1) pressed event0 KEYBOARD_KEY +10.44s *** (-1) pressed event0 KEYBOARD_KEY +10.50s *** (-1) released event0 KEYBOARD_KEY +10.59s *** (-1) released event0 KEYBOARD_KEY +11.61s KEY_LEFTMETA (125) pressed event0 KEYBOARD_KEY +11.72s KEY_LEFTMETA (125) released event0 KEYBOARD_KEY +12.48s *** (-1) pressed event0 KEYBOARD_KEY +12.55s *** (-1) pressed event0 KEYBOARD_KEY +12.60s *** (-1) released event0 KEYBOARD_KEY +12.69s *** (-1) released event0 KEYBOARD_KEY +13.17s KEY_LEFTMETA (125) pressed event0 KEYBOARD_KEY +13.26s KEY_UP (103) pressed event0 KEYBOARD_KEY +13.37s KEY_UP (103) released event0 KEYBOARD_KEY +13.38s KEY_LEFTMETA (125) released -event15 TOUCH_DOWN +15.24s 0 (0) 25.60/56.03 (74.38/91.08mm) event15 TOUCH_FRAME +15.24s event15 TOUCH_UP +15.26s event15 TOUCH_FRAME +15.26s event15 TOUCH_DOWN +17.18s 0 (0) 25.60/98.01 (74.38/159.31mm) event15 TOUCH_FRAME +17.18s event15 TOUCH_UP +17.20s event15 TOUCH_FRAME +17.20s event15 TOUCH_DOWN +22.62s 0 (0) 25.60/58.31 (74.38/94.77mm) event15 TOUCH_FRAME +22.62s event15 TOUCH_UP +22.64s event15 TOUCH_FRAME +22.64s event15 TOUCH_DOWN +23.33s 0 (0) 25.60/57.79 (74.38/93.92mm) event15 TOUCH_FRAME +23.33s event15 TOUCH_UP +23.34s event15 TOUCH_FRAME +23.34s event15 TOUCH_DOWN +24.98s 0 (0) 25.60/98.20 (74.38/159.62mm) event15 TOUCH_FRAME +24.98s event15 TOUCH_UP +25.00s event15 TOUCH_FRAME +25.00s event15 TOUCH_DOWN +25.70s 0 (0) 25.60/53.38 (74.38/86.77mm) event15 TOUCH_FRAME +25.70s event15 TOUCH_UP +25.72s event15 TOUCH_FRAME +25.72s event15 TOUCH_DOWN +27.74s 0 (0) 25.60/56.27 (74.38/91.46mm) event15 TOUCH_FRAME +27.74s event15 TOUCH_UP +27.75s event15 TOUCH_FRAME +27.75s event15 TOUCH_DOWN +30.79s 0 (0) 25.60/55.75 (74.38/90.62mm) event15 TOUCH_FRAME +30.79s event15 TOUCH_MOTION +30.79s 0 (0) 25.60/72.36 (74.38/117.62mm) event15 TOUCH_FRAME +30.79s event15 TOUCH_MOTION +30.79s 0 (0) 25.60/96.45 (74.38/156.77mm) event15 TOUCH_FRAME +30.79s event15 TOUCH_UP +30.80s event15 TOUCH_FRAME +30.80s event15 TOUCH_DOWN +35.41s 0 (0) 25.60/54.42 (74.38/88.46mm) event15 TOUCH_FRAME +35.41s event15 TOUCH_MOTION +35.42s 0 (0) 25.60/72.03 (74.38/117.08mm) event15 TOUCH_FRAME +35.42s event15 TOUCH_MOTION +35.43s 0 (0) 25.60/98.11 (74.38/159.46mm) event15 TOUCH_FRAME +35.43s event15 TOUCH_MOTION +35.44s 0 (0) 25.60/93.75 (74.38/152.38mm) event15 TOUCH_FRAME +35.44s event15 TOUCH_MOTION +35.45s 0 (0) 25.60/90.25 (74.38/146.69mm) event15 TOUCH_FRAME +35.45s event15 TOUCH_UP +35.48s event15 TOUCH_FRAME +35.48s event15 TOUCH_DOWN +43.48s 0 (0) 25.60/98.06 (74.38/159.38mm) event15 TOUCH_FRAME +43.48s event15 TOUCH_UP +43.49s event15 TOUCH_FRAME +43.49s event15 TOUCH_DOWN +43.89s 0 (0) 25.60/53.48 (74.38/86.92mm) event15 TOUCH_FRAME +43.89s event15 TOUCH_MOTION +43.90s 0 (0) 25.60/60.67 (74.38/98.62mm) event15 TOUCH_FRAME +43.90s event15 TOUCH_UP +43.91s event15 TOUCH_FRAME +43.91s event15 TOUCH_DOWN +44.71s 0 (0) 25.60/56.74 (74.38/92.23mm) event15 TOUCH_FRAME +44.71s event15 TOUCH_UP +44.72s event15 TOUCH_FRAME +44.72s event15 TOUCH_DOWN +44.91s 0 (0) 25.60/53.29 (74.38/86.62mm) event15 TOUCH_FRAME +44.91s event15 TOUCH_UP +44.92s event15 TOUCH_FRAME +44.92s -event0 KEYBOARD_KEY +45.63s *** (-1) pressed event0 KEYBOARD_KEY +45.78s *** (-1) released -event15 TOUCH_DOWN +51.69s 0 (0) 25.60/54.00 (74.38/87.77mm) event15 TOUCH_FRAME +51.69s event15 TOUCH_UP +51.71s event15 TOUCH_FRAME +51.71s event15 TOUCH_DOWN +52.10s 0 (0) 25.60/57.08 (74.38/92.77mm) event15 TOUCH_FRAME +52.10s event15 TOUCH_MOTION +52.11s 0 (0) 25.60/64.03 (74.38/104.08mm) event15 TOUCH_FRAME +52.11s event15 TOUCH_UP +52.14s event15 TOUCH_FRAME +52.14s -event0 KEYBOARD_KEY +54.02s *** (-1) pressed event0 KEYBOARD_KEY +54.88s *** (-1) released -event15 TOUCH_DOWN +55.62s 0 (0) 25.60/56.13 (74.38/91.23mm) event15 TOUCH_FRAME +55.62s event15 TOUCH_UP +55.64s event15 TOUCH_FRAME +55.64s -event0 KEYBOARD_KEY +56.19s *** (-1) pressed event0 KEYBOARD_KEY +56.45s *** (-1) pressed ^C2017-03-16 / 22:52:33 ♒♒♒ ☺
please run evemu-record against event15 and see if the events show up there. This is most likely a hardware problem, we don't generate touches in libinput and merely forward what the hardware gives us.
(In reply to Peter Hutterer from comment #1) > please run evemu-record against event15 and see if the events show up there. > This is most likely a hardware problem, we don't generate touches in > libinput and merely forward what the hardware gives us. That is what I suspected too, that it could be a hardware problem. But 2 machines showing similar symptoms got me thinking otherwise. The best will be to record evemu data on both machines when they trigger. Please let's continue to keep this open. As soon as I get the trigger, I'll try to extract the data. Thanks.
any success?
(In reply to Peter Hutterer from comment #3) > any success? No. I haven't been able to reproduce in the last week. I'm marking it closed. If I get enough data, I'll re-open this bug. Thanks.
Created attachment 130466 [details] evemu-record data for touch screen I got to capture the data, not from the xserver session itself, but over the modesetted terminal. I hope this has useful information in it.
ok, this is a bug, but definitely not with libinput. the recording has 63 seconds of events through all 10 slots but without a single x axis value. This looks like a device going crazy, I would suggest this is a hardware issue. There isn't much we can do here, the heuristics to detect this are likely to be tricky. This bugzilla doesn't have a CANTFIX, so I'm using wontfix instead. CC-ing benjamin in case he's aware of some kernel-level fix to avoid this issue.
It looks like a HW defect indeed. Just to be sure, could you attach a hid-recorder [1] output of a few touches? (doesn't matter if the bug is exposed or not I think). [1] project hid-replay http://bentiss.github.io/hid-replay-docs/
(In reply to Benjamin Tissoires from comment #7) > It looks like a HW defect indeed. Just to be sure, could you attach a > hid-recorder [1] output of a few touches? (doesn't matter if the bug is > exposed or not I think). > > [1] project hid-replay http://bentiss.github.io/hid-replay-docs/ I wouldn't conclude so quick. These are all talking over xHCI BUS, which has shown too many problems under Linux. I also have Windows 8.1 running on the spare partition, where I have not had any of these errors. I'll try to capture more data with the mentioned tool. I'm not sure when I can get back because the issue is intermittent. @Peter: I'm still hoping to capture data from the other machine, which does not have touchscreen at all. I've seen similar (if not identical) behavior there, intermittently. The only common thing among the two is that they're both Haswell family machines.
Created attachment 130482 [details] Elan Touchscreen hid data Luckily, I was able to reproduce it today itself. Please find attached the log details you asked.
Looking at the Xorg logs, I see repetitive messages for the same input device. Is this expected ? rrs@learner:~$ grep ELAN .local/share/xorg/Xorg.0.log [ 38.112] (II) config/udev: Adding input device ELAN Touchscreen (/dev/input/event15) [ 38.112] (**) ELAN Touchscreen: Applying InputClass "libinput touchscreen catchall" [ 38.112] (II) Using input driver 'libinput' for 'ELAN Touchscreen' [ 38.112] (**) ELAN Touchscreen: always reports core events [ 38.113] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 38.113] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 38.113] (II) XINPUT: Adding extended input device "ELAN Touchscreen" (type: TOUCHSCREEN, id 9) [ 38.113] (**) ELAN Touchscreen: (accel) selected scheme none/0 [ 38.113] (**) ELAN Touchscreen: (accel) acceleration factor: 2.000 [ 38.113] (**) ELAN Touchscreen: (accel) acceleration threshold: 4 [ 38.113] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 38.113] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 38.114] (II) config/udev: Adding input device ELAN Touchscreen (/dev/input/mouse1) [ 56.898] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 56.898] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 481.416] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 481.416] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 1295.273] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 1295.273] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 3401.195] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 3401.195] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 3402.748] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 3402.748] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 3427.944] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 3427.944] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 8444.825] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 8444.825] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 11666.309] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 11666.309] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 14478.226] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 14478.226] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 17175.361] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 17175.361] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 17290.441] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 17290.442] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 19715.230] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 19715.230] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 19883.063] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 19883.063] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 19974.331] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 19974.331] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 19974.546] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 19974.546] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 21107.535] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 21107.535] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device [ 23780.539] (II) SYN_DROPPED event from "ELAN Touchscreen" - some input events have been lost. [ 24215.982] (II) input device 'ELAN Touchscreen', /dev/input/event15 is tagged by udev as: Touchscreen [ 24215.982] (II) input device 'ELAN Touchscreen', /dev/input/event15 is a touch device 2017-03-27 / 17:25:13 ♒♒♒ ☺
The log clearly show a column of touches at coordinate X=967. From time to time we can see your true fingers, but the ghost line is still there. I doubt there is an issue in the USB communication but I strongly believe the FW fails at ignoring a ghost column of touches. The weird part is that you do not have the same issue with Windows. It could be interesting comparing the USB events from Windows when inserting the driver from the ones we do under Linux. But I don't have high hope on whether it will help fixing the issue.
(In reply to Benjamin Tissoires from comment #11) > The log clearly show a column of touches at coordinate X=967. From time to > time we can see your true fingers, but the ghost line is still there. I > doubt there is an issue in the USB communication but I strongly believe the > FW fails at ignoring a ghost column of touches. > > The weird part is that you do not have the same issue with Windows. It could > be interesting comparing the USB events from Windows when inserting the > driver from the ones we do under Linux. But I don't have high hope on > whether it will help fixing the issue. Thanks Benjamin. I spent the rest of the day today, running it under Windows. Eventually, after a couple of hours, I was able to reproduce it under Windows 8.1 too. That led me to check Lenovo Support Forums. https://support.lenovo.com/in/en/solutions/ht103512 http://laptopmedia.com/news/lenovos-solution-to-the-yoga-ghost-touches-problem/ https://forums.lenovo.com/t5/forums/v3_1/forumtopicpage/board-id/ll06_en/page/10/thread-id/26944 Almost the entire Yoga series seems to suffer from the problem. Lenovo stated in some of the threads that it may be a software problem. But I doubt that. Let's see... I'm going to try a couple of sw fixes, with very less hope. Thank you for your time in analyzing the logs.
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.