This is an old revision of the document!
Raspberry Pi: Add TFT Screen
Batocera works fine with screen that are connected through the Pi's HDMI port. But some extra work is required to make it work with screens connected to the DPI or SPI ribbon/GPIO pins. Batocera already supports a few (undocumented) screens but more likely than not your screen isn't supported yet. Some extra effort is required to get this working.
Some drivers only work on 32-bit systems (most typically because Raspberry Pi OS is still 32-bit after all these years come on guys) so you will have to use Batocera v31 or earlier on the RPi3B+ or the last available 32-bit build, v29, for RPi4.
SPI/GPIO displays
- Acquire a compiled build of your drivers for your intended Raspberry Pi. If only the source is available, you may need to compile it yourself on the Pi. This is most often only possible on Raspberry Pi OS. Some displays may require you to compile with the option
DUSE_DMA_TRANSFERS=OFFbefore they'll start working. - Copy the compiled driver binaries to
/boot/. If necessary, copy the overlay file(s) (usually the*.dtsand*.dtbfiles) for your drivers to/boot/as well.- Alternatively, you can copy these files to
/userdata/system/, however this is ill-advisable as you'll miss out on the display working until after the splash screen and if you ever use that card on another Raspberry Pi you effectively won't get a display.
- Go to
/boot/config.txtand edit the line applicable to your display (usually mentioned in the driver's documentation, some displays require you to add new lines in while others require you to remove all dtoverlays). For example:dtoverlay=waveshare32b,rotate=90,speed=22000000,fps=60
- Boot up Batocera on the Pi, access it via SSH and execute the main driver binary. If the stars align and you are successful, you'll get an image on your screen:

- Add the command line you used to start the drivers to a custom early boot script. If this doesn't work, try using the later post-boot custom script instead (you'll lose out of seeing the splash screen if you use this method).
- add_tft_screen_rpi_only.1634017440.txt.gz
- Last modified: 5 years ago
- by atari