Touch panel / issues to calibrate

Hello.

I have a 7 inch display (1920x1200) with a touch panel (link of product).

I succeed to edit the resolution and fit the image to the whole screen. But I find difficulties to calibrate the touch panel. The Y axis is inverted, and the cursor can move only half-width and half-height of the screen. (video : behavior of touch)

For now, I succeed to install and run “DISPLAY=:0.0 xinput_calibrator”. After I got the results, I copied it to “/etc/X11/xorg.conf.d/99-calibration.conf”, reboot the RPi, but has no effects.

Here my config.txt file :

initramfs volumio.initrd
gpu_mem=32
max_usb_current=1
dtparam=audio=on
audio_pwm_mode=2
dtparam=i2c_arm=on
disable_splash=1
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=87
hdmi_drive=2
hdmi_cvt 1920 1200 60 5 0 0 0
overscan_left=-46
overscan_right=-46
overscan_top=-47
overscan_bottom=-47
force_eeprom_read=0

include userconfig.txt

#### Volumio i2s setting below: do not alter ####
dtoverlay=hifiberry-amp100


In etc/X11/xorg.conf.d/ folder, I have two files :
· 99-calibration.conf
· 95-touch_display-plugin.conf

Content of 99-calibration.conf:

Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ILITEK ILITEK-TP Mouse"
	Option	"Calibration"	"-38 7949 4600 9656"
	Option	"SwapAxes"	"0"
EndSection

Content of 95-touch_display-plugin.conf:

# This file is managed by the Touch Display plugin: Do not alter!
# It will be deleted when the Touch Display plugin gets uninstalled.
Section "InputClass"
        Identifier "Touch rotation"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        MatchDriver "libinput|evdev"
EndSection

Did you already install the “xserver-xorg-input-evdev” package? If not, run

sudo apt-get -y install xserver-xorg-input-evdev

Also execute

sudo cp /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf

1 Like

Yes, I followed your guide here : Touch Screen calibration · Issue #409 · volumio/volumio-plugins · GitHub

I executed your command and rebooted but still not working properly (like the video below)

Otherwise, I fixed the axes by adding /etc/X11/xorg.conf.d/40-libinput.conf with this content :

Section "InputClass"
	Identifier "libinput touchscreen catchall"
	MatchIsTouchscreen "on"
	Option "CalibrationMatrix" "-1 0 1 0 -1 1 0 0 1"
	MatchDevicePath "/dev/input/event*"
	Driver "libinput"
EndSection

But now my cursor is stuck on half-screen and on the left-bottom corner (video)

Results from xinput

Please post the results of

ls -al /usr/share/X11/xorg.conf.d

and

ls -al /etc/X11/xorg.conf.d

P.S. According to the specs on the vendor site the display has a resolution of 2560 x 1600 pixels. Is there a reason for using hdmi_cvt with 1920 1200?

total 18
drwxr-xr-x 2 root root 1024 Nov 19 14:22 .
drwxr-xr-x 1 root root 1024 Nov 17 11:24 ..
-rw-r--r-- 1 root root   92 Feb  7  2019 10-amdgpu.conf
-rw-r--r-- 1 root root 1099 Aug 23  2018 10-evdev.conf
-rw-r--r-- 1 root root 1350 Nov  9 15:13 10-quirks.conf
-rw-r--r-- 1 root root   92 Apr  6  2019 10-radeon.conf
-rw-r--r-- 1 root root 1429 Mar 31  2019 40-libinput.conf
-rw-r--r-- 1 root root 1099 Nov 19 15:08 45-evdev.conf
-rw-r--r-- 1 root root 2747 Jun 26  2017 70-wacom.conf
-rw-r--r-- 1 root root  194 Nov 19 14:22 99-calibration.conf
total 7
drwxr-xr-x 2 root root 1024 Nov 19 15:53 .
drwxr-xr-x 1 root root 1024 Nov 17 11:26 ..
-rw-r--r-- 1 root root  249 Nov 19 14:52 40-libinput.conf
-rw-r--r-- 1 root root  481 Nov 19 15:53 95-touch_display-plugin.conf
-rw-r--r-- 1 root root  163 Nov 19 15:00 99-calibration.conf

And my apologies for the product link, I copy/paste the wrong one. I use this full kit: Écran Tactile FHD de 7 Pouces, 1920x1200, Mode d'Affichage Paysager par Défaut, Win10 11, Raspberry Pi Linux, Android TV Box, Boîte de Jeu, LCD - AliExpress 7

Please post the output of

cat /usr/share/X11/xorg.conf.d/99-calibration.conf

cat /etc/X11/xorg.conf.d/99-calibration.conf

1 Like
Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ILITEK ILITEK-TP Mouse"
	Option	"Calibration"	"-38 7949 4600 9656"
	Option "TransformationMatrix" "1 0 0 0 -1 1 0 0 1" 
EndSection

and

Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ILITEK ILITEK-TP Mouse"
	Option	"Calibration"	"-29 3857 7208 4562"
	Option	"SwapAxes"	"0"
EndSection

What calibration values do yo want to use: The ones in “/usr/share/X11/xorg.conf.d/99-calibration.conf” or in “/etc/X11/xorg.conf.d/99-calibration.conf”?

I tried multiple settings with both to see if I got any changes, but I didn’t find a fix the pointer moving only in a small part of the screen.

