Setup RetroPie gaming station attachment
mouse 455 · person cloud · link
Last update
2019-01-10
2019
01-10
«raspi»

Setting up RetroPie

  • Check your locale settings with the locale command:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pi$ locale | sort
LANG=en_GB.UTF-8
LANGUAGE=
LC_ADDRESS="en_GB.UTF-8"
LC_ALL=
LC_COLLATE="en_GB.UTF-8"
LC_CTYPE="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"

and set missing values in /etc/environment:

1
2
LANGUAGE="en_GB:en"
LC_ALL="en_GB.UTF-8"
  • Login as pi, clone the setup script and run it:
1
2
3
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git ~/RetroPie-Setup
cd ~/RetroPie-Setup
sudo ./retropie_setup.sh

do a Basic Install and disable the splashscreen in Configuration to avoid a suddend switch to VT1 after the graphical login (see reddit Q/A and retropie faq).

  • Disable screenblanker by appending consoleblank=0 to kernel parameters in /boot/cmdline.txt.

  • Set memory split for the video card to at least 128MB via raspi-config.

  • Create a shortcut to launch EmulationStation from the Pixel desktop:

1
2
3
4
5
6
7
8
9
# ~/.local/share/applications/retropie.desktop
[Desktop Entry]
Type=Application
Name=RetroPie
Comment=Retro video game emulators
Exec=/home/pi/bin/start-retropie
Icon=/path/to/retropie.png
Terminal=false
Categories=Game;Application;

create the /home/pi/bin/start-retropie:

1
2
3
4
5
#!/usr/bin/sudo bash
systemctl stop lightdm # release the video card
sleep 1  # give lightdm the time to stop itself
chvt  1  # switch to the 1st foreground virtual terminal
/path/to/ttyecho -n /dev/tty1 "emulationstation ; sudo systemctl start lightdm"

then compile and install the ttyecho program (see attachment).

Make sure you have enabled console autologin on VT1 via raspi-config.

  • Optionally you can configure runcommand to show a game splashscreen by enabling Launch Menu Art in its configuration, and even set a system default image by installing the experimental package launchingimages.

  • Show scanlines:

    • Configuration > Retroarch > Enable shaders and overlays
    • Configuration > Configedit > Configure basic libretro emulator options > Configure default options for all libretro emulators > Video shader enable and Video shader file > crt-pi.glslp
  • When configuring controller you can skip buttons you don't have by simply long press a button.

  • Setup video mode:

Set your tv/monitor format by setting sdtv_mode=2 (PAL) in /boot/config.txt.

Set the low resolution VGA mode CEA-1 by putting in /opt/retropie/configs/all/videomodes.cfg:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
mame4all = "CEA-1"
mupen64plus = "CEA-1"
pifba = "CEA-1"
lr-beetle-ngp = "CEA-1"
lr-beetle-pce-fast = "CEA-1"
lr-beetle-supergrafx = "CEA-1"
lr-caprice32 = "CEA-1"
lr-fbalpha = "CEA-1"
lr-fceumm = "CEA-1"
lr-fuse = "CEA-1"
lr-gambatte = "CEA-1"
lr-genesis-plus-gx = "CEA-1"
lr-gpsp = "CEA-1"
lr-handy = "CEA-1"
lr-mame2000 = "CEA-1"
lr-mame2003 = "CEA-1"
lr-mgba = "CEA-1"
lr-mupen64plus = "CEA-1"
lr-nestopia = "CEA-1"
lr-pcsx-rearmed = "CEA-1"
lr-picodrive = "CEA-1"
lr-prosystem = "CEA-1"
lr-quicknes = "CEA-1"
lr-snes9x2002 = "CEA-1"
lr-snes9x2005 = "CEA-1"
lr-snes9x2010 = "CEA-1"
lr-stella = "CEA-1"
lr-vba-next = "CEA-1"
lr-vecx = "CEA-1"

in this manner your TV will do the upscaling work and the emulators will run faster.

Upgrading RetroPie version

1
2
3
cd ~/RetroPie-Setup
git pull
sudo ./retropie_setup.sh # and choose "Update" from the menu

When the upgrade is finished make sure the splashscreen is disabled.


Source: RetroPie HP, wired, Pixel & RetroPie, RP icon, TTYecho, change linux vt/tty

Retropie docs: Wiki, Manual install, RA hotkeys, Controller setup, Supported systems, Arcade HP & MAME info

PlayStation 1: convert ISO to PBP format on windows and linux -- see gtk-popstation and psx2psp/popstation by Ivan Vega

MAME resources: Snapshots and DAT/XML files, ES gamelist.xml script

Game systems DAT/XML files: HyperList


TODO/WIP: