MHS-3.5inch Display! Touch Screen does not work

could you tell me exactly in what order I need to add which rules and if I should try another version of volumio to make it work?
I can do a clean install again if you want

1.install volumio
2. install touchscreen plugin
3. enable ssh

  1. all the cli commands
    git clone GitHub - goodtft/LCD-show: 2.4" 2.8"3.2" 3.5" 5.0" 7.0" TFT LCD driver for the Raspberry PI 3B+/A/A+/B/B+/PI2/ PI3/ZERO/ZERO W
    cd LCD-show/
    sudo mkdir /etc/X11/xorg.conf.d
    cd usr/
    sudo cp mhs35-overlay.dtb /boot/overlays/
    sudo cp mhs35-overlay.dtb /boot/overlays/mhs35.dtbo
    sudo cp -rf 99-calibration.conf-mhs35-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 cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf

sudo nano /etc/X11/xorg.conf.d/99-calibration.conf
=>Driver “evdev”

sudo nano /boot/userconfig.txt

Add your custom config.txt options to this file, which will be preserved during updates

hdmi_cvt 480 320 60 6 0 0 0

sudo apt update
sudo apt install xserver-xorg-input-evdev
sudo reboot

1 Like

Does all of this need to be in this file? /etc/X11/xorg.conf.d/99-calibration.conf

Section “InputClass”
Identifier “calibration”
MatchProduct “ADS7846 Touchscreen”
Option “Calibration” “3936 227 268 3880”
Option “SwapAxes” “1”
Option “EmulateThirdButton” “1”
Option “EmulateThirdButtonTimeout” “1000”
Option “EmulateThirdButtonMoveThreshold” “300”
Driver “evdev”

evdev is not done yet i think… @gvolt check mail

1 Like

The options “EmulateThird…” could be removed but I wouldn’t expect that to be the solution.

Maybe a fresh Volumio installation would help to get a “known” system to start from.

1 Like

@Simon_Vanhove stated he did run “sudo apt install xserver-xorg-input-evdev” so I assume evdev is installed.

1 Like

i had to do this…

sudo nano /usr/share/X11/xorg.conf.d/40-libinput.conf

rename all libinput to evdev

If “40-libinput.conf” should be the issue I would just rename the file “/usr/share/X11/xorg.conf.d/40-libinput.conf” to “/usr/share/X11/xorg.conf.d/40-libinput.conf.bak”:

sudo mv /usr/share/X11/xorg.conf.d/40-libinput.conf /usr/share/X11/xorg.conf.d/40-libinput.conf.bak

this what worked on my 10.1 inch with evdev… that’s why i shared it in the mail.
but you know more than i know…on this …

1 Like

Could you check on your system if it also would suffice to rename “40-libinput.conf”?

that didn’t work for me i had to do this :

rename the libinput to evdev as driver in that config but i gonna rename it again for you.

# Match on all types of devices but joysticks
# If you want to configure your devices, do not copy this file.
# Instead, use a config snippet that contains something like this:
# Section "InputClass"
#   Identifier "something or other"
#   MatchDriver "libinput"
#   MatchIsTouchpad "on"
#   ... other Match directives ...
#   Option "someoption" "value"
# EndSection
# This applies the option any libinput device also matched by the other
# directives. See the xorg.conf(5) man page for more info on
# matching devices.

Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"

Section "InputClass"
        Identifier "libinput keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"

Section "InputClass"
        Identifier "libinput tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"

I’m doing the reinstallation, I will do all my steps like I mentioned, and then this?
=> sudo mv /usr/share/X11/xorg.conf.d/40-libinput.conf /usr/share/X11/xorg.conf.d/40-libinput.conf.bak

sudo nano /usr/share/X11/xorg.conf.d/40-libinput.conf
=> change liginput to evdev

and reboot

am I correct?

First try without this last step and check, if renaming “40-libinput.conf” suffices. If it should not work copy “40-libinput.conf.bak” to “/etc/X11/xorg.conf.d/40-libinput.conf”. Then change the content of “/etc/X11/xorg.conf.d/40-libinput.conf” as proposed by @dvo.

it works to without the rename …@gvolt just tested

1 Like

@dvo Thanks for testing. Just to clarify: It also works with “40-libinput.conf” (just) renamed and without changing the content of the file?

the 10 to 45 i had to do too yes without changing it .

1 Like

What are you relating to?

Good to know. Thanks again for checking!

1 Like

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

sorry the 10 to 45… instead of 40 > 45

I see. I would have expected that this would not be necessary after renaming “40-libinput.conf” to “40-libinput.conf.bak”.

that was on the site of my displays creator… in pdf.

so I did “sudo cp /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf”

and tried to move it


sudo mv /usr/share/X11/xorg.conf.d/40-libinput.conf /usr/share/X11/xorg.conf.d/40-libinput.conf.bak

it didn’t do the trick, so I put it back and did the change in the file to “evdev”

and it still doesn’t work…

I’m reinstalling the touch display plugin to be sure it works