Need help with 3.5inch rpi . screen problem

these are the commands that i installed

$wget https://github.com/goodtft/LCD-show/raw/master/usr/tft35a-overlay.dtb

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

$nano /boot/userconfig.txt

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

dtparam=spi=on 		

dtoverlay=tft35a:rotate=270

===============================
$wget https://raw.githubusercontent.com/goodtft/LCD-show/master/usr/99-calibration.conf-35-0

$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 https://raw.githubusercontent.com/goodtft/LCD-show/master/usr/99-fbturbo.conf -P /usr/share/X11/xorg.conf.d

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

#and change
Driver “fbturbo”
#to
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”
EndSection

===============================

The monitor I use is the same one in the picture

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

dtoverlay=tft35a:rotate=270,speed=24000000

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 lcdwiki.com
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"

again.

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
#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

include userconfig.txt

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

hdmi_force_hotplug=1
config_hdmi_boost=7
hdmi_drive=2
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=87
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

Am I correct that you are referring to the touch function?

If so, please enable the mouse pointer on the Touch Display’s config page. Then touch the screen in the four corners and describe in detail where the mouse pointer appears. Also move your finger from left to right and from top to bottom and describe how the pointer actually moves.

1 Like

when moving the touch to the left the cursor will move up

1 Like

In “/boot/userconfig.txt” try changing

dtoverlay=ads7846, ...

to

dtoverlay=ads7846
dtparam=cs=1
dtparam=penirq=25
dtparam=penirq_pull=2
dtparam=speed=50000
dtparam=swapxy=0
dtparam=pmax=255
dtparam=xohms=150
dtparam=xmin=200
dtparam=xmax=3900
dtparam=ymin=200
dtparam=ymax=3900