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

Комментарии • 64

  • @gamecat666
    @gamecat666 3 года назад

    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.

    • @BytesNBits
      @BytesNBits  3 года назад

      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!

  • @arthurperini
    @arthurperini 2 года назад +1

    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.

    • @BytesNBits
      @BytesNBits  2 года назад

      Great. It should improve the display quite a bit.

  • @powerguidissimo1
    @powerguidissimo1 2 года назад

    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.

    • @BytesNBits
      @BytesNBits  2 года назад +1

      Excelente. Fico feliz que tenha achado útil. Boa sorte com o projeto!

  • @douphowto
    @douphowto 3 года назад

    Very useful thanks, let the tweaking commence.

  • @ashketchum1244
    @ashketchum1244 9 месяцев назад +1

    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

    • @BytesNBits
      @BytesNBits  9 месяцев назад

      Great to hear you got it working.

  • @horsejohnson7959
    @horsejohnson7959 3 месяца назад

    This is basically streaming but it's a genius optimization in any implementation

    • @BytesNBits
      @BytesNBits  3 месяца назад

      Yes. A great piece of software.

  • @Iskelderon
    @Iskelderon 5 месяцев назад

    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.

    • @BytesNBits
      @BytesNBits  5 месяцев назад

      Sounds great! Give it a go.

    • @horsejohnson7959
      @horsejohnson7959 3 месяца назад

      Static is a good example of what this won't work well on because practically every pixel is changing

    • @horsejohnson7959
      @horsejohnson7959 3 месяца назад

      Static is a good example of what this won't work well on because practically every pixel is changing

    • @Iskelderon
      @Iskelderon 3 месяца назад

      @@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.

  • @romiolover6852
    @romiolover6852 2 года назад

    Great, Thank you a lot, but i wonder if the touch is still working with this new driver ?

    • @BytesNBits
      @BytesNBits  2 года назад

      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.

  • @hosniarafet2054
    @hosniarafet2054 17 дней назад

    You are amazing

  • @mintcarcreative2424
    @mintcarcreative2424 Год назад

    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?

    • @BytesNBits
      @BytesNBits  Год назад

      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.

  • @elbedouirayen7938
    @elbedouirayen7938 3 месяца назад +1

    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?

    • @BytesNBits
      @BytesNBits  3 месяца назад

      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.

    • @palaciosele
      @palaciosele 5 дней назад

      ​@@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!

  • @alessiocirella3135
    @alessiocirella3135 10 месяцев назад

    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!

    • @BytesNBits
      @BytesNBits  10 месяцев назад

      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.

    • @rustom767
      @rustom767 8 месяцев назад

      it's because your running 64-bit OS this driver on works for 32-bit

  • @clicksandbeeps61
    @clicksandbeeps61 10 месяцев назад

    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.

    • @BytesNBits
      @BytesNBits  10 месяцев назад

      Shame about the driver. I hope you're getting a reasonable frame rate.

  • @arnolduk123
    @arnolduk123 21 день назад

    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.

    • @BytesNBits
      @BytesNBits  20 дней назад

      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.

    • @arnolduk123
      @arnolduk123 19 дней назад

      @@BytesNBits Thanks for the update!

  • @umutkayacan7659
    @umutkayacan7659 3 года назад

    nice

  • @user-xg2tl1qs2y
    @user-xg2tl1qs2y 5 месяцев назад

    is this will work with waveshare 35b v2 ?

    • @BytesNBits
      @BytesNBits  5 месяцев назад

      If it uses the same driver chip then yes

  • @SerVanzu
    @SerVanzu Год назад

    My display is fine in retropie, but whenever i boot an actually game it freezes up. Any idea what causes this?

    • @BytesNBits
      @BytesNBits  Год назад

      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.

    • @SerVanzu
      @SerVanzu Год назад

      @@BytesNBits Should I up the clock divisor then? or do you mean something else by speed.

    • @BytesNBits
      @BytesNBits  Год назад

      @@SerVanzu Yes. Increase the divisor to decrease the serial speed.

  • @Dr.Obscurus
    @Dr.Obscurus Год назад

    Got it working till running main loop when I reboot it doesn't show up on lcd. Pls help

    • @BytesNBits
      @BytesNBits  Год назад

      Make sure you add the start up script - ruclips.net/video/uz4sa24C4gk/видео.html

    • @Dr.Obscurus
      @Dr.Obscurus Год назад

      @@BytesNBits thanks. It works wonderfully now. I could barely run super mario world but not it works great. Great tutorial

  • @samuelebaiano6505
    @samuelebaiano6505 6 месяцев назад

    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

    • @BytesNBits
      @BytesNBits  6 месяцев назад

      Good to hear you found the solution.

    • @samuelebaiano6505
      @samuelebaiano6505 6 месяцев назад

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

  • @mangobob1184
    @mangobob1184 9 месяцев назад

    How to make screen run smoother?

    • @BytesNBits
      @BytesNBits  9 месяцев назад

      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.

  • @TamactiJun74
    @TamactiJun74 3 месяца назад

    Quando scrivi make -j dopo tutto il procedimento mi da errore…….perche ?

    • @BytesNBits
      @BytesNBits  3 месяца назад

      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.

  • @jarkin94
    @jarkin94 Год назад

    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?

    • @BytesNBits
      @BytesNBits  Год назад

      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.

  • @katokira260
    @katokira260 Год назад

    cool you save me
    does this effect on cpu ?

    • @BytesNBits
      @BytesNBits  Год назад

      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.

  • @helloworld669
    @helloworld669 Год назад

    Im getting unrecognized command-line option error

  • @Dr.Obscurus
    @Dr.Obscurus Год назад

    Would it be portable though?

    • @BytesNBits
      @BytesNBits  Год назад

      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

    • @BytesNBits
      @BytesNBits  Год назад

      Is it just your keyboard doesn't have one or are you having a problem getting it to register?

    • @редкийвужас
      @редкийвужас Год назад

      @@BytesNBits keybord