When I touch inside the red rectangle, the position of the pointer is down scaled to the green rectangle.

.

I suggest to remove “/etc/X11/xorg.conf.d/99-calibration.conf” (or change its file extension to something other than “conf”) and remove the line Option "Calibration" "-38 7949 4600 9656" from “/usr/share/X11/xorg.conf.d/99-calibration.conf”. Stop and start the Touch Display plugin in order to restart the xserver applying the new configuration. Probably the issue is not solved, but please describe the effect.

Also please post the output of

cat /var/log/Xorg.0.log

It acts the same way as before.

[    46.631] 
X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
[    46.632] Build Operating System: Linux 5.4.0-109-generic armv8l Raspbian
[    46.632] Current Operating System: Linux musique 5.10.92-v7l+ #1514 SMP Mon Jan 17 17:38:03 GMT 2022 armv7l
[    46.633] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1200 bcm2708_fb.fbswap=1 smsc95xx.macaddr=E4:5F:01:C8:4F:D6 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  splash plymouth.ignore-serial-consoles dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0xF dwc_otg.nak_holdoff=1 quiet console=ttyS0,115200 console=tty1 imgpart=/dev/mmcblk0p2 imgfile=/volumio_current.sqsh rootwait bootdelay=5 elevator=noop logo.nologo vt.global_cursor_default=0 net.ifnames=0 snd-bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 loglevel=0
[    46.634] Build Date: 09 November 2022  03:13:10PM
[    46.634] xorg-server 2:1.20.4-1+rpt4+deb10u6 (https://www.debian.org/support) 
[    46.634] Current version of pixman: 0.36.0
[    46.635] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[    46.635] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    46.637] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Nov 19 23:19:34 2022
[    46.644] (==) Using config directory: "/etc/X11/xorg.conf.d"
[    46.644] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    46.650] (==) No Layout section.  Using the first Screen section.
[    46.650] (==) No screen section available. Using defaults.
[    46.650] (**) |-->Screen "Default Screen Section" (0)
[    46.650] (**) |   |-->Monitor "<default monitor>"
[    46.654] (==) No monitor specified for screen "Default Screen Section".
	Using a default monitor configuration.
[    46.654] (==) Automatically adding devices
[    46.654] (==) Automatically enabling devices
[    46.654] (==) Automatically adding GPU devices
[    46.654] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    46.654] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    46.655] 	Entry deleted from font path.
[    46.655] (==) FontPath set to:
	/usr/share/fonts/X11/misc,
	/usr/share/fonts/X11/100dpi/:unscaled,
	/usr/share/fonts/X11/75dpi/:unscaled,
	/usr/share/fonts/X11/Type1,
	/usr/share/fonts/X11/100dpi,
	/usr/share/fonts/X11/75dpi,
	built-ins
[    46.656] (==) ModulePath set to "/usr/lib/xorg/modules"
[    46.656] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
[    46.656] (II) Loader magic: 0x1fdf80
[    46.656] (II) Module ABI versions:
[    46.656] 	X.Org ANSI C Emulation: 0.4
[    46.656] 	X.Org Video Driver: 24.0
[    46.656] 	X.Org XInput driver : 24.1
[    46.656] 	X.Org Server Extension : 10.0
[    46.657] (--) using VT number 2

[    46.657] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[    46.659] (II) no primary bus or device found
[    46.659] (II) LoadModule: "glx"
[    46.662] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    46.695] (II) Module glx: vendor="X.Org Foundation"
[    46.695] 	compiled for 1.20.4, module version = 1.0.0
[    46.695] 	ABI class: X.Org Server Extension, version 10.0
[    46.695] (==) Matched modesetting as autoconfigured driver 0
[    46.695] (==) Matched fbdev as autoconfigured driver 1
[    46.695] (==) Assigned the driver to the xf86ConfigLayout
[    46.695] (II) LoadModule: "modesetting"
[    46.695] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    46.698] (II) Module modesetting: vendor="X.Org Foundation"
[    46.698] 	compiled for 1.20.4, module version = 1.20.4
[    46.698] 	Module class: X.Org Video Driver
[    46.698] 	ABI class: X.Org Video Driver, version 24.0
[    46.698] (II) LoadModule: "fbdev"
[    46.699] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[    46.700] (II) Module fbdev: vendor="X.Org Foundation"
[    46.700] 	compiled for 1.20.3, module version = 0.5.0
[    46.700] 	Module class: X.Org Video Driver
[    46.700] 	ABI class: X.Org Video Driver, version 24.0
[    46.700] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    46.700] (II) FBDEV: driver for framebuffer: fbdev
[    46.707] (WW) Falling back to old probe method for modesetting
[    46.707] (EE) open /dev/dri/card0: No such file or directory
[    46.707] (WW) Falling back to old probe method for fbdev
[    46.707] (II) Loading sub module "fbdevhw"
[    46.707] (II) LoadModule: "fbdevhw"
[    46.707] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    46.709] (II) Module fbdevhw: vendor="X.Org Foundation"
[    46.709] 	compiled for 1.20.4, module version = 0.0.2
[    46.709] 	ABI class: X.Org Video Driver, version 24.0
[    46.709] (II) FBDEV(0): using default device
[    46.709] (II) FBDEV(0): Creating default Display subsection in Screen section
	"Default Screen Section" for depth/fbbpp 24/32
