Volumio with 3.5" TFT Touch Screen (GPIO) RPi 3B+

I ran xinput_calibrate with the calibration change you suggested (Option “Calibration” “3936 227 3880 268”).

I was finally able to click the mark in the bottom right corner. Here is the result:

Section “InputClass”
Identifier “calibration”
MatchProduct “ADS7846 Touchscreen”
Option “MinX” “11753”
Option “MaxX” “11116”
Option “MinY” “23023”
Option “MaxY” “28074”
Option “SwapXY” “1” # unless it was already set to 1
Option “InvertX” “0” # unless it was already set
Option “InvertY” “0” # unless it was already set
EndSection

For now don’t run xinput_calibrate. Just change the values in etc/X11/xorg.conf.d/99-calibration.conf.

Also execute

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

Then reboot Volumio.

Now the cursor seems to jump all over and changes from a mouse pointer to a hand pointer and a typing cursor.

Here are my files:

cat /etc/X11/xorg.conf.d/99-calibration.conf
Section “InputClass”
Identifier “calibration”
MatchProduct “ADS7846 Touchscreen”
Option “Calibration” “3936 227 3880 268”
Option “SwapAxes” “0”
Driver “evdev”
EndSection

cat /usr/share/X11/xorg.conf.d/45-evdev.conf

Section “InputClass”
Identifier “evdev pointer catchall”
MatchIsPointer “on”
MatchDevicePath “/dev/input/event*”
Driver “evdev”
EndSection

Section “InputClass”
Identifier “evdev keyboard catchall”
MatchIsKeyboard “on”
MatchDevicePath “/dev/input/event*”
Driver “evdev”
EndSection

Section “InputClass”
Identifier “evdev touchpad catchall”
MatchIsTouchpad “on”
MatchDevicePath “/dev/input/event*”
Driver “evdev”
EndSection

Section “InputClass”
Identifier “evdev tablet catchall”
MatchIsTablet “on”
MatchDevicePath “/dev/input/event*”
Driver “evdev”
EndSection

Section “InputClass”
Identifier “evdev touchscreen catchall”
MatchIsTouchscreen “on”
MatchDevicePath “/dev/input/event*”
Driver “evdev”
EndSection

Try reverting the changes I suggested for 99-calibration.conf and renaming /usr/share/X11/xorg.conf.d/40-libinput.conf to /usr/share/X11/xorg.conf.d/40-libinput.conf.bak. Then reboot.

OK, I tried again with a fresh install of volumio. Here is everything I did and my config files.

The mouse cursor stays in the upper right quadrant of the display no matter where I place the stylus.

cat .bash_history
wget https:/github.com/goodtft/LCD-show/raw/master/usr/tft35a-overlay.dtb
udo cp tft35a.dtb /boot/overlays/tft35a.dtbo
sudo cp tft35a.dtb /boot/overlays/tft35a.dtbo
ls
sudo cp tft35a-overlay.dtb /boot/overlays/tft35a.dtbo
nano /boot/userconfig.txt
wget https:/raw.githubusercontent.com/goodtft/LCD-show/master/usr/99-calibration.conf-35-0
sudo cp 99-calibration.conf-35-0 /etc/X11/xorg.conf.d/99-calibration.conf
reboot
git clone https:/github.com/goodtft/LCD-show
cd LCD-show/
sudo mkdir /etc/X11/xorg.conf.d
cd usr/
sudo cp tft35a-overlay.dtb /boot/overlays/
sudo cp tft35a-overlay.dtb /boot/overlays/tft35a.dtbo
sudo cp -rf 99-calibration.conf-35-90 /etc/X11/xorg.conf.d/99-calibration.conf
sudo mkdir -p /usr/share/X11/xorg.conf.d/
sudo cp -rf ./99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf
sudo nano /etc/X11/xorg.conf.d/99-calibration.conf
sudo nano /boot/config.txt
sudo apt update
sudo apt install xserver-xorg-input-evdev
reboot
cat /usr/share/X11/xorg.conf.d/99-fbturbo.conf
cat /boot/config.txt
nano /boot/userconfig.txt
sudo mv /usr/share/X11/xorg.conf.d/40-libinput.conf /usr/share/X11/xorg.conf.d/40-libinput.conf.bak
reboot
sudo cp /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf
reboot

cat /boot/config.txt
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
#added
dtparam=spi=on
dtoverlay=tft35a:rotate=270

