Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

[GUIDE] Retropie + 3.5 inch RPi LCD v3.0 (no brand)



  • Hi everyone, after months of useless guides followed on google my 3.5 LCD now work on retropie ! Now im here for share this guide for everyone.

    Two months ago i brought this lcd from ebay:

    0_1474401597688_1pc-3-5-inch-b-b-lcd-touch-screen-display-module-320-x-480-for-raspberry.jpg

    This LCD its a clone of the Waveshare 3.5 and we can use the same drivers. But all guides on various forums are made on a fresh Raspian OS install. This guide is for install correctly this LCD on a fresh install of RETROPIE, actually the 4.0.2. Here we go:

    With the 4.0.2 u dont need to expand file sistem because this last version will do it for u at the first boot! U just have to setup a gamepad, check your IP and force the audio in 3.5mm jack

    git clone https://github.com/swkim01/waveshare-dtoverlays.git

    sudo cp waveshare-dtoverlays/waveshare35a-overlay.dtb /boot/overlays/waveshare35a.dtbo
    (this is very important because most guide are for 3.2 inch so if u have the waveshare 3.2 u must exchange the word "waveshare35a " in "waveshare32b" but no one say that xD)

    sudo nano /boot/config.txt
    (copy and paste this at the very bottom)
    dtparam=spi=on
    dtoverlay=waveshare35a

    (remember here again if u have the 3,2 inch u must change in waveshare32b)
    (CTRL+X, then Y, enter key)

    sudo reboot

    ls /dev/fb*
    (if u do correctly all above u must see in yellow dev/fb0 /dev/fb1 where fb1 its your LCD correctly installed)

    sudo apt-get install cmake
    git clone https://github.com/tasanakorn/rpi-fbcp
    cd rpi-fbcp/
    mkdir build
    cd build/
    cmake ..
    make
    sudo install fbcp /usr/local/bin/fbcp

    sudo nano /etc/rc.local

    (at the very bottom BEFORE "exit 0" you have to add this line)
    /usr/local/bin/fbcp &
    (CTRL+X, then Y, enter key)

    sudo reboot

    Now u can see one black border on upper and bottom of screen. For leave it u can go on:

    Retropie -> Raspi-Config -> Advanced -> Disable Overscan -> Reboot

    Here we go, we have a fullscreen with no black borders and fully working! There is just a problem about speed because its very slow. I see on youtube people with the same LCD play with it very fast but i dont know how to setup the SPEED and FPS sudo nano /boot/config.txt
    I tried many speeds and FPS config but still slow.

    If someone could help me to make it fast would be great ^_^

    Thanks for all in advance and i hope my guide will be usefull. U can see this guide on my Youtube channel. If u found a solution about the speed u can comment there on my channel too and here XD

    Cya!



  • @Taft great guide!! some of the tft screens out there can be a bit tricky to identify

    I think the issue you have with speed is purely down to the overhead of it all. The pi is having to grab the screen image, then convert it into something the TFT can then display. some of the fast demos you might have seen, could have been coded directly for the screen, rather than it being the pi-fbcp that you are using here (I could be wrong)

    speed with 240x320 screens isn't too bad, but the 320x480 might just be that step too far (going from 76,800 pixels per refresh, up to 153,600, which is pretty much double!!)



  • @moosepr So u think if i change the resolution would be fast and no color glitch?



  • @Taft I'm not sure if I'm honest. It might make it faster, but the screen might not like the lower resolution. Might try and scale it and look a blurry mess. Give it a go though



  • Ciao Taft mi sono registrato al sito per chiedere il tuo aiuto inerente un LCD 3.2 TFT.
    ho eseguito la tua guida ma senza esito positivo. Il prodotto in questione è uguale al tuo.
    Mi potresti aiutare per una corretta installazione del prodotto ?
    La mia mail è: tidus291@hotmail.com



  • This:

    dtoverlay=waveshare35a,fps=50,speed=48000000,debug=32

    Not perfect, but better than yours.

    Anybody else

    Thanks for your tutorial!

    Best regards
    zuendy



  • @Taft
    Awesome thanks to your guild I finely got something to display from RetroPie @ my ebay 3.5" nameless display! thx!

    @zuendy
    This indeed seems to respons a lot quicker, but for me it messes up the colors and also adds some noise in the screen.



  • @ray1618 try adding bgr=1 to the end of your screen command

    dtoverlay=waveshare35a,fps=50,speed=48000000,debug=32,bgr=1

    see if that helps. some of the screens do colours red/green/blue and others to blue/green/red. not sure it will work on the dtoverlay command, but its worth a shot.

    Also have a play with the speed value. I have been tweaking my ili9341 screen, and managed to get the speed all the way up to 90000000 with success (although this does of course depend on the screen)



  • @Taft the speed is a problem with only the 3.5" models. They have some stupid resolution that keeps them from being able to do 60fps. I think their max is like 30fps. You are better off getting a 3.2" or a backup camera 3.5"



  • @edmaul69 Do you have a suggestion of which screen to get (3.2") maybe something from ebay?



  • @tonyrocks the waveshare 3.2" screens are fine. its what i am putting in my gameboy zero.



  • I couldn't get my GPIO screen to work without problems, I ordered another 3.5" from spotpear on ebay WITH Hdmi connection. And like the support guy of spotpear promissed me: The screen works Without drivers as it just uses HDMI for the screen Yay!.

    So far it works just as I hoped it would! and it also has an 3.5mm jack for audio (wich workes without noise, UNLIKE my original pi audio out)

    You still can connect it to the GPIO for touch support (does need drivers) and power (just works when pugged in), but it's also possible to power it with another micro USB cable.

    http://www.ebay.com/itm/332082341660?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

    IF I ever receive my aftermarked gameboy case I'll let you know how it fits :)

    @moosepr
    I'll check out if the bgr=1 and speed change works out for my other GPIO screen



  • @Taft sorry I am new to linux or retropie. Could you tell me where should I enter the command in retropie. Many thanks T.T



  • @Taft hi I have successfully installed the driver after following your guidance. Yet the 3.5 showed white screen then turn black. Is there any error in the settings? Thank you.



  • Finally The LCD is able to show pictures but like your situation it is too slow. And the colour isn't stable. I am really frustrated....



  • I've done all the steps flawlessly, even though the screen is upside down for me, which I got it fixed later on. But now it is SO SLOWWWWW. Adding the lines suggested above into /boot/config.txt won't fix it at all, and even distort the colors. URGENT HELP SINCE I WANT TO COMPLETE MY PORTABLE RETROPIE SETUP!



  • I have recently been hacking on writing a new display driver for a WaveShare 3.5" (B) display and some other small Pi TFT displays, and also found out that the ILI9486 controller based WaveShare 3.5" inch screen is indeed quite slow. My copy of the display maxes out at 31.88MHz. I made a video about the best results I could reach at

    Other 480x320 Raspberry Pi SPI screens with different controller chips such as HX8357D and MZ61581 are much faster than ILI9486 (at least as present on the WaveShare). A table of SPI speeds of the different displays I have experimented with can be found at https://github.com/juj/fbcp-ili9341#which-spi-display-should-i-buy-to-make-sure-it-works-best-with-fbcp-ili9341 . The smaller 320x240 ILI9341 displays are also much faster, not just because of half the resolution, but also due to a 2.5x faster SPI bandwidth that ILI9341 controllers are able to provide, compared to the ILI9486. As result, ILI9341 are about 5x faster than ILI9486.

    Given the differences, for anyone considering the purchase of a 3.5" 480x320 display, I'd recommend those in the order MZ61581 > HX8357D > ILI9486; or if the serial connectivity is not a requirement, then save the trouble and pick up a DPI or HDMI connected display.



  • @Taft Thanks for this guide..
    i was able to get it to work with retropie well.. and dont see a screen lag..
    however i see a weird issue..and wondering if anyone can help..
    when hdmi cable is plugged / connected to monitor..i see dual display and the games run in correct resolution as in the whole game screen can be seen on the monitor as well as the 3.5 screen..
    however if i remove hdmi connection and reboot.. i see lcd screen resolution is fine but when i start a game..that game doesn't fit correctly on the screen. it's resolution is much larger so i can only see partial screen of the game.

    any idea how i can fix this issue?



  • Hi, looks like a good guide and people are having good outcomes from your advice but unfortunately for me it's not working! Using a Pi Zero W/retropie 4.4 - in the command "sudo cp waveshare-dtoverlays/waveshare35a-overlay.dtb /boot/overlays/waveshare35a.dtbo" It can't find the resource...

    Any advice you could offer a newcomer like me? The screen is lighting up and that's all!

    Thanks


 

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.