Retropie - Arch Linux Flavor
This tutorial was written by r4 (http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&t=46013) and is now adapted to work with AUR4 and apacman script.
A guide to build the retropie setup on Arch Linux. This guide is not all encompassing. It is merely a basic setup to build a similar environment offered on the official Retropie install script.
- Section 1: AUR tools
- Section 2: Install retroarch:
- Section 3: Install Emulators
- Section 4: Install ROMs
- Section 5: Install EmulationStation:
- Section 6: Launch EmulationStation at login
- Section 7: Auto login at boot
Section 1: AUR tools
wget https://aur.archlinux.org/cgit/aur.git/snapshot/apacman.tar.gz tar xzf apacman.tar.gz cd apacman makepkg -si
If makepkg reports an error, make sure you have base-devel installed:
pacman -Sv base-devel
Section 2: Install retroarch:
First we need a special build of sdl2 to make Retroarch and EmulationStation work the best with RPi/RPi2. Then next we can proceed on installing retroarch.
apacman -S sdl2-rbp-bin apacman -S retroarch-rbp-git
Section 2.1. Configuration
Copy skeleton configuration file located at /etc/retroarch.cfg to ~/.retroarch.cfg
cp /etc/retroarch.cfg ~/.retroarch.cfg
With your working joystick, configure your controller with the following command.
retroarch-joyconfig >> ~/.retroarch.cfg
Note: Ensuring your joystick is working will not be covered in this guide as this falls out of scope and there are plenty of other resources to help with this.
Consult https://wiki.archlinux.org/index.php/RetroArch for more information.
Section 3: Install Emulators
There are several emulators for retroarch. You can get a list of them by issuing the command below. Install whatever is necessary.
apacman -Ss libretro
Note: Some emulators may not work or may require manual building by downloading the associated tarball and issuing the command:
Section 4: Install ROMs
Make directory and install ROMs to ~/roms/.
mkdir -p ~/roms/snes cp /path/to/roms/* ~/roms/snes/
Section 5: Install EmulationStation:
EmulationStation is found in the AUR.
apacman -S emulationstation-git
Taken from https://github.com/Aloshi/EmulationStation.
~/.emulationstation/es_systems.cfg: When first run, an example systems configuration file will be created at $HOME/.emulationstation/es_systems.cfg. This example has some comments explaining how to write the configuration file, and an example RetroArch launch command. See the "Writing an es_systems.cfg" section for more information.
~/.emulationstation/es_input.cfg: When you first start EmulationStation, you will be prompted to configure any input devices you wish to use. The process is thus:
Press a button on any device you wish to use. This includes the keyboard. If you are unable to configure a device, hold a button on the first device to continue to step 2.
Press the displayed input for each device in sequence. You will be prompted for Up, Down, Left, Right, A (Select), B (Back), Menu, Select (fast select), PageUp, and PageDown. If your controller doesn't have enough buttons to map PageUp/PageDown, it will be skipped.
Your config will be saved to ~/.emulationstation/es_input.cfg. If you wish to reconfigure, just delete this file.
NOTE: If ~/.emulationstation/es_input.cfg is present but does not contain any available joysticks or a keyboard, an emergency default keyboard mapping will be provided.
As long as ES hasn't frozen, you can always press F4 to close the application.
With this you'll get the Simple theme, one of the most complete themes out there.
wget http://blog.nilsbyte.de/download/emulationstation-theme-simple-v1-4/ mkdir -p ~/.emulationstation/themes unzip es_theme_simple_v1.4.zip -d ~/.emulationstation/themes
Consult http://emulationstation.org/forum/index.php?board=6.0 for more information.
The ES-Scraper project is no more compatible with Emulation Station since
es_systems.cfg now is an XML file.
Section 6: Launch EmulationStation at login
Issue the command below to ensure EmulationStation starts at login.
echo 'emulationstation' >> ~/.bash_profile
or if you're using ZSH
echo 'emulationstation' >> ~/.zlogin
Note: The single quotes around the string being echoed are important!
Section 7: Auto login at boot
systemctl edit getty@tty1
and then write/paste this inside
[Service] Type=simple ExecStart= ExecStart=-/sbin/agetty --autologin <username> --noclear %I 38400 linux
save the file and reboot.
Now you should have a working environment similar to what retropie offers but in Arch Linux. Enjoy! :)