Why do some emulators not show up?

The RetroPie SD image only ships with the most common emulators, if a system you want is missing you first need to make sure that emulator is installed. The details for installing additional emulators is explained on the first installation page

If the system still doesn't show up in Emulation Station, only emulators with ROMs inside its respective folder will show up in the EmulationStation GUI (given that the specific emulator is installed). For example, for the Nintendo 64 emulator to show up, you must have at least one ROM in the ~/RetroPie/roms/n64/ folder. For ROM types supported by each emulator, go to the wiki page for that specific system/emulator.

Why can't I SSH as root anymore?

The root password is disabled by default (as is the case for Raspbian and many other linux distros).

before setting a root password, the following must be edited

sudo nano /etc/ssh/sshd_config

look for

PermitRootLogin without-password

change it to

PermitRootLogin yes

then ctrl+x to save,

next set your root password:

sudo passwd root

restart your Pi to register your changes

see these posts for more details:



Reset ownership/permissions of /home/pi/RetroPie roms

To reset all your rom file ownerships back to the "pi" user, enter the RetroPie-Setup Script

navigate to Configuration / Tools >> resetromdirs

Where did the desktop go?

The PIXEL (formerly LXDE) desktop environment was removed from the RetroPie image to keep it smaller.

It can easily be installed from the RetroPie Setup Script

in Configuration / Tools >> Raspbiantools >> Install Pixel Desktop Environment

after installation it will be accessible from the ports menu of EmulationStation or can be called from the command line with startx


You can also install it manually with:

sudo apt-get install --no-install-recommends lxde
sudo apt-get install xorg raspberrypi-ui-mods rpi-chromium-mods

And then you can access it from the terminal by typing in


After installation your pi will boot into the desktop environment, you can change the behaviour to boot into emulationstation by selecting the autostart option for emulationstation from the configuration/tools section of the setup script, or you can set the autologin to console option from the boot options of the raspi-config menu.

Note that failing to run startx after the installation may prevent other XWindow-based applications from starting (e.g. Micropolis port), so do launch the desktop after installation to ensure that it is fully set up.

Note that you cannot run PIXEL and Retropie at the same time. You will need to log out of PIXEL completely to start EmulationStation

Why does shut down and reboot take ages?

Previous to RetroPie 3.4, there was an issue whereby EmulationStation was terminated on reboot/shut down, rather than shut down 'cleanly'. This has now been fixed, so every time you reboot/shut down EmulationStation rewrites all metadata about your roms, so that play counts, last-played dates, etc., are saved. This has the side-effect of the causing the whole process to take longer, relative to how many ROMs you have. MAME/FBA ROMs can often form the bulk of libraries, so it might be helpful to remove clones by rebuilding your set with a custom parent-only DAT.

An option has been added starting with RetroPie 3.7 to decide whether or not you want metadata saved on exit. main menu metadata

  • Save Metadata On Exit: If on, it will read and write all the info for your roms which can lead to long boot and shutdown times if you have large romsets. If you turn it off it will not write those changes which means it also will not write how many times you've played a game, any new game scrapes, etc. This is on by default.

  • Parse Gamelists Only: If on, it will only read the roms you have scraped, so if you add any new roms it will not look for them unless you turn this back off. it is off by default.

How do I hide the boot text?

NOTE that you should be comfortable with editing files in Linux as any wrong edits on the following file can break your boot sequence requiring a reimage of your SD card!

sudo nano /boot/cmdline.txt

change console=tty1 to console=tty3

If not present add quiet loglevel=3 plymouth.enable=0 logo.nologo at the end (note that recent RetroPie images include quiet loglevel=3 by default)

make sure it is all on the same line!!!

The logo.nologo option is what turns off the raspberries on boot.

You can also disable the rainbow splash at the beginning (not to be confused with the underpowered rainbow square the appears in the top right corner of your screen indicating you have an insufficient power supply)

Add disable_splash=1 in /boot/config.txt

As of 01/10/2016 the latest set of Raspbian updates causes boot text to be displayed again. To restore default RetroPie image behaviour you need to add plymouth.enable=0 - future RetroPie images will include this by default.

How do I boot to the desktop or Kodi

In retropie setup script>>Configuration / tools>>autostart


  • Start EmulationStation at Boot: Boots into EmulationStation.
  • Start Kodi at Boot: Boots into Kodi- if you exit Kodi you will be returned to EmulationStation.
  • Manually Edit /opt/retropie/configs/autostart.sh: you can manually add other programs to start on boot.
  • Boot to text console (autologin): Boots into the terminal.
  • Boot to Desktop: If you have a desktop environment installed like LXDE this will boot into the desktop. Note you'll want to disable the retropie splash from the setup script first.

How do I remove the black borders?

See Overscan

How do I change which buttons to press to exit an emulator with a controller?

Hotkeys are combinations of buttons you can press in order to access options such as saving, loading, and exiting games. The following defaults are set automatically the first time you set up your controller from emulationstation.

Default joypad hotkeys:

Hotkeys Action Code Example
Select Hotkey input_enable_hotkey = "6"
Select+Start Exit input_exit_emulator_btn = "7"
Select+Right Shoulder Save input_save_state_btn = "5"
Select+Left Shoulder Load input_load_state_btn = "4"
Select+Right Input State Slot Increase input_state_slot_increase_btn = "h0right"
Select+Left Input State Slot Decrease input_state_slot_decrease_btn = "h0left"
Select+X RGUI Menu input_menu_toggle_btn = "3"
Select+B Reset input_reset_btn = "0"

