RPi4-based Picade Retropie Installation Issues - Solved!

I built a RPi4-based Picade Console this Christmas (December 2023), and thought I’d share a couple of snags I hit, and fixes I found, when building it, just in case it helps anyone else out in the same boat:

  1. After installing the picadehat software and rebooting, instead of launching EmulationStation at the end of booting Raspbian, the screen just went blank.

    • To fix this, I tweaked the values in /boot/config.txt related to the hdml display to get the display to work correctly (see below for the actual details).
  2. Once EmulationStation was up and running, and I’d transferred over some games, I tried running them, but every time the screen faded to almost-black (you could just about make out the list of games) and didn’t start the game.

    • To fix this, I removed a line from /boot/config.txt that was turning on the audio, leaving only the line that the picadehat software had written that turned the audio off (again, see below for the details).

I don’t know how “normal” my experiences are but I thought there’s a possibility that there are others building RPi4-based Picades this Christmas who might hit the same issues, so I thought it worth sharing.

Here’s a diff of my working config.txt and the original config.txt that gets saved as config.txt.picade-preinstall during the installation


$ diff /boot/config.txt /boot/config.txt.picade-preinstall

28,29c28,29

< hdmi_group=2

< hdmi_mode=16

---

> #hdmi_group=1

> #hdmi_mode=1

33c33

< hdmi_drive=2

---

> #hdmi_drive=2

57,58c57

< #dtparam=audio=on

< dtparam=audio=off

---

> dtparam=audio=on

68,69d66

< dtoverlay=picade

<

(if you’re not familiar with diff, lines starting with < are lines that I’ve added, lines starting with > are lines I’ve removed)

My entire, working, config.txt is as follows:


$ cat /boot/config.txt

# For more options and information see

# http://rpf.io/configtxt

# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode

#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible

# and your display can output without overscan

#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console

# goes off screen, and negative if there is too much border

#overscan_left=16

#overscan_right=16

#overscan_top=16

#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus

# overscan.

#framebuffer_width=1280

#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output

#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)

hdmi_group=2

hdmi_mode=16

# uncomment to force a HDMI mode rather than DVI. This can make audio work in

# DMT (computer monitor) modes

hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or

# no display

#config_hdmi_boost=4

# uncomment for composite PAL

#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.

#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces

#dtparam=i2c_arm=on

#dtparam=i2s=on

#dtparam=spi=on

# Uncomment this to enable infrared communication.

#dtoverlay=gpio-ir,gpio_pin=17

#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)

#dtparam=audio=on

dtparam=audio=off

[pi4]

# Enable DRM VC4 V3D driver on top of the dispmanx display stack

dtoverlay=vc4-fkms-v3d

max_framebuffers=2

[all]

#dtoverlay=vc4-fkms-v3d

overscan_scale=1

dtoverlay=picade

I ought to do a proper write-up of the whole thing but hopefully this will be enough to help someone. Feel free to add comments if something doesn’t make sense!

Thanks