[    46.709] (==) FBDEV(0): Depth 24, (==) framebuffer bpp 32
[    46.709] (==) FBDEV(0): RGB weight 888
[    46.709] (==) FBDEV(0): Default visual is TrueColor
[    46.709] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[    46.709] (II) FBDEV(0): hardware: BCM2708 FB (video memory: 9000kB)
[    46.709] (DB) xf86MergeOutputClassOptions unsupported bus type 0
[    46.709] (II) FBDEV(0): checking modes against framebuffer device...
[    46.709] (II) FBDEV(0): checking modes against monitor...
[    46.709] (II) FBDEV(0): Virtual size is 1920x1200 (pitch 1920)
[    46.709] (**) FBDEV(0):  Built-in mode "current"
[    46.709] (==) FBDEV(0): DPI set to (96, 96)
[    46.710] (II) Loading sub module "fb"
[    46.710] (II) LoadModule: "fb"
[    46.710] (II) Loading /usr/lib/xorg/modules/libfb.so
[    46.713] (II) Module fb: vendor="X.Org Foundation"
[    46.713] 	compiled for 1.20.4, module version = 1.0.0
[    46.713] 	ABI class: X.Org ANSI C Emulation, version 0.4
[    46.713] (**) FBDEV(0): using shadow framebuffer
[    46.713] (II) Loading sub module "shadow"
[    46.713] (II) LoadModule: "shadow"
[    46.714] (II) Loading /usr/lib/xorg/modules/libshadow.so
[    46.715] (II) Module shadow: vendor="X.Org Foundation"
[    46.715] 	compiled for 1.20.4, module version = 1.1.0
[    46.715] 	ABI class: X.Org ANSI C Emulation, version 0.4
[    46.715] (II) UnloadModule: "modesetting"
[    46.715] (II) Unloading modesetting
[    46.728] (==) FBDEV(0): Backing store enabled
[    46.731] (==) FBDEV(0): DPMS enabled
[    46.732] (II) Initializing extension Generic Event Extension
[    46.732] (II) Initializing extension SHAPE
[    46.733] (II) Initializing extension MIT-SHM
[    46.734] (II) Initializing extension XInputExtension
[    46.736] (II) Initializing extension XTEST
[    46.737] (II) Initializing extension BIG-REQUESTS
[    46.738] (II) Initializing extension SYNC
[    46.738] (II) Initializing extension XKEYBOARD
[    46.739] (II) Initializing extension XC-MISC
[    46.739] (II) Initializing extension SECURITY
[    46.740] (II) Initializing extension XFIXES
[    46.741] (II) Initializing extension RENDER
[    46.741] (II) Initializing extension RANDR
[    46.742] (II) Initializing extension COMPOSITE
[    46.744] (II) Initializing extension DAMAGE
[    46.745] (II) Initializing extension MIT-SCREEN-SAVER
[    46.746] (II) Initializing extension DOUBLE-BUFFER
[    46.747] (II) Initializing extension RECORD
[    46.748] (II) Initializing extension DPMS
[    46.748] (II) Initializing extension Present
[    46.749] (II) Initializing extension DRI3
[    46.749] (II) Initializing extension X-Resource
[    46.750] (II) Initializing extension XVideo
[    46.750] (II) Initializing extension XVideo-MotionCompensation
[    46.750] (II) Initializing extension SELinux
[    46.750] (II) SELinux: Disabled on system
[    46.750] (II) Initializing extension GLX
[    46.751] (II) AIGLX: Screen 0 is not DRI2 capable
[    47.543] (II) IGLX: Loaded and initialized swrast
[    47.543] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    47.543] (II) Initializing extension XFree86-VidModeExtension
[    47.543] (II) Initializing extension XFree86-DGA
[    47.544] (II) Initializing extension XFree86-DRI
[    47.546] (II) Initializing extension DRI2
[    47.746] (II) config/udev: Adding input device ILITEK ILITEK-TP (/dev/input/event0)
[    47.746] (**) ILITEK ILITEK-TP: Applying InputClass "evdev touchscreen catchall"
[    47.746] (**) ILITEK ILITEK-TP: Applying InputClass "libinput touchscreen catchall"
[    47.746] (**) ILITEK ILITEK-TP: Applying InputClass "evdev touchscreen catchall"
[    47.746] (**) ILITEK ILITEK-TP: Applying InputClass "libinput touchscreen catchall"
[    47.746] (II) LoadModule: "libinput"
[    47.746] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[    47.764] (II) Module libinput: vendor="X.Org Foundation"
[    47.764] 	compiled for 1.20.3, module version = 0.28.2
[    47.764] 	Module class: X.Org XInput Driver
[    47.764] 	ABI class: X.Org XInput driver, version 24.1
[    47.764] (II) Using input driver 'libinput' for 'ILITEK ILITEK-TP'
[    47.764] (**) ILITEK ILITEK-TP: always reports core events
[    47.764] (**) Option "Device" "/dev/input/event0"
[    47.764] (**) Option "_source" "server/udev"
[    47.787] (II) event0  - ILITEK ILITEK-TP: is tagged by udev as: Touchscreen
[    47.787] (II) event0  - ILITEK ILITEK-TP: device is a touch device
[    47.788] (II) event0  - ILITEK ILITEK-TP: device removed
[    47.850] (**) Option "CalibrationMatrix" "1 0 0 0 -1 1 0 0 1"
[    47.850] (**) Option "config_info" "udev:/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.0/0003:222A:0001.0001/input/input3/event0"
[    47.850] (II) XINPUT: Adding extended input device "ILITEK ILITEK-TP" (type: TOUCHSCREEN, id 6)
[    47.850] (**) Option "AccelerationScheme" "none"
[    47.850] (**) ILITEK ILITEK-TP: (accel) selected scheme none/0
[    47.850] (**) ILITEK ILITEK-TP: (accel) acceleration factor: 2.000
[    47.851] (**) ILITEK ILITEK-TP: (accel) acceleration threshold: 4
[    47.858] (II) event0  - ILITEK ILITEK-TP: is tagged by udev as: Touchscreen
[    47.858] (II) event0  - ILITEK ILITEK-TP: device is a touch device
[    47.862] (II) config/udev: Adding input device ILITEK ILITEK-TP (/dev/input/mouse0)
[    47.862] (II) No input driver specified, ignoring this device.
[    47.862] (II) This device may have been added with another device file.
[    47.866] (II) config/udev: Adding input device ILITEK ILITEK-TP Mouse (/dev/input/event1)
[    47.866] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "evdev pointer catchall"
[    47.866] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "libinput pointer catchall"
[    47.866] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "evdev pointer catchall"
[    47.866] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    47.866] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    47.866] (II) LoadModule: "evdev"
[    47.866] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[    47.869] (II) Module evdev: vendor="X.Org Foundation"
[    47.869] 	compiled for 1.20.3, module version = 2.10.6
[    47.869] 	Module class: X.Org XInput Driver
[    47.869] 	ABI class: X.Org XInput driver, version 24.1
[    47.869] (II) Using input driver 'evdev' for 'ILITEK ILITEK-TP Mouse'
[    47.869] (**) ILITEK ILITEK-TP Mouse: always reports core events
[    47.869] (**) evdev: ILITEK ILITEK-TP Mouse: Device: "/dev/input/event1"
[    47.869] (--) evdev: ILITEK ILITEK-TP Mouse: Vendor 0x222a Product 0x1
[    47.869] (--) evdev: ILITEK ILITEK-TP Mouse: Found 9 mouse buttons
[    47.869] (--) evdev: ILITEK ILITEK-TP Mouse: Found absolute axes
[    47.869] (--) evdev: ILITEK ILITEK-TP Mouse: Found x and y absolute axes
[    47.869] (--) evdev: ILITEK ILITEK-TP Mouse: Found absolute touchscreen
[    47.869] (**) Option "InvertX" "0"
[    47.869] (**) Option "InvertY" "true"
[    47.869] (II) evdev: ILITEK ILITEK-TP Mouse: Configuring as touchscreen
[    47.869] (**) evdev: ILITEK ILITEK-TP Mouse: YAxisMapping: buttons 4 and 5
[    47.869] (**) evdev: ILITEK ILITEK-TP Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    47.869] (**) Option "config_info" "udev:/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.1/0003:222A:0001.0002/input/input1/event1"
[    47.869] (II) XINPUT: Adding extended input device "ILITEK ILITEK-TP Mouse" (type: TOUCHSCREEN, id 7)
[    47.869] (II) evdev: ILITEK ILITEK-TP Mouse: initialized for absolute axes.
[    47.870] (**) ILITEK ILITEK-TP Mouse: (accel) keeping acceleration scheme 1
[    47.870] (**) ILITEK ILITEK-TP Mouse: (accel) acceleration profile 0
[    47.870] (**) ILITEK ILITEK-TP Mouse: (accel) acceleration factor: 2.000
[    47.870] (**) ILITEK ILITEK-TP Mouse: (accel) acceleration threshold: 4
[    47.870] (**) Option "TransformationMatrix" "1 0 0 0 -1 1 0 0 1"
[    47.874] (II) config/udev: Adding input device ILITEK ILITEK-TP Mouse (/dev/input/js0)
[    47.874] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    47.874] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    47.874] (II) No input driver specified, ignoring this device.
[    47.874] (II) This device may have been added with another device file.
[    47.877] (II) config/udev: Adding input device ILITEK ILITEK-TP Mouse (/dev/input/mouse1)
[    47.877] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    47.877] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    47.877] (II) No input driver specified, ignoring this device.
[    47.877] (II) This device may have been added with another device file.
[    47.909] (II) event0  - ILITEK ILITEK-TP: device removed
[    48.022] (II) evdev: ILITEK ILITEK-TP Mouse: Close
[    48.022] (II) UnloadModule: "evdev"
[    48.023] (II) UnloadModule: "libinput"
[    48.033] (==) FBDEV(0): DPMS enabled
[    48.033] (II) Initializing extension Generic Event Extension
[    48.034] (II) Initializing extension SHAPE
[    48.035] (II) Initializing extension MIT-SHM
[    48.035] (II) Initializing extension XInputExtension
[    48.036] (II) Initializing extension XTEST
[    48.037] (II) Initializing extension BIG-REQUESTS
[    48.038] (II) Initializing extension SYNC
[    48.039] (II) Initializing extension XKEYBOARD
[    48.039] (II) Initializing extension XC-MISC
[    48.040] (II) Initializing extension SECURITY
[    48.041] (II) Initializing extension XFIXES
[    48.041] (II) Initializing extension RENDER
[    48.042] (II) Initializing extension RANDR
[    48.043] (II) Initializing extension COMPOSITE
[    48.043] (II) Initializing extension DAMAGE
[    48.044] (II) Initializing extension MIT-SCREEN-SAVER
[    48.045] (II) Initializing extension DOUBLE-BUFFER
[    48.045] (II) Initializing extension RECORD
[    48.046] (II) Initializing extension DPMS
[    48.046] (II) Initializing extension Present
[    48.047] (II) Initializing extension DRI3
[    48.047] (II) Initializing extension X-Resource
[    48.047] (II) Initializing extension XVideo
[    48.048] (II) Initializing extension XVideo-MotionCompensation
[    48.048] (II) Initializing extension SELinux
[    48.048] (II) SELinux: Disabled on system
[    48.048] (II) Initializing extension GLX
[    48.049] (II) AIGLX: Screen 0 is not DRI2 capable
[    48.062] (II) IGLX: Loaded and initialized swrast
[    48.062] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    48.062] (II) Initializing extension XFree86-VidModeExtension
[    48.062] (II) Initializing extension XFree86-DGA
[    48.063] (II) Initializing extension XFree86-DRI
[    48.063] (II) Initializing extension DRI2
[    48.200] (II) config/udev: Adding input device ILITEK ILITEK-TP (/dev/input/event0)
[    48.200] (**) ILITEK ILITEK-TP: Applying InputClass "evdev touchscreen catchall"
[    48.200] (**) ILITEK ILITEK-TP: Applying InputClass "libinput touchscreen catchall"
[    48.200] (**) ILITEK ILITEK-TP: Applying InputClass "evdev touchscreen catchall"
[    48.201] (**) ILITEK ILITEK-TP: Applying InputClass "libinput touchscreen catchall"
[    48.201] (II) Using input driver 'libinput' for 'ILITEK ILITEK-TP'
[    48.201] (**) ILITEK ILITEK-TP: always reports core events
[    48.201] (**) Option "Device" "/dev/input/event0"
[    48.201] (**) Option "_source" "server/udev"
[    48.211] (II) event0  - ILITEK ILITEK-TP: is tagged by udev as: Touchscreen
[    48.211] (II) event0  - ILITEK ILITEK-TP: device is a touch device
[    48.212] (II) event0  - ILITEK ILITEK-TP: device removed
[    48.282] (**) Option "CalibrationMatrix" "1 0 0 0 -1 1 0 0 1"
[    48.282] (**) Option "config_info" "udev:/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.0/0003:222A:0001.0001/input/input3/event0"
[    48.282] (**) Option "AccelerationScheme" "none"
[    48.282] (**) ILITEK ILITEK-TP: (accel) selected scheme none/0
[    48.282] (**) ILITEK ILITEK-TP: (accel) acceleration factor: 2.000
[    48.282] (**) ILITEK ILITEK-TP: (accel) acceleration threshold: 4
[    48.290] (II) event0  - ILITEK ILITEK-TP: is tagged by udev as: Touchscreen
[    48.290] (II) event0  - ILITEK ILITEK-TP: device is a touch device
[    48.294] (II) config/udev: Adding input device ILITEK ILITEK-TP (/dev/input/mouse0)
[    48.294] (II) No input driver specified, ignoring this device.
[    48.294] (II) This device may have been added with another device file.
[    48.297] (II) config/udev: Adding input device ILITEK ILITEK-TP Mouse (/dev/input/event1)
[    48.297] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "evdev pointer catchall"
[    48.297] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "libinput pointer catchall"
[    48.297] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "evdev pointer catchall"
[    48.297] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.298] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.298] (II) Using input driver 'evdev' for 'ILITEK ILITEK-TP Mouse'
[    48.298] (**) ILITEK ILITEK-TP Mouse: always reports core events
[    48.298] (**) evdev: ILITEK ILITEK-TP Mouse: Device: "/dev/input/event1"
[    48.298] (--) evdev: ILITEK ILITEK-TP Mouse: Vendor 0x222a Product 0x1
[    48.298] (--) evdev: ILITEK ILITEK-TP Mouse: Found 9 mouse buttons
[    48.298] (--) evdev: ILITEK ILITEK-TP Mouse: Found absolute axes
[    48.298] (--) evdev: ILITEK ILITEK-TP Mouse: Found x and y absolute axes
[    48.298] (--) evdev: ILITEK ILITEK-TP Mouse: Found absolute touchscreen
[    48.298] (**) Option "InvertX" "0"
[    48.298] (**) Option "InvertY" "true"
[    48.298] (II) evdev: ILITEK ILITEK-TP Mouse: Configuring as touchscreen
[    48.298] (**) evdev: ILITEK ILITEK-TP Mouse: YAxisMapping: buttons 4 and 5
[    48.298] (**) evdev: ILITEK ILITEK-TP Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    48.298] (**) Option "config_info" "udev:/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.1/0003:222A:0001.0002/input/input1/event1"
[    48.298] (II) evdev: ILITEK ILITEK-TP Mouse: initialized for absolute axes.
[    48.299] (**) ILITEK ILITEK-TP Mouse: (accel) keeping acceleration scheme 1
[    48.299] (**) ILITEK ILITEK-TP Mouse: (accel) acceleration profile 0
[    48.299] (**) ILITEK ILITEK-TP Mouse: (accel) acceleration factor: 2.000
[    48.299] (**) ILITEK ILITEK-TP Mouse: (accel) acceleration threshold: 4
[    48.299] (**) Option "TransformationMatrix" "1 0 0 0 -1 1 0 0 1"
[    48.302] (II) config/udev: Adding input device ILITEK ILITEK-TP Mouse (/dev/input/js0)
[    48.302] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.302] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.302] (II) No input driver specified, ignoring this device.
[    48.302] (II) This device may have been added with another device file.
[    48.305] (II) config/udev: Adding input device ILITEK ILITEK-TP Mouse (/dev/input/mouse1)
[    48.305] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.305] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.305] (II) No input driver specified, ignoring this device.
[    48.305] (II) This device may have been added with another device file.
[    48.335] (II) event0  - ILITEK ILITEK-TP: device removed
[    48.461] (II) evdev: ILITEK ILITEK-TP Mouse: Close
[    48.462] (II) UnloadModule: "evdev"
[    48.462] (II) UnloadModule: "libinput"
[    48.471] (==) FBDEV(0): DPMS enabled
[    48.471] (II) Initializing extension Generic Event Extension
[    48.472] (II) Initializing extension SHAPE
[    48.473] (II) Initializing extension MIT-SHM
[    48.473] (II) Initializing extension XInputExtension
[    48.474] (II) Initializing extension XTEST
[    48.474] (II) Initializing extension BIG-REQUESTS
[    48.475] (II) Initializing extension SYNC
[    48.476] (II) Initializing extension XKEYBOARD
[    48.476] (II) Initializing extension XC-MISC
[    48.477] (II) Initializing extension SECURITY
[    48.477] (II) Initializing extension XFIXES
[    48.478] (II) Initializing extension RENDER
[    48.479] (II) Initializing extension RANDR
[    48.480] (II) Initializing extension COMPOSITE
[    48.480] (II) Initializing extension DAMAGE
[    48.481] (II) Initializing extension MIT-SCREEN-SAVER
[    48.482] (II) Initializing extension DOUBLE-BUFFER
[    48.482] (II) Initializing extension RECORD
[    48.483] (II) Initializing extension DPMS
[    48.483] (II) Initializing extension Present
[    48.484] (II) Initializing extension DRI3
[    48.484] (II) Initializing extension X-Resource
[    48.485] (II) Initializing extension XVideo
[    48.485] (II) Initializing extension XVideo-MotionCompensation
[    48.485] (II) Initializing extension SELinux
[    48.485] (II) SELinux: Disabled on system
[    48.485] (II) Initializing extension GLX
[    48.486] (II) AIGLX: Screen 0 is not DRI2 capable
[    48.499] (II) IGLX: Loaded and initialized swrast
[    48.499] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    48.499] (II) Initializing extension XFree86-VidModeExtension
[    48.499] (II) Initializing extension XFree86-DGA
[    48.500] (II) Initializing extension XFree86-DRI
[    48.500] (II) Initializing extension DRI2
[    48.639] (II) config/udev: Adding input device ILITEK ILITEK-TP (/dev/input/event0)
[    48.639] (**) ILITEK ILITEK-TP: Applying InputClass "evdev touchscreen catchall"
[    48.639] (**) ILITEK ILITEK-TP: Applying InputClass "libinput touchscreen catchall"
[    48.640] (**) ILITEK ILITEK-TP: Applying InputClass "evdev touchscreen catchall"
[    48.640] (**) ILITEK ILITEK-TP: Applying InputClass "libinput touchscreen catchall"
[    48.640] (II) Using input driver 'libinput' for 'ILITEK ILITEK-TP'
[    48.640] (**) ILITEK ILITEK-TP: always reports core events
[    48.640] (**) Option "Device" "/dev/input/event0"
[    48.640] (**) Option "_source" "server/udev"
[    48.650] (II) event0  - ILITEK ILITEK-TP: is tagged by udev as: Touchscreen
[    48.650] (II) event0  - ILITEK ILITEK-TP: device is a touch device
[    48.651] (II) event0  - ILITEK ILITEK-TP: device removed
[    48.710] (**) Option "CalibrationMatrix" "1 0 0 0 -1 1 0 0 1"
[    48.710] (**) Option "config_info" "udev:/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.0/0003:222A:0001.0001/input/input3/event0"
[    48.710] (**) Option "AccelerationScheme" "none"
[    48.710] (**) ILITEK ILITEK-TP: (accel) selected scheme none/0
[    48.710] (**) ILITEK ILITEK-TP: (accel) acceleration factor: 2.000
[    48.710] (**) ILITEK ILITEK-TP: (accel) acceleration threshold: 4
[    48.718] (II) event0  - ILITEK ILITEK-TP: is tagged by udev as: Touchscreen
[    48.718] (II) event0  - ILITEK ILITEK-TP: device is a touch device
[    48.722] (II) config/udev: Adding input device ILITEK ILITEK-TP (/dev/input/mouse0)
[    48.722] (II) No input driver specified, ignoring this device.
[    48.722] (II) This device may have been added with another device file.
[    48.726] (II) config/udev: Adding input device ILITEK ILITEK-TP Mouse (/dev/input/event1)
[    48.726] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "evdev pointer catchall"
[    48.726] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "libinput pointer catchall"
[    48.726] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "evdev pointer catchall"
[    48.726] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.726] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.726] (II) Using input driver 'evdev' for 'ILITEK ILITEK-TP Mouse'
[    48.726] (**) ILITEK ILITEK-TP Mouse: always reports core events
[    48.726] (**) evdev: ILITEK ILITEK-TP Mouse: Device: "/dev/input/event1"
[    48.726] (--) evdev: ILITEK ILITEK-TP Mouse: Vendor 0x222a Product 0x1
[    48.726] (--) evdev: ILITEK ILITEK-TP Mouse: Found 9 mouse buttons
[    48.726] (--) evdev: ILITEK ILITEK-TP Mouse: Found absolute axes
[    48.726] (--) evdev: ILITEK ILITEK-TP Mouse: Found x and y absolute axes
[    48.726] (--) evdev: ILITEK ILITEK-TP Mouse: Found absolute touchscreen
[    48.726] (**) Option "InvertX" "0"
[    48.726] (**) Option "InvertY" "true"
[    48.726] (II) evdev: ILITEK ILITEK-TP Mouse: Configuring as touchscreen
[    48.726] (**) evdev: ILITEK ILITEK-TP Mouse: YAxisMapping: buttons 4 and 5
[    48.726] (**) evdev: ILITEK ILITEK-TP Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    48.726] (**) Option "config_info" "udev:/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.1/0003:222A:0001.0002/input/input1/event1"
[    48.726] (II) evdev: ILITEK ILITEK-TP Mouse: initialized for absolute axes.
[    48.727] (**) ILITEK ILITEK-TP Mouse: (accel) keeping acceleration scheme 1
[    48.727] (**) ILITEK ILITEK-TP Mouse: (accel) acceleration profile 0
[    48.727] (**) ILITEK ILITEK-TP Mouse: (accel) acceleration factor: 2.000
[    48.727] (**) ILITEK ILITEK-TP Mouse: (accel) acceleration threshold: 4
[    48.727] (**) Option "TransformationMatrix" "1 0 0 0 -1 1 0 0 1"
[    48.730] (II) config/udev: Adding input device ILITEK ILITEK-TP Mouse (/dev/input/js0)
[    48.730] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.730] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.730] (II) No input driver specified, ignoring this device.
[    48.730] (II) This device may have been added with another device file.
[    48.733] (II) config/udev: Adding input device ILITEK ILITEK-TP Mouse (/dev/input/mouse1)
[    48.733] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.733] (**) ILITEK ILITEK-TP Mouse: Applying InputClass "calibration"
[    48.733] (II) No input driver specified, ignoring this device.
[    48.733] (II) This device may have been added with another device file.

