Fastest FPS on Your Raspberry Pi SPI LCD Screen - RetroPie playable on a cheap LCD panel
HTML-код
- Опубликовано: 26 апр 2021
- There are a lot of cheap LCD screens for the Raspberry Pi. The cheapest use an SPI serial interface to connect to the computer. But this serial connection can lead to very slow screen updates and frame rates as low as 5 FPS. You really can't play games with these!
But with a new driver and a few tweaks we can get towards the ideal 60 frames per second for super smooth animation.
I'll show you how to set up a cheap, generic 3.5 inch LCD panel and get it from unplayable to around 30-40 FPS - and this is quite a slow display! Even at this rate gaming becomes a pleasure.
Make sure you check out my website for full details, links and code that you need for this project.
bytesnbits.co.uk/retropie-lcd...
EXCELLENT video, thanks a lot. I was searching for a better driver for these screens but this was the best resource I found. I wasnt sure if a waveshare 35a worked with this driver but this proves it does. I tried mine on a Pi1 (just out of sheer curiousity) and I dont get anywhere near as good results as you do, even without using emulators. Maybe it just doesnt have the horsepower to drive the screen this fast.
Hi. Glad it helped. Have a look at my overclocking video for the Raspberry Pi. That might help out a bit on the RPi V1 setup. Have fun!
Great video. I've started to use tensor flow routines with Coral accelerator, but the results with a LCD 3.5 similar to it was terrible I'm going to try this driver.
Great. It should improve the display quite a bit.
Tenho exatamente essa tela do seu video, estava a anos parada sem uso, agora com sua ajuda irei retomar o projeto do meu videogame portatil, muito obrigado pelo video.
Excelente. Fico feliz que tenha achado útil. Boa sorte com o projeto!
Very useful thanks, let the tweaking commence.
Glad it was helpful!
hey mate, i bought a 8$ screen like this from aliexpress expecting it to be terrible
to my surprise after using your tutorial it's a pretty smooth 30-60fps in game. it's laggy in the home menu for some reason, but doesn't matter if the game plays perfect!
thanks for this
Great to hear you got it working.
This is basically streaming but it's a genius optimization in any implementation
Yes. A great piece of software.
Thanks, this sounds to be perfect for a project I'm planning to build later this year. A ghostbusters cartoon PKE Meter that displays mostly just vector-based graphs and the like, but in some modes will also show static graphics and short video elements that only cover a fraction of the overall screen (think animated pre-rendered logos).
Since it's not full-screen changes like a game, I should be able to hit a target of 24-30 frames on a Pi Zero 1.
Sounds great! Give it a go.
Static is a good example of what this won't work well on because practically every pixel is changing
Static is a good example of what this won't work well on because practically every pixel is changing
@@horsejohnson7959 The way the video describes it, it actually benefits from just such use cases with as little delta changes as possible, kinda like video compression.
In other words, this very kind of project where there's just reasonably small changes to regions because it will lessen the calculation load.
Great, Thank you a lot, but i wonder if the touch is still working with this new driver ?
Hi. To be honest I haven't tried it out in desktop mode. Hopefully the touch function is separate from the screen driver - I think it is.
You are amazing
Thank you.
Everytime I hit Ctrl C it doesn’t take me back to the command prompt and the tft screen stops mirroring the display? What am I doing wrong?
Hi. I think the Ctrl C is getting picked up by the screen driver software and exiting that. Have you set it to run at startup rather than manually starting it? That should drop it into the background.
Thank u for the video please i have a problem, after ctrl+c and reboot lcd didn't work even hdmi screen is working well, what should i do please?
Did you redo the steps in the video to get the driver software enabled. The reboot might have stopped it so it will need restarting.
@@BytesNBitsI am facing the same issue. When I run the fbcp-ili9341 file, the screen is working and replicates the code that is outputed by the HDMI, but turns to white as soon as I press ctrl + c. What could be the cause of this? I am using a rpi 4B. Thank you in advance, and for the great tutorials!
hi there! i first want to thank you for the great video and explanation.
i then kindly wanted to ask you how can I solve the "unrecognized command line option" error in cmake. I know this video is a bit old, and so is the project on github, so i first thought there was a conflict between versions... but I don't know if that's right.
These are the errors I get:
c++: error: unrecognized command-line option ‘-marm’
c++: error: unrecognized command-line option ‘-mfloat-abi=hard’
c++: error: unrecognized command-line option ‘-mhard-float’
c++: error: unrecognized argument in option ‘-mabi=aapcs-linux’
c++: note: valid arguments to ‘-mabi=’ are: ilp32 lp64
c++: error: unrecognized argument in option ‘-mtls-dialect=gnu2’
c++: note: valid arguments to ‘-mtls-dialect=’ are: desc trad
and they seem to repeat many times in the output. so any help is appreciated!
These look like make file errors. Did you follow the instructions in the video? As you say the video needs updating so it may well be a version issue.
it's because your running 64-bit OS this driver on works for 32-bit
Didn’t work with mine :(
Sprung up an error code
Checked the controller my lcd uses
And none of the builds matched my controller :(
However, did manage to follow your other tutorial to make my display faster! Another thing you can do is overclock the pi with the 800mghz command, and then you can have a slightly-higher-than 24000000 rate, making it slightly faster.
Shame about the driver. I hope you're getting a reasonable frame rate.
I know it's an olde video but what release of RetroPie are you using in the video and would this method still work with latest Retropie 4.8 ? I'm surprised RetroPie does not include this module by default considering how many homebrew handhelds/emulators are using these type of displays.
This video is a bit out of date now. Since Feb 2024 the Raspberry Pi OS has changed the base display firmware that the fbcp driver was based on. You can still download the code and build the project but you'll need to use an OS version from 2023 or before.
@@BytesNBits Thanks for the update!
nice
Thanks
is this will work with waveshare 35b v2 ?
If it uses the same driver chip then yes
My display is fine in retropie, but whenever i boot an actually game it freezes up. Any idea what causes this?
You might have the speeds turned up too high. I found that at the very top speeds Retropie seemed only just stable but gaming screens fell apart.
@@BytesNBits Should I up the clock divisor then? or do you mean something else by speed.
@@SerVanzu Yes. Increase the divisor to decrease the serial speed.
Got it working till running main loop when I reboot it doesn't show up on lcd. Pls help
Make sure you add the start up script - ruclips.net/video/uz4sa24C4gk/видео.html
@@BytesNBits thanks. It works wonderfully now. I could barely run super mario world but not it works great. Great tutorial
help please, i got a lot of errors when i tried to do make -j... what i have to do?
SOLVED: DO NOT use 64 bit version of rasbian os
Good to hear you found the solution.
@@BytesNBits but now the problem is that it doesn't work on retropie os... And your video is on retropie... Wtf? I see white screen, doing the same steps worked for me on raspbian
How to make screen run smoother?
This is about as good as it gets. The driver in this video is optimising the frames to get the framerate up. If you want better you'll need to move to an HDMI display.
Quando scrivi make -j dopo tutto il procedimento mi da errore…….perche ?
I'm not sure. Did you follow all the steps and did the source code download OK. Have you got the compiler installed and updated.
Hi great video, very helpful! struggling with getting the screen to boot each time the pi is restarted. I am running PINN and then booting into RetroPi, i have added the "sudo /home/pi/fbcp-ili9341/build/fbcp-ili9341 &" line to my rc.local file but hasnt worked.
once the pi has booted if i SSH in and run "sudo /home/pi/fbcp-ili9341/build/fbcp-ili9341 &" the screen starts. Any ideas on how to correct this?
I suspect either your rc.local file isn't being run or something after that is resetting the display. You'd need to trace through to find out what's happening.
cool you save me
does this effect on cpu ?
Hi. It will have some effect on the overall RPi speed as there are a lot more calculations going on. Hard to say how much. You'd need to play around.
Im getting unrecognized command-line option error
It stopped at 53%
Which part did it crash on?
Would it be portable though?
If you add a battery pack it will be fine. Probably not great battery life but it will be portable.
I cant do hash button
Is it just your keyboard doesn't have one or are you having a problem getting it to register?
@@BytesNBits keybord