Need help with 3.5inch rpi . screen problem

i have problem with 3.5 inch rpi(a) lcd monitor
screen lag and shake


@gvolt please help solve the problem

I need more details about the steps you took to install the display (i.e. what files have been added or modified).

Also a picture of the display’s PCB could help to better identify the display.

Does the display behave better on another system / with another OS (e.g. Raspberry Pi OS)?

these are the commands that i installed


$sudo cp tft35a-overlay.dtb /boot/overlays/tft35a.dtbo

$nano /boot/userconfig.txt

==== Put this in this file : ====




$sudo mkdir -p /etc/X11/xorg.conf.d

$sudo cp 99-calibration.conf-35-0 /etc/X11/xorg.conf.d/99-calibration.conf

$sudo wget -P /usr/share/X11/xorg.conf.d

$sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

#and change
Driver “fbturbo”
Driver “fbdev”

To rotate de touch input (landscape with hdmi at the bottom)

$sudo nano /etc/X11/xorg.conf.d/99-swapxy.conf

==== Put this in this file : ====

Section “InputClass”
Identifier “SwapXY”
Option “TransformationMatrix” “0 -1 1 1 0 0 0 0 1”
MatchIsTouchscreen “on”


The monitor I use is the same one in the picture

You could try adding a speed parameter to the overlay entry like this:


Since I have no information about the specs of your particular display no liability is taken, that the speed value will not damage your display. You may prefer to start with lower values… I would probably not increase the value above 32000000.

I added the overlay like you said, but it still lags and tearing, looks like I’ll have to test my screen on another OS to confirm if my screen is ok or broken

I did not spot such an error in the second picture of your first post. Is this static or does it happen when the screen content changes?

What you could also try is another overlay e.g. the waveshare35a you can download from GitHub - waveshare/LCD-show.

BTW: What Pi model do you use?

is the same type number and with this screen I managed to get it done.

when using this guide with a little tweaking and help from @gvolt finally got it working.
I didn’t install lightdm then.

it’s not a super fast screen.

of the Touch controller… but the PCB seems not to be identical so the specs and especially the speed of TruongVu’s display might be different.

That’s for sure :grin:

i also tried this but same result, screen tearing and lag 3.5_inch_Volumio.pdf - Google Drive

I tried it on raspbian, the screen has a very stable refresh rate, so it can eliminate the case of a damaged screen :thinking:

What overlay was used on Raspbian?

I installed it according to the instructions of
sudo rm -rf LCD-show
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
chmod -R 755 LCD-show
cd LCD-show/
sudo ./LCD35-show

The main difference seems to be the use of driver “fbturbo” instead of “fbdev”. In Buster based Volumio “fbturbo” did not work anymore, because of the module “fbturbo” was (is) missing.

So, when you are back to Volumio you may try to install the package “xserver-xorg-video-fbturbo”

sudo apt-get install xserver-xorg-video-fbturbo

to overcome this issue and then revert the change of the driver in your “/usr/share/X11/xorg.conf.d/99-fbturbo.conf” so it reads

Driver "fbturbo"


i gave up the 3.5 inch spi monitor and i bought a new one it looks like in the link 3.5inch HDMI Display-B - LCD wiki
now i don’t know how to install it

it is reverse induction

What files did you add or modify?

Also please post the results of

cat /boot/config.txt

cat /boot/userconfig.txt

initramfs volumio.initrd

include userconfig.txt

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

hdmi_cvt 480 320 60 6 0 0 0
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy =1,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900