I managed to fix the scaling issue with /etc/X11/xorg.conf.d/40-libinput.conf

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        Option "CalibrationMatrix" "2 0 0 0 -2 1 0 0 1"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

But now, the touch works everywhere, except on the right and top side… (about 80/100px) which doesn’t react, as you can see here : IMG_2820.mov - VEED

It looks like a can try to edit these numbers to get closer manually. But I guess there is a better option?

Could you please provide me the result of doing the calibration again with

DISPLAY=:0.0 xinput_calibrator -v

Here the results:

DEBUG: XInputExtension version is 2.3
DEBUG: Skipping virtual master devices and devices without axis valuators.
DEBUG: Skipping device 'Virtual core XTEST pointer' id=4, does not report Absolute events.
Warning: multiple calibratable devices found, calibrating last one (ILITEK ILITEK-TP Mouse)
	use --device to select another one.
DEBUG: Selected device: ILITEK ILITEK-TP Mouse
DEBUG: Not usbtouchscreen calibrator: Not a usbtouchscreen device
DEBUG: Read axes swap value of 0.
DEBUG: Read InvertX=0, InvertY=0.
Calibrating EVDEV driver for "ILITEK ILITEK-TP Mouse" id=7
	current calibration values (from XInput): min_x=76, max_x=15988 and min_y=-367, max_y=9703