include userconfig.txt

cat /boot/userconfig.txt
'# Add your custom config.txt options to this file, which will be preserved during updates
dtparam=spi=on
dtoverlay=tft35a

ls -al /etc/X11/xorg.conf.d
total 24
drwxr-xr-x 2 root root 4096 Dec 4 23:37 .
drwxr-xr-x 1 root root 4096 Dec 4 18:26 …
-rw-r–r-- 1 root root 316 Dec 4 23:37 95-touch_display-plugin.conf
-rw-r–r-- 1 root root 220 Dec 4 23:16 99-calibration.conf

ls -al /usr/share/X11/xorg.conf.d
total 40
drwxr-xr-x 2 root root 4096 Dec 4 23:36 .
drwxr-xr-x 1 root root 4096 Dec 4 18:24 …
-rw-r–r-- 1 root root 1099 Sep 24 2016 10-evdev.conf
-rw-r–r-- 1 root root 1350 Nov 11 2016 10-quirks.conf
-rw-r–r-- 1 root root 788 Sep 30 2016 40-libinput.conf.bak
-rw-r–r-- 1 root root 1099 Dec 4 23:36 45-evdev.conf
-rw-r–r-- 1 root root 2747 Oct 28 2016 70-wacom.conf
-rw-r–r-- 1 root root 609 Dec 4 23:15 99-fbturbo.conf

cat /etc/X11/xorg.conf.d/99-calibration.conf
Section “InputClass”
Identifier “calibration”
MatchProduct “ADS7846 Touchscreen”
Option “Calibration” “3936 227 268 3880”
Option “SwapAxes” “0”
Driver “evdev”
EndSection

Also I received a very much unappreciated message when trying to post this yesterday.
“We appreciate your enthusiasm, keep it up! That said, for the safety of our community, you’ve reached the maximum number of replies a new user can create on their first day. Please wait 13 hours and you’ll be able to create more replies.”

I sugget to remove

dtparam=spi=on
dtoverlay=tft35a:rotate=270

from “/boot/config.txt”.

Do you need rotate=270 to get the display oriented to your needs?

If so, add rotate=270 to dtoverlay=tft35a in “/boot/userconfig.txt”. Then try changing Option “Calibration” “3936 227 268 3880” in “/etc/X11/xorg.conf.d/99-calibration.conf” to Option "Calibration" "227 3936 3880 268" and set Option “SwapAxes” “1” according to the values for 270 deg. touch rotation from the goodtft repo (99-calibration.conf-35-270).

If not, try changing Option “Calibration” “3936 227 268 3880” in “/etc/X11/xorg.conf.d/99-calibration.conf” to Option "Calibration" "268 3880 227 3936" according to the values for 0 deg. touch rotation from the goodtft repo (99-calibration.conf-35-0).

Reboot.

Changed rotation configs to 0 as suggested.
Now the cursor up and down as I move the stylus right and left across the screen and left and right when I move the stylus up and down so it appears they are 90° off. The cursor never moves out of the upper left quadrant of the screen.

cat /etc/X11/xorg.conf.d/99-calibration.conf
Section “InputClass”
Identifier “calibration”
MatchProduct “ADS7846 Touchscreen”
Option “Calibration” “268 3880 227 3936”
Option “SwapAxes” “0”
Driver “evdev”
EndSection

cat /boot/userconfig.txt
'# Add your custom config.txt options to this file, which will be preserved during updates
dtparam=spi=on
dtoverlay=tft35a
#:rotate=270

I think it is time to throw in the towel on this one.

Now I would set

Option "SwapAxes" "1"

and reboot.

How big is this area approximately?

I just tried these changes.

cat /boot/userconfig.txt
'# Add your custom config.txt options to this file, which will be preserved during updates
dtparam=spi=on
dtoverlay=tft35a:rotate=90

cat /etc/X11/xorg.conf.d/99-calibration.conf
Section “InputClass”
Identifier “calibration”
MatchProduct “ADS7846 Touchscreen”
Option “Calibration” “3936 227 268 3880”
Option “SwapAxes” “1”
Driver “evdev”
EndSection

Now the cursor follows the stylus but only in the upper right quadrant. Moving the stylus out that area, the cursor moves but does not leave the upper right.

I feel like this is an improvement.
Any other ideas?

Should I install xinput_calibrator again?

That’s good, but is the display orientation right?

How big is that area?