You can adapt the above code example and choose the button number to your desired button for each hotkey function in the retroarch.cfg files for most systems (at least all the emulators that are part of RetroArch)

You can change it per controller with your autoconfig file here


You can Hardcode it globally for all systems here:


or set it by system


See HERE for more information on custom controller configs

Does Super Mario All Stars work?

The ROM does work with lr-snes9x2002 and lr-snes9x2010.

From http://blog.petrockblock.com/2012/07/22/retropie-setup-an-initialization-script-for-retroarch-on-the-raspberry-pi/#comment-818063235:

I found out that after the selection of a game, the control goes over to the second controller! This seems to be somehow a speciality of the All-Stars ROM. But at least, it is playable :-)

Alternatively, if you only have one controller (or play alone) you can do the following:

From http://www.raspberrypi.org/forums/viewtopic.php?f=78&t=79083

I managed to figure out a fix so the controls work in Super Mario All-Stars and also doesn't break other games (Mario Kart, Super Bomberman etc). This problem has been bugging me for ages and I had to figure out a way to play this game for nostalgia sake. This fix will unfortunately mean player two controls wont work for other games (but I play alone anyway and this is for people with one controller). Simply post this in your blank retroarch.cfg in the snes folder. P.S Remember to change the button numbers/axis for you own controller.

How do I extend the available space when upgrading to a larger SD card

  1. Navigate to the command line interface by either hitting F4 in EmulationStation or using the main menu to exit
  2. Type in the following command: sudo raspi-config
  3. Select option "7. Advanced Options"
  4. Select option "A1. Expand Filesystem"
  5. Reboot your Raspberry Pi

How would I start from command line, say, the SNES emulator by itself?

You can run a SNES rom by calling

retroarch -L /opt/retropie/libretrocores/lr-snes9x2010/libretro.so /home/pi/RetroPie/roms/snes/nameofyourrom.smc

If you'd like keyboard configurations to work add

--config /opt/retropie/configs/all/retroarch.cfg

Is there another way to set up the gamepad for use, e.g., within the snes emulator?

Follow the RetroArch-Configuration guide:

The PSX emulator reports no BIOS found. What do I do?

Ensure the bios file(s) is/are all lowercase and put them in


More information about PSX BIOS files can be found on the PSX page.

How do I calculate the md5sum or CRC32 of a BIOS file?

An example to calculate the md5sum for the Game Boy Advance BIOS file gba_bios.bin

md5sum /home/pi/RetroPie/BIOS/gba_bios.bin

And this would be how to calculate the CRC32 for gba_bios.bin

crc32 /home/pi/RetroPie/BIOS/gba_bios.bin

If these commands are not found, then you will need to install md5sum and CRC32

sudo apt-get install libarchive-zip-perl

Which memory split should I use?

Using the raspi-config or rpi-update script, one can change the RAM splitting for the Raspberry Pi. Depending on your hardware setup you might have to change your splitting.

From ToadKing:

If you're on 224/32, you can't run it (i.e., RetroArch) on a HD display. You'll have to use the 192/64 split at least.

A Raspberry Pi B/B+/2 is highly recommended. The GPU should have at least 256MB RAM. If you have a Raspberry Pi A/A+ it is not possible to scrape games and use system themes.

Why aren't my in-game saves working properly?

All retroarch emulators use the same method to save to your .srm or SRAM. The default behavior is to only write to your srm file upon a clean exit back to emulationstation. This is done by default with the exit hotkey start+select. If the game happens to completely freeze or crash, it's likely that you will lose in-game progress even after saving.

Besides using save states, one optional method you can use to prevent this accidental loss in progress is the autosave_interval setting. This setting can be changed in /opt/retropie/configs/all/retroarch.cfg either with the terminal, Configure Retroarch / Launch RetroArch RGUI under settings->saving, or Edit RetroPie/RetroArch configurations under Manually edit Retroarch configurations. Once autosave_interval is set to equal a number of seconds, retroarch will automatically write your save data to the srm file every interval of that number of seconds.

Why Can't I Insert Coins in Arcade Emulators?

It's the Select button in RetroArch. By default, it's right shift. Note that this issue should now be fixed.

Sometimes there are conflicts between the hotkeys and insert coin buttons so they need to be swapped manually in the retroarch.cfg in order for the select key to insert coins properly. The hotkey button was originally intended to be an unused button but some controllers like snes controllers don't have extra buttons.

For example you can switch the hotkey button to a button that you don't use:

so in mame retroarch.cfg


you could add

input_enable_hotkey_btn = 5

which would make the hotkey the left bumper (on my controller- may be a different button for yours) then the select key should work for inserting coins. but in the future in order to exit mame I would then have to press left bumper+start as i changed my hotkey to the left bumper.

You can do the same thing for fba-libretro


Another simple workaround is to use player 2's select key to insert coins but it may not work for some games.

Related post

How can I increase the console font size?

Recent versions of the RetroPie-Setup script include a Console Font script module at Configuration / tools -> consolefont.

Alternatively, you can execute the following command and follow the instructions on screen:

sudo dpkg-reconfigure console-setup