DEBUG: Found that 'ILITEK ILITEK-TP Mouse' is a sysfs name.
DEBUG: Adding click 0 (X=234, Y=116)
DEBUG: Adding click 1 (X=1638, Y=121)
DEBUG: Adding click 2 (X=231, Y=1061)
DEBUG: Adding click 3 (X=1637, Y=1060)

Doing dynamic recalibration:
	Setting calibration data: 62, 15587, -690, 9850
DEBUG: Successfully applied axis calibration.
	--> Making the calibration permanent <--
DEBUG: Found that 'ILITEK ILITEK-TP Mouse' is a sysfs name.
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ILITEK ILITEK-TP Mouse"
	Option	"Calibration"	"62 15587 -690 9850"
	Option	"SwapAxes"	"0"
EndSection

As there seem to be two input devices (“ILITEK ILITEK-TP” and “ILITEK ILITEK-TP Mouse”) you might try removing “/usr/share/X11/xorg.conf.d/99-calibration.conf” and in “/etc/X11/xorg.conf.d/99-calibration.conf” change the line

MatchProduct "ILITEK ILITEK-TP Mouse"

to

MatchProduct "ILITEK ILITEK-TP"

Also revert

Option "CalibrationMatrix" "-2 0 1 0 -2 1 0 0 1"