Hard to say, if the values generated by xinput_calibrator would be working. The values you posted above look strange IMHO.

What you could try before using xinput_calibrator is exchanging the overlay for wavershare35a-overlay.dtb.

I can live with the display orientation for now.

The area is ≈ 0.25% of the display.

with waveshare35a.dtb the screen appears but there is no touch function (no cursor or input at all).

cat /dev/input/event* returns nothing.

Ok, since that doesn’t seem to help change back to tft35a. After a reboot, please post the result of

cat /var/log/Xorg.0.log

Sorry for taking so long to get back to you.

I think we’re onto something.
See the end of the file: evdev: ADS7846 Touchscreen: Unable to query fd: Inappropriate ioctl for device.

I will try not loading edev and send the log without it.

ALSO THIS SYSTEM REPORTS “Sorry, new users can only put 2 links in a post” because it interprets anything with ‘.___’ in a string as link so I took them out. Very annoying.

 **cat /var/log/Xorg.0.log**
[    49.517] XOrg X Server 1.18.4 Release Date: 2016-07-19
[    49.517] X Protocol Version 11, Revision 0
[    49.517] Build Operating System: Linux 4.4.26-v7+ armv7l Raspbian
[    49.517] Current Operating System: Linux volumio 4.19.118-v7+ #1311 SMP Mon Apr 27 14:21:24 BST 2020 armv7l
[    49.518] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 bcm2708_fb.fbwidth=640 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  splash quiet 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 console=ttyS0,115200 kgdboc=ttyS0,115200 console=tty1 imgpart=/dev/mmcblk0p2 imgfile=/volumio_current.sqsh elevator=noop rootwait bootdelay=5 logo.nologo vt.global_cursor_default=0 loglevel=0 snd-bcm2835.enable_compat_alsa=1 snd_bcm2835.enable_headphones=1
[    49.518] Build Date: 11 November 2016  11:59:59AM
[    49.518] xorg-server 2:1.18.4-2+rpi1 
[    49.518] Current version of pixman: 0.32.6
[    49.518]    Before reporting problems, check 
        to make sure that you have the latest version.
[    49.518] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    49.518] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Dec 10 17:18:58 2021
[    49.542] (==) Using config directory: "/etc/X11/xorg.conf.d"
[    49.542] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    49.551] (==) No Layout section.  Using the first Screen section.
[    49.551] (==) No screen section available. Using defaults.
[    49.551] (**) |-->Screen "Default Screen Section" (0)
[    49.551] (**) |   |-->Monitor "<default monitor>"
[    49.561] (==) No device specified for screen "Default Screen Section".
        Using the first device section listed.
[    49.561] (**) |   |-->Device "Allwinner A10/A13/A20 FBDEV"
[    49.561] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[    49.561] (==) Automatically adding devices
[    49.561] (==) Automatically enabling devices
[    49.561] (==) Automatically adding GPU devices
[    49.561] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    49.563] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    49.563]    Entry deleted from font path.
[    49.567] (==) 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
[    49.567] (==) ModulePath set to "/usr/lib/xorg/modules"
[    49.567] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[    49.567] (II) Loader magic: 0x6a0f20
[    49.567] (II) Module ABI versions:
[    49.567]    XOrg ANSI C Emulation: 0.4
[    49.567]    XOrg Video Driver: 20.0
[    49.567]    X.rg XInput driver : 22.1
[    49.567]    XOrg Server Extension : 9.0
[    49.570] (--) using VT number 2

