Summary: | Pointer wobbles on absolute touchscreen | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | kwontaeyoung <xoduddk123> | ||||||||||||
Component: | Input/evdev | Assignee: | Peter Hutterer <peter.hutterer> | ||||||||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||||||
Severity: | normal | ||||||||||||||
Priority: | medium | CC: | peter.hutterer, xoduddk123 | ||||||||||||
Version: | unspecified | ||||||||||||||
Hardware: | ARM | ||||||||||||||
OS: | Linux (All) | ||||||||||||||
Whiteboard: | |||||||||||||||
i915 platform: | i915 features: | ||||||||||||||
Attachments: |
|
Description
kwontaeyoung
2016-04-13 10:48:41 UTC
I'll need you to run sudo evemu-record against your device and attach the output here. This should tell us the type of device you have and the extent of the wobbles. Just a short recording with a single touch, held for a couple of seconds is enough. see http://www.freedesktop.org/wiki/Evemu Created attachment 122905 [details] my touchscreen evemu-record log evemu has compiled a version of Ubuntu below. https://launchpad.net/evemu (evemu-1.0.10) It has compiled a evemu. Attach the evemu-record log. (evemu-record /dev/input/event0 > mytouch.desc) Thank you. ouch, that is one old version of evemu, what version of ubuntu is this? in that case I'll also need the output of evemu-describe for the same device, or ideally grab evemu from git so I don't need to convert the recordings: https://cgit.freedesktop.org/evemu/ Created attachment 122908 [details]
evemu(git_version) compile failed.... sorry.. i'll try continue
Initially, I compiled with the git version.
But I failed to compile. (evemu(git_version)_compile_fail_T_T.txt)
I'll continue to try to compile git version.
evemu version of ubuntu to attach a log of evemu-describe.(evemu-describe_log.txt)
I'm really sorry. I'll keep trying to compile the latest version of evemu.
Created attachment 122909 [details]
evemu-describe log
Created attachment 122911 [details]
evemu-record(evemu-2.3.1) log
I fail to compile the evemu-2.4.0.
But evemu-2.3.1 version was successfully compiled.
Attach a log of evemu-record (evemu-2.3.1). (More information itneyo been recorded.)
Thank youn.
Comment on attachment 122893 [details] Send and receive mail with . >Re: X11 touch the value of the shivers. >16-04-13 (¼ö) 07:25 >º¸³½»ç¶÷ >: Peter Hutterer<peter.hutterer@who-t.net> ¹Þ´Â»ç¶÷ >: ±ÇÅ¿µ<xoduddk123@naver.com> >ÂüÁ¶ >: <xorg@freedesktop.org> >On Tue, Apr 12, 2016 at 11:28:48AM +0900, ±ÇÅ¿µ wrote: >> >> Good morning. >> >> I have a problem in using the X11. >> >> I am used to cross-compile all the X11-related packages . >> >> I use the touch screen. >> >> But it touches the touch-screen cursor is unstable. >> But they tried to try to adjust the settings have not found the relevant settings. >> >> Below is a video of my symptoms . ( I posted directly to YouTube. ) >> https://youtu.be/jMub9-T_wEA > >short answer: there is currently no option you can set in evdev (or >libinput, for that matter) that fixes this issue. you'll need something like >a hysteresis but that's only available for touchpads at the moment. 123 > >Please file a bug against evdev and libinput for this and assign them to me. > >Cheers, > Peter > >> Below is the package version and configuration files that I use. >> xorg-server : xorg-server-1.17.3 >> x-input-driver : xf86-input-evdev-2.10.0 >> Below are the details of my settings.(/etc/X11/xorg.conf.d/99-calibration.conf) >> Section "InputClass" >> Identifier "calibration" >> MatchProduct "my Touchscreen" >> Option "Calibration" "166 3939 186 3814" >> Option "SwapAxes" "1" >> Option "InvertX" "on" >> Option "InvertY" "on" >> EndSection >> >> I looked up the relevant article in the stackoverflow question. (http://unix.stackexchange.com/questions/275867/x11-touch-the-value-of-the-shivers-is-there-any-way) >> >> >> >> What can I do to solve this phenomenon? >> >> The inexperienced English 'm sorry :) fwiw, this is addressed now in libinput with the commit below commit fcc9a2bf187ee0e7aacf6f2f2d691337f4d471a6 Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Thu Apr 14 15:21:50 2016 +1000 evdev: always defuzz absolute touchscreens No ETA on a patch for evdev yet, sorry. I was just looking at here. I knew the report today. :) I apply the patch. (/usr/lib/xorg/modules/input/libinput_drv.so) But still unstable. List compiled by installing 1. libinput 2. xf86-input-libinput root@test:/usr/lib/xorg/modules/input# ldd libinput_drv.so libinput.so.10 => /usr/lib/libinput.so.10 (0xb6f54000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6e72000) libmtdev.so.1 => /usr/lib/libmtdev.so.1 (0xb6e67000) libudev.so.0 => /lib/libudev.so.0 (0xb6e57000) libevdev.so.2 => /usr/lib/libevdev.so.2 (0xb6e41000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6e32000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6dc8000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6da7000) /lib/ld-linux-armhf.so.3 (0xb6f87000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6d8c000) root@test:/usr/lib/xorg/modules/input# Below are the details of my settings.(/etc/X11/xorg.conf.d/99-calibration.conf) Section "InputClass" Identifier "calibration" Driver "libinput" MatchDevicePath "/dev/input/event0" #MatchProduct "adsemi_tsdxx Touchscreen" Option "MinX" "2147" Option "MaxX" "62789" Option "MinY" "2746" Option "MaxY" "61412" Option "SwapXY" "1" # unless it was already set to 1 EndSection Below is my /var/log/Xorg.0.log. [ 318.909] (II) config/udev: Adding input device adsemi_tsdxx Touchscreen (/dev/input/event0) [ 318.909] (**) adsemi_tsdxx Touchscreen: Applying InputClass "calibration" [ 318.909] (II) LoadModule: "libinput" [ 318.909] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so [ 318.912] (II) Module libinput: vendor="X.Org Foundation" [ 318.912] compiled for 1.17.3, module version = 0.6.0 [ 318.912] Module class: X.Org XInput Driver [ 318.912] ABI class: X.Org XInput driver, version 21.0 [ 318.912] (II) Using input driver 'libinput' for 'adsemi_tsdxx Touchscreen' [ 318.912] Option "_source" "server/udev" [ 318.912] Option "name" "adsemi_tsdxx Touchscreen" [ 318.912] Option "path" "/dev/input/event0" [ 318.912] Option "device" "/dev/input/event0" [ 318.912] Option "major" "13" [ 318.912] Option "minor" "64" [ 318.912] Option "config_info" "udev:/sys/devices/virtual/input/input0/event0" [ 318.912] Option "MinX" "2147" [ 318.912] Option "MaxX" "62789" [ 318.912] Option "MinY" "2746" [ 318.912] Option "MaxY" "61412" [ 318.912] Option "SwapXY" "1" [ 318.913] Option "driver" "libinput" [ 318.913] (**) adsemi_tsdxx Touchscreen: always reports core events [ 318.913] (**) Option "Device" "/dev/input/event0" [ 318.914] (II) input device 'adsemi_tsdxx Touchscreen', /dev/input/event0 is tagged by udev as: Touchscreen [ 318.915] (II) input device 'adsemi_tsdxx Touchscreen', /dev/input/event0 is a touch device [ 318.970] (**) Option "config_info" "udev:/sys/devices/virtual/input/input0/event0" [ 318.970] (II) XINPUT: Adding extended input device "adsemi_tsdxx Touchscreen" (type: TOUCHSCREEN, id 6) [ 318.971] (**) Option "AccelerationScheme" "none" [ 318.971] (**) adsemi_tsdxx Touchscreen: (accel) selected scheme none/0 [ 318.972] (**) adsemi_tsdxx Touchscreen: (accel) acceleration factor: 2.000 [ 318.972] (**) adsemi_tsdxx Touchscreen: (accel) acceleration threshold: 4 [ 318.973] (II) input device 'adsemi_tsdxx Touchscreen', /dev/input/event0 is tagged by udev as: Touchscreen [ 318.973] (II) input device 'adsemi_tsdxx Touchscreen', /dev/input/event0 is a touch device [ 318.974] (II) config/udev: Adding input device adsemi_tsdxx Touchscreen (/dev/input/mouse0) [ 318.974] (II) No input driver specified, ignoring this device. [ 318.974] (II) This device may have been added with another device file. I xf86-input-evdev instead xf86-input-libinput is required. I need an operation to xf86-input-evdev available options such as "InvertX", "InvertY".(The touch screen is mounted upside down. :) ) evdev is going not? first: libinput doesn't have the min/max options, we rely on the lower levels to be correct. so you'd have to fix this up with a udev rule, similar to https://github.com/systemd/systemd/blob/master/hwdb/60-evdev.hwdb same with the swapxy or invertx/y, afaiu the kernel drivers have options exposed to fix this in the kernel already. For this patch to take effect, you'll need the fuzz value set on the kernel device. Either through the kernel driver directly, or you can fix it up with a udev hwdb entry in the form of evdev:name:.... # see the other entries for the format here EVDEV_ABS_00=:::4 EVDEV_ABS_01=:::4 EVDEV_ABS_35=:::4 EVDEV_ABS_36=:::4 this would set a fuzz of 4 for ABS_X, Y, MT_POSITION_X and Y. See the 60-evdev.hwdb file for detailed docs. That fuzz is then used to stop the pointer wobbling. Thank you Through input_set_abs_params () function from the input driver gave the Kernel set the fuzz value. I have set the fuzz value to 10 . example) input_set_abs_params (input_dev, ABS_X, 0, MAX_12BIT, 10, 0); After a shaky touch symptoms disappeared. Thank you. |
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.