Debian/Ubuntu
Retropie on Debian/Ubuntu/Mint
A guide to build the RetroPie setup on Ubuntu (18.04 LTS or later) x86 and Debian based distros.
Installation
First, install Ubuntu (18.04 LTS or later) or a related Debian based distro such as Linux Mint. ISO images can be used to create a bootable DVD or a USB stick and can be downloaded from http://www.ubuntu.com/download/desktop.
To run RetroPie-Setup, you must be a member of the group root/admin.
Download RetroPie
Update and upgrade the existing APT packages:
sudo apt update && sudo apt upgrade
Install the needed packages for the RetroPie setup script:
sudo apt install -y git dialog unzip xmlstarlet
NOTE: if you get any errors about any package not being found and you're using Ubuntu, make sure the universe
APT repository has been added and enabled on the system by running sudo add-apt-repository universe
and then starting again with the previous step.
Download the latest RetroPie setup script:
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
Enter the folder with the setup script:
cd RetroPie-Setup
The script is executed with:
sudo ./retropie_setup.sh
The screen should then appear like this:
Install RetroPie
Basic Install
This will install the main packages which are equivalent to what is provided with the RetroPie SD image. Note that this will be the 32-bit version of RetroPie. That means that some emulators such as Daphne (Dragon's Lair) will not work out of the box on this version. That is because Daphne and a few other emulators only have a 64-bit version released for use while this install is for the 32-bit CPU family.
Now, you have to copy your rom files into the correct associated rom directories. If you followed the steps above the main directory for all roms is ~/RetroPie/roms
(or /home/pi/RetroPie/roms
, which is the same here). In this directory there is a sub-directory for every supported emulated system, e.g., NES, SNES, Sega Megadrive, etc.
Attention has to be taken for the extensions of the rom files. Some emulators use .zip while some use a custom file extension associated with the emulator in question. For example the Atari 2600 emulator may use .a26, .bin, and .rom.
All the information needed for each system is detailed in this wiki. See the wiki home page or sidebar for systems.
Configure RetroPie
EmulationStation can be run from the terminal by typing emulationstation
in the terminal.
You can go into Setup / Configuration and enable autostart as you like.
FAQ
- Emulationstation hangs if shutdown/restart was selected
- Cannot Install PS3 driver
- Screen blanks after some minutes
- Ubuntu does not autologin
- How to setup a splashscreen
- My NUC or Intel Baytrail/Braswell powered device hangs
- No audio
- No audio in Mupen64Plus
- XBOX 360 Controller mappings not working
- SteamOS hack to allow installation
Emulationstation hangs if shutdown/restart was selected
It is not possible to restart/shutdown if a sudo requests a password. To disable sudo password request add the line
<user> ALL=(ALL) NOPASSWD:ALL
at the end of /etc/sudoers
. Replace <user> with the name of your current user.
Cannot Install PS3 driver
Ubuntu has an builtin PS3 bluetooth driver. There is no need to install sixad. Make your bluetooth dongle discoverable. Connect your controller over usb. Now open "bluetooth system settings/add device". Select PS3 controller and click ok. Your controller should pair now if you press PS button.
sidenote: https://retropie.org.uk/forum/topic/2736/ubuntu-16-04-install-genuine-ps3-controller-issue
Screen blanks after some minutes
Open Ubuntu system settings menu disable screensaver and screen lock timeouts.
Ubuntu does not autologin
Open Ubuntu system settings menu and select user accounts. Enable autologin for current user.
How to setup a splashscreen
Use Plymouth to setup a splash screen. See the Plymouth Ubuntu wiki or use this simple ES theme.
My NUC or Intel Baytrail/Braswell powered device hangs
The default kernel 4.1 of Ubuntu 15.10 tends to hang. It is a know bug: https://bugs.freedesktop.org/show_bug.cgi?id=91629
Update to higher kernel version solves this problem: http://sourcedigit.com/18333-how-to-install-linux-kernel-4-3-3-on-ubuntu-15-10-ubuntu-15-04/
No audio
Open Ubuntu System Settings menu and select correct audio output device.
No audio in Mupen64Plus
EmulationStation's use of PulseAudio will conflict with the SDL driver in Mupen64Plus, disabling sound in N64 games. If you are using lr-Mupen64plus, you will not have this conflict.
From a terminal:
aplay -l
Example output:
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
Make a note of which card and device you use for audio. For example, for HDMI audio, consider the line card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
. In this case, we would want card 0 and device 3.
Create the file /etc/asound.conf
with the contents:
ctl.!default {
type hw
card 0
device 3
}
pcm.!default {
type hw
card 0
device 3
}
Make sure to change the values of card and device to the values found by running aplay -l
above.
The SDL driver in Mupen64Plus will now use the proper audio device, but it will still conflict with PulseAudio in EmulationStation. Open /opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh
in your favorite editor. Find the following lines at the bottom of the file:
else
"$rootdir/emulators/mupen64plus/bin/mupen64plus" --noosd --fullscreen --rsp ${RSP_PLUGIN}.so --gfx ${VIDEO_PLUGIN}.so --audio mupen64plus-audio-sdl.so --configdir "$configdir/n64" --datadir "$configdir/n64" "$ROM"
fi
Change them to:
else
mv $HOME/.config/pulse/client.conf $HOME/.config/pulse/client.conf.bak
echo autospawn = no > $HOME/.config/pulse/client.conf
/usr/bin/pulseaudio --kill
"$rootdir/emulators/mupen64plus/bin/mupen64plus" --noosd --fullscreen --rsp ${RSP_PLUGIN}.so --gfx ${VIDEO_PLUGIN}.so --audio mupen64plus-audio-sdl.so --configdir "$configdir/n64" --datadir "$configdir/n64" "$ROM"
mv $HOME/.config/pulse/client.conf.bak $HOME/.config/pulse/client.conf
/usr/bin/pulseaudio --start
fi
This will stop PulseAudio from running while Mupen64Plus is running, but turn it back on when you quit it.
XBOX 360 Controller mappings not working
The X86 version of Retropie install does not have the xboxdrv installed correctly. Please launch Retropie-Setup Manage Packages - Drivers and install xboxdrv and remap your inputs.