[    49.570] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[    49.570] (II) no primary bus or device found
[    49.571] (II) LoadModule: "glx"
[    49.575] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    49.666] (II) Module glx: vendor="XOrg Foundation"
[    49.666]    compiled for 1.18.4, module version = 1.0.0
[    49.666]    ABI class: XOrg Server Extension, version 9.0
[    49.666] (==) AIGLX enabled
[    49.666] (II) LoadModule: "fbturbo"
[    49.667] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so
[    49.673] (II) Module fbturbo: vendor="XOrg Foundation"
[    49.673]    compiled for 1.18.4, module version = 0.5.1
[    49.673]    Module class: XOrg Video Driver
[    49.673]    ABI class: XOrg Video Driver, version 20.0
[    49.673] (II) FBTURBO: driver for framebuffer: fbturbo
[    49.677] (WW) Falling back to old probe method for fbturbo
[    49.677] (II) Loading sub module "fbdevhw"
[    49.677] (II) LoadModule: "fbdevhw"
[    49.677] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    49.680] (II) Module fbdevhw: vendor="XOrg Foundation"
[    49.680]    compiled for 1.18.4, module version = 0.0.2
[    49.681]    ABI class: XOrg Video Driver, version 20.0
[    49.681] (II) FBTURBO(0): using /dev/fb1
[    49.681] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[    49.681] (II) FBTURBO(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 16/16
[    49.681] (==) FBTURBO(0): Depth 16, (==) framebuffer bpp 16
[    49.681] (==) FBTURBO(0): RGB weight 565
[    49.681] (==) FBTURBO(0): Default visual is TrueColor
[    49.681] (==) FBTURBO(0): Using gamma correction (1.0, 1.0, 1.0)
[    49.681] (II) FBTURBO(0): hardware: fb_ili9486 (video memory: 300kB)
[    49.681] (**) FBTURBO(0): Option "fbdev" "/dev/fb1"
[    49.681] (**) FBTURBO(0): Option "SwapbuffersWait" "true"
[    49.681] (II) FBTURBO(0): processor: Unknown
[    49.681] (II) FBTURBO(0): checking modes against framebuffer device...
[    49.681] (II) FBTURBO(0): checking modes against monitor...
[    49.681] (--) FBTURBO(0): Virtual size is 480x320 (pitch 480)
[    49.681] (**) FBTURBO(0):  Built-in mode "current"
[    49.681] (==) FBTURBO(0): DPI set to (96, 96)
[    49.681] (II) Loading sub module "fb"
[    49.681] (II) LoadModule: "fb"
[    49.682] (II) Loading /usr/lib/xorg/modules/libfb.so
[    49.692] (II) Module fb: vendor="XOrg Foundation"
[    49.692]    compiled for 1.18.4, module version = 1.0.0
[    49.692]    ABI class: XOrg ANSI C Emulation, version 0.4
[    49.692] (II) FBTURBO(0): FBIOBLANK: Invalid argument (Screen blanking not supported by kernel - disabling)
[    49.729] (II) FBTURBO(0): using backing store heuristics
[    49.736] (II) FBTURBO(0): can't load 'g2d_23' kernel module
[    49.736] (II) FBTURBO(0): failed to enable the use of sunxi display controller
[    49.736] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[    49.737] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
[    49.737] (II) FBTURBO(0): enabled VFP/NEON optimizations
[    49.737] (==) FBTURBO(0): Backing store enabled
[    49.751] (==) FBTURBO(0): DPMS enabled
[    49.752] (II) FBTURBO(0): failed to enable hardware cursor
[    49.752] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
[    49.752] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
[    49.754] (==) RandR enabled
[    49.786] (II) SELinux: Disabled on system
[    49.792] (II) AIGLX: Screen 0 is not DRI2 capable
[    49.792] (EE) AIGLX: reverting to software rendering
[    52.495] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[    52.498] (II) AIGLX: Loaded and initialized swrast
[    52.498] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    52.775] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/event0)
[    52.775] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    52.775] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    52.775] (**) ADS7846 Touchscreen: Applying InputClass "Touch rotation"
[    52.775] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    52.776] (II) LoadModule: "evdev"
[    52.776] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[    52.794] (II) Module evdev: vendor="XOrg Foundation"
[    52.794]    compiled for 1.18.4, module version = 2.10.3
[    52.794]    Module class: XOrg XInput Driver
[    52.794]    ABI class: XOrg XInput driver, version 22.1
[    52.794] (II) Using input driver 'evdev' for 'ADS7846 Touchscreen'
[    52.794] (**) ADS7846 Touchscreen: always reports core events
[    52.794] (**) evdev: ADS7846 Touchscreen: Device: "/dev/input/event0"
[    52.795] (--) evdev: ADS7846 Touchscreen: Vendor 0 Product 0
[    52.795] (--) evdev: ADS7846 Touchscreen: Found absolute axes
[    52.795] (--) evdev: ADS7846 Touchscreen: Found x and y absolute axes
[    52.795] (--) evdev: ADS7846 Touchscreen: Found absolute touchscreen
[    52.795] (**) Option "SwapAxes" "1"
[    52.795] (II) evdev: ADS7846 Touchscreen: Configuring as touchscreen
[    52.795] (**) evdev: ADS7846 Touchscreen: YAxisMapping: buttons 4 and 5
[    52.795] (**) evdev: ADS7846 Touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    52.795] (**) Option "config_info" "udev:/sys/devices/platform/soc/3f204000.spi/spi_master/spi0/spi0.1/input/input0/event0"
[    52.795] (II) XINPUT: Adding extended input device "ADS7846 Touchscreen" (type: TOUCHSCREEN, id 6)
[    52.795] (II) evdev: ADS7846 Touchscreen: initialized for absolute axes.
[    52.796] (**) ADS7846 Touchscreen: (accel) keeping acceleration scheme 1
[    52.796] (**) ADS7846 Touchscreen: (accel) acceleration profile 0
[    52.796] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000
[    52.796] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4
[    52.797] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0)
[    52.797] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    52.797] (II) Using input driver 'evdev' for 'ADS7846 Touchscreen'
[    52.797] (**) ADS7846 Touchscreen: always reports core events
[    52.797] (**) evdev: ADS7846 Touchscreen: Device: "/dev/input/mouse0"
[    52.797] (EE) evdev: ADS7846 Touchscreen: Unable to query fd: Inappropriate ioctl for device
[    52.910] (EE) PreInit returned 2 for "ADS7846 Touchscreen"
[    52.910] (II) UnloadModule: "evdev"