to

Option "CalibrationMatrix" "-1 0 1 0 -1 1 0 0 1"

in “/etc/X11/xorg.conf.d/40-libinput.conf”.

P.S. The new calibration data (62, 15587, -690, 9850) deviates a lot from your earlier settings in post #8. Is this also the case if you run again DISPLAY=:0.0 xinput_calibrator -v with the CalibrationMatrix set to “-1 0 1 0 -1 1 0 0 1”?

Ok @gvolt, I removed the file and change the device name as you suggested

with Option "CalibrationMatrix" "1 0 0 0 -1 1 0 0 1"
in “/etc/X11/xorg.conf.d/40-libinput.conf

The axes work fine, but the pointer still moves only half of the screen in the bottom-left corner. Here are my results of DISPLAY=:0.0 xinput_calibrator -v

DEBUG: XInputExtension version is 2.3
DEBUG: Skipping virtual master devices and devices without axis valuators.
DEBUG: Skipping device 'Virtual core XTEST pointer' id=4, does not report Absolute events.
Warning: multiple calibratable devices found, calibrating last one (ILITEK ILITEK-TP Mouse)
	use --device to select another one.
DEBUG: Selected device: ILITEK ILITEK-TP Mouse
DEBUG: Not usbtouchscreen calibrator: Not a usbtouchscreen device
DEBUG: Read axes swap value of 0.
DEBUG: Read InvertX=0, InvertY=0.
Calibrating EVDEV driver for "ILITEK ILITEK-TP Mouse" id=7
	current calibration values (from XInput): min_x=76, max_x=15988 and min_y=-367, max_y=9703
