Because the Raspberry Pi is more powerful than many vintage systems, most emulators run at an acceptable speed. A few (such as SNES) aren’t quite up to snuff. We can narrow this gap by overclocking the Pi, but there’s just one little gotcha to watch out for…

fbcp starts to misbehave if the core frequency exceeds 300 MHz.

Some of the higher overclock settings that raspi-config offers far exceed this…

Therefore, if you enable these faster settings, don’t immediately reboot…exit raspi-config to the command line and then edit the file /boot/config.txt to dial back the core frequency to an acceptable range (300 max):

After saving the changes, then reboot.

Moderate overclocking is usually trouble-free, but if you really push it, some systems won’t boot. Don’t panic! With an SD card reader, the /boot partition will mount normally on most computers, and you can edit the config.txt file there, dialing back the speed until you find a stable setting.

Bigger Text

The EmulationStation UI looks nice on a high-resolution monitor, but on the PiTFT the game lists can be hard to read. We can adjust the font size to help…

sudo nano /etc/emulationstation/themes/carbon/carbon.xml

(In earlier versions of EmulationStation, the file was called simple/simple.xml, and might change again in the future…you may need to poke around the “themes” directory to find the default settings file.)

Scroll down to the “gamelist” section and change any occurrence of the value of fontSize to 0.05.

After saving changes, you can either reboot, or (with USB keyboard attached) press F4 to exit followed by “emulationstation” to restart.

Configuring Individual Emulators

Settings for each emulator are stored in /opt/retropie/configs

Some are configured by editing text files…for example, /opt/retropie/configs/nes/retroarch.cfg

Others provide an interface in the emulator itself…for example, in MAME press the TAB key for a configuration menu that can be navigated with the keyboard.

Configuration for all the emulators is way beyond the scope of a single guide…but each emulator has its own web site and documentation, sometimes forums as well. A little Googling will reveal all the secrets. The RetroPie and EmulationStation web sites both have a ton of helpful information, including forums, FAQs and documentation.

Unfortunately the EmulationStation controls you previously configured are not automatically transferred to the emulators…each one will need work. This might be addressed in future versions of EmulationStation.

Adjusting GPU Memory

This tweak is mostly for the Model A or A+ and the very earliest Model B boards. With only 256 MB RAM available, one must split this carefully between CPU (which needs RAM for running emulators) and GPU (needing RAM for graphics). It’s a non-issue for later boards with ample RAM.

Edit the file /boot/config.txt

Search for any existing entries for gpu_mem_256, gpu_mem_512, or gpu_mem_1024. You may comment out or delete these lines.

Add a new line, or edit any existing entry for gpu_mem, setting its value to 44 megabytes:


Save the file and reboot.

Though the Pi can boot with as little at 16 megabytes of GPU memory, 44 MB is the bare minimum required for the EmulationStation menu to work.

With this modification, some parts of the EmulationStation UI might be more visually plain than before…solid colors instead of images, etc. This is normal. In exchange, most games will perform noticably better on these systems with limited RAM.

If you have a Model B, B+ or Pi 2 or 3, this adjustment isn’t necessary and won’t provide any benefit.

This guide was first published on Mar 12, 2015. It was last updated on Sep 19, 2017.

This page (Tuning & Tweaking) was last updated on Mar 10, 2015.

Text editor powered by tinymce.