Ok, then remove the line Driver "evdev"possibly being present in /etc/X11/xorg.conf.d/99-calibration.conf and delete or rename 45-evdev.conf in /usr/share/X11/xorg.conf.d. Also make sure you have 40-libinput.conf in /usr/share/X11/xorg.conf.d.

Maybe also uninstall xserver-xorg-input-evdev and xinput-calibrator

apt-get -y purge --auto-remove xserver-xorg-input-evdev
apt-get -y purge --auto-remove xinput-calibrator

OK, now the mouse remains in the upper left quadrant. It seems the axis is wrong. When I move the stylus up to down the cursor moves from left to right and left to right moves the cursor down to up.

[    54.687] (**) ADS7846 Touchscreen: Applying InputClass "libinput touchscreen catchall"
[    54.687] (**) ADS7846 Touchscreen: Applying InputClass "Touch rotation"
[    54.687] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    54.687] (II) LoadModule: "libinput"
[    54.688] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[    54.755] (II) Module libinput: vendor="XOrg Foundation"
[    54.755]    compiled for 1.18.4, module version = 0.20.0
[    54.755]    Module class: XOrg XInput Driver
[    54.755]    ABI class: XOrg XInput driver, version 22.1
[    54.756] (II) Using input driver 'libinput' for 'ADS7846 Touchscreen'
[    54.756] (**) ADS7846 Touchscreen: always reports core events
[    54.756] (**) Option "Device" "/dev/input/event0"
[    54.756] (**) Option "_source" "server/udev"
[    54.757] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 is tagged by udev as: Touchscreen
[    54.757] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 is a touch device
[    54.811] (**) Option "config_info" "udev:/sys/devices/platform/soc/3f204000.spi/spi_master/spi0/spi0.1/input/input0/event0"
[    54.811] (II) XINPUT: Adding extended input device "ADS7846 Touchscreen" (type: TOUCHSCREEN, id 6)
[    54.811] (**) Option "AccelerationScheme" "none"
[    54.811] (**) ADS7846 Touchscreen: (accel) selected scheme none/0
[    54.811] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000
[    54.811] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4
[    54.812] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 is tagged by udev as: Touchscreen
[    54.812] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 is a touch device
[    54.814] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0)
[    54.814] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    54.814] (II) No input driver specified, ignoring this device.
[    54.814] (II) This device may have been added with another device file.

I had no time to test very much but please create a file 99-swapxy.conf and fill it with

Section "InputClass"
        Identifier "SwapXY"
        Option "TransformationMatrix" "0 1 0 1 0 0 0 0 1"
        MatchIsTouchscreen "on"
EndSection

Save the file and restart the plugin or maybe reboot Volumio. It it works, it would only correct the swapped axes not size or position of the touch sensitive area.

You might also try to rename /etc/X11/xorg.conf.d/99-calibration.conf but according to my expectation, this should have no effect.

i would like to have a chance too cuz nothing worked for me:)) only black screen on my lcd…

I need more info:

What is the brand and exact model name of your display?

What is your Volumio version?

Are you on a fresh Volumio system?

With the Touch Display plugin enabled what is the output of

cat /var/log/Xorg.0.log

i am a new user and can not post

Then PM me.