DEBUG: Found that 'ILITEK ILITEK-TP Mouse' is a sysfs name.
DEBUG: Adding click 0 (X=113, Y=655)
DEBUG: Adding click 1 (X=820, Y=655)
DEBUG: Adding click 2 (X=118, Y=1120)
DEBUG: Adding click 3 (X=819, Y=1129)

Doing dynamic recalibration:
	Setting calibration data: 61, 7840, 4473, 9726
DEBUG: Successfully applied axis calibration.
	--> Making the calibration permanent <--
DEBUG: Found that 'ILITEK ILITEK-TP Mouse' is a sysfs name.
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ILITEK ILITEK-TP Mouse"
	Option	"Calibration"	"61 7840 4473 9726"
	Option	"SwapAxes"	"0"
EndSection

with Option "CalibrationMatrix" "-1 0 1 0 -1 1 0 0 1"
as you asked in “/etc/X11/xorg.conf.d/40-libinput.conf

The horizontal axe is inverted, here are the results of DISPLAY=:0.0 xinput_calibrator -v

DEBUG: XInputExtension version is 2.3
DEBUG: Skipping virtual master devices and devices without axis valuators.
DEBUG: Skipping device 'Virtual core XTEST pointer' id=4, does not report Absolute events.
Warning: multiple calibratable devices found, calibrating last one (ILITEK ILITEK-TP Mouse)
	use --device to select another one.
