Retropie - Ubuntu 16.04 LTS x86 Flavor


A guide to build the RetroPie setup on Ubuntu 16.04 LTS x86 and related distros.

Tested with an Intel NUC Kit NUC5CPYH


Download and install Ubuntu 16.04 LTS. ISO image can be used to create a bootable DVD or a USB stick.

To run RetroPie-Setup user must be a member of group root/admin.

Section 2: Setup RetroPie

Section 2.1: Download

Update and upgrade the existing APT packages:

    sudo apt-get update && sudo apt-get upgrade

Install the needed packages for the RetroPie setup script:

    sudo apt-get install -y git dialog

Download the latest RetroPie setup script:

    git clone --depth=1

Enter the folder with the setup script:

    cd RetroPie-Setup

The script is executed with:

    sudo ./

The screen should look like/similar this at this point:

retropie-setup script 4-0-2

Section 2.2: Installation

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.

Section 2.3: Configuration

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.

Section 3: FAQs

Section 3.1: Emulationstation hangs if shutdown/restart was selected

It is not possible to restart/shutdown if a sudo requests an password. To disable sudo password request add the line $user ALL=(ALL) NOPASSWD:ALL at the end of /etc/sudoers. Replace $userwith the name of your current user.

Section 3.2: 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.


Section 3.3: Screen blanks after some minutes

Open Ubuntu system settings menu disable screensaver and screen lock timeouts.

Section 3.4: Ubuntu does not autologin

Open Ubuntu system settings menu and select user accounts. Enable autologin for current user.

Section 3.5: How to setup a splashscreen?

Use Plymouth to setup a splash screen:

Section 3.6: No audio

Open Ubuntu system settings menu and select right audio output device.

Section 3.7: My NUC or Intel Baytrail/Braswell powered device hangs (Ubuntu 15.10)

The default kernel 4.1 of Ubuntu 15.10 tends to hang. It is a know bug:

Update to higher kernel version solves this problem:

Section 3.8: No HDMI audio (Ubuntu 16.04)

Ubuntu 16.04 uses Pulseaudio 8 which has issues with HDMI if you suspend your device or change display resolutions at runtime. This problem will be solved with Ubuntu 16.10 and Pulseaudio 9. Mupen64plus runs a fullscreen resolution of 640x480. If your default resolution differs there will be a resolution switch and Pulseaudio will set another audio device. You can disable Pulseaudio auto output selection. Open /etc/pulse/ and comment out the line:

#load-module module-switch-on-port-available

Section 3.9: Xbox360 Controller mappings not working correctly

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.

Section 3.10: How do I map controls to Dolphin

Dolphin controls must currently be mapped via the GUI. You will need to drop down into terminal mode press F4 on your keyboard if you are currently in emulation station, hit the unity button and search for terminal. Click to launch. Change to the Dolphin directory

cd /opt/retropie/emulators/bin/dolphin-emu 
Launch dolphin emu

From there there graphical client will launch and you can bind your controller in the Dolphin Interface as well as change settings.

Section 3.11: Start+Select does not exit Dolphin

Dolphin is not a libretro emulator. Currently exit for Dolphin is hard mapped to Alt + F4 You can manually exit via your keyboard, and come back to emulation station. To map a button on your controller to exit Dolphin you will need to launch via the gui method above. Once in the menu navigate to Hotkey Behavior.
Switch the device indicator to your controller select the exit function and map a button like select to this function. You will also need to configure in the graphics window to always force window on top and to hide mouse/cursor

Now enter back into emulationstation mode and launch a dolphin game from the gamecube menu press x when the game is starting Select Dolphin-Gui instead of dolphin as the runcommand default emulator. Launch game You will now be able to exit back to emulationstation with that button you mapped.

Section 3.12: SteamOS hack to allow installation

While SteamOS is not based on Ubuntu 16.04 it is based on Debian 8 which is supported. Currently you can install it and it will set everything up properly. EmulationStation has issues launching roms just like through a manual installation. However the samba share setup and all other parts of RetroPie appear to function normally.

To start follow the same instructions of doing a git clone of the RetroPie repo. Then you have to edit


In the get_os_version() function the work-around is to change:

        error="Unsupported OS"



This will obviously override any platform checking done by the script and is very hacky, but it will let the retropie setup continue properly until actual support exists