DEBUG: Selected device: ILITEK ILITEK-TP Mouse
DEBUG: Not usbtouchscreen calibrator: Not a usbtouchscreen device
DEBUG: Read axes swap value of 0.
DEBUG: Read InvertX=0, InvertY=0.
Calibrating EVDEV driver for "ILITEK ILITEK-TP Mouse" id=7
	current calibration values (from XInput): min_x=76, max_x=15988 and min_y=-367, max_y=9703
DEBUG: Found that 'ILITEK ILITEK-TP Mouse' is a sysfs name.
DEBUG: Adding click 0 (X=1800, Y=655)
DEBUG: Adding click 1 (X=1097, Y=662)
DEBUG: Adding click 2 (X=1801, Y=1128)
DEBUG: Adding click 3 (X=1098, Y=1127)

Doing dynamic recalibration:
	Setting calibration data: 15969, 8201, 4503, 9751
DEBUG: Successfully applied axis calibration.
	--> Making the calibration permanent <--
DEBUG: Found that 'ILITEK ILITEK-TP Mouse' is a sysfs name.
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ILITEK ILITEK-TP Mouse"
	Option	"Calibration"	"15969 8201 4503 9751"
	Option	"SwapAxes"	"0"
EndSection

It looks like it is still using “ILITEK ILITEK-TP Mouse”, is it normal?

DEBUG: Selected device: ILITEK ILITEK-TP Mouse
DEBUG: Not usbtouchscreen calibrator: Not a usbtouchscreen device

I changed the device to calibrate with DISPLAY=:0.0 xinput_calibrator --device 6 and got these results:

Calibrating standard Xorg driver "ILITEK ILITEK-TP"
	current calibration values: min_x=0, max_x=65535 and min_y=0, max_y=65535
	If these values are estimated wrong, either supply it manually with the --precalib option, or run the 'get_precalib.sh' script to automatically get it (through HAL).
	--> Making the calibration permanent <--
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ILITEK ILITEK-TP"
	Option	"MinX"	"65589"
	Option	"MaxX"	"33481"
	Option	"MinY"	"31498"
	Option	"MaxY"	"65904"
	Option	"SwapXY"	"0" # unless it was already set to 1
	Option	"InvertX"	"0"  # unless it was already set
	Option	"InvertY"	"0"  # unless it was already set
EndSection

I changed /etc/X11/xorg.conf.d/99-calibration.conf file with these results but no change.

What do you think of this tutorial?