Retropie – Tips ‘n Tricks

Edit 03/2017 : This post is heavily outdated. I recommend using Lakka as your system of choice for your Raspberry Pi. Have a look and test it, you won’t miss Retropie!

I think that we can all agree that the Raspberry Pi is a wonderful piece of Hardware. Using Retropie, I wanted to be able to play some console games from the 8/16Bit Era. (NES, Mega Drive etc..)

However, out of the box, performance of some systems (especially Nintendo Systems), was very low. Even my Dingoo A320 (which has less CPU Power) out-performs the Raspberry Pi in almost every way.

Most noticeable was the sound, which was horrible in most Nintendo Games (SNES and Game Boy were the worst)

Lakka works much better out-of-the-box  and is way more user-friendly than Retropie.

 


Getting rid of crackling Sound

Garbage Sound in most Nintendo Emulators is very annoying, and due to a configuration issue (and also the use of the wrong roms).

First, lets change the audio settings :

Modifiy /home/pi/RetroPie/configs/all/retroarch.cfg

Edit : Never versions of Retropie have a different location : /opt/retropie/configs/all/retroarch.cfg

Replace audio_out_rate = 48000 with audio_out_rate = 22050

and uncomment # audio_sync = true to audio_sync = true

Even though almost every post I’ve found suggests to set the audio_out_rate to 44100, I personally think that (with my TV Setup), 22050 is a better value.

If your TV is connected via Composite  and is NTSC capable, force NTSC Mode in /boot/config.txt :
sdtv_mode=0

Strangely, Game Boy emulation is way better when TV is in NTSC Mode.

Now comes the strange part :

If your TV is in NTSC Mode, be sure to use NTSC (US or JP) Roms of the Games.
I know it may sound strange, but using Pal Roms on a NTSC Config leads to Slowdowns and Sound issues.

Please note that SNES Emulation needs overclocking the Raspberry Pi in order to get rid of sound issues

Back to the table of Contents


Faster overall Emulation

After disabling the “rewind” function, many games seem to run a lot smoother :

Modifiy /home/pi/RetroPie/configs/all/retroarch.cfg

Edit : Never versions of Retropie have a different location : /opt/retropie/configs/all/retroarch.cfg

Replace rewind_enable = true with rewind_enable = false

and video_threaded = false with video_threaded = true

Back to the table of Contents


Better Neo Geo Emulation

piFBA emulates Neo Geo games better than gngeo. This is how to change the emulator for Neo Geo Games:

Modify  /home/pi/.emulationstation/es_systems.cfg :

Find the Neo Geo Section, and change the following :

COMMAND=/opt/retropie/emulators/gngeo-pi-0.85/installdir/bin/arm-linux-gngeo -i /opt/retropie/roms/neogeo -B /opt/retropie/emulators/gngeo-pi-0.85/neogeobios %ROM%
# alternatively: COMMAND=/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/pifba/fba2x %ROM%"

into

#COMMAND=/opt/retropie/emulators/gngeo-pi-0.85/installdir/bin/arm-linux-gngeo -i /opt/retropie/roms/neogeo -B /opt/retropie/emulators/gngeo-pi-0.85/neogeobios %ROM%
COMMAND=/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/pifba/fba2x %ROM%"

Here is my controller configuration for a PS3 Controller. Put it in /opt/retropie/emulators/pifba/

Back to the table of Contents


Better Master System Emulation

The built-in Mega Drive Emulator (PicoDrive) is in my opinion superior to Osmose (the built-in Emulator for Master System)

You can simply change the Emulator by modifying /home/pi/.emulationstation/es_systems.cfg

Find the Sega Master System Section, and change the following :

COMMAND=/opt/retropie/emulators/osmose-0.8.1+rpi20121122/osmose %ROM% -joy -tv -fs

into

COMMAND=/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/picodrive/picodrive_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/megadrive/retroarch.cfg  %ROM

(You can copy / paste this Command line fro the Mega Drive Section)

 


Better FBA Emulation

As with the Neo Geo, piFBA is far better then the default Final Burn Alpha Emulator.

Modify  /home/pi/.emulationstation/es_systems.cfg :

Find the Final Burn Alpha Section, and change the following :

COMMAND=/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/fba-libretro/fb_alpha_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/fba/retroarch.cfg  %ROM%"
# alternatively: COMMAND=/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/pifba/fba2x %ROM%"
into

#COMMAND=/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/fba-libretro/fb_alpha_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /home/pi/RetroPie/configs/fba/retroarch.cfg  %ROM%"
COMMAND=/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/pifba/fba2x %ROM%"

Games like Final Fight run much better.

Here is my controller configuration for a PS3 Controller

Back to the table of Contents


Change GBA Emulator Controls

You need a USB keyboard connected to the Raspberry PI for this to work.

Start a GBA game, and hit the F10 key on the keyboard. A menu will show up. Select Game Pad Control and remap the buttons to your liking. I suggest also to enable the Hotkey option, so you just have to press “Select” + “R” on your Gamepad to enter the Menu. (No Keyboard needed anymore)

If you have no keyboard available, you can use my config file. Just place it in /home/pi/RetroPie/emulators/gpsp/raspberrypi (where you should have put your GBA Bios as well)

Back to the table of Contents


Faster Selection of Games in emulation station after using es_scraper

After using es_Scraper ( the script which downloads artwork for your games), navigating through emulationstation was very slow. This was because the script downloaded high resolution artwork (although the option to limit to 375px was selected). Images were a few MB in size.

So I used a batch Photo Processor (I recommend Phatch) to resize all artwork to 375pixel in width. Image size was reduced to 30-60KB. (Here is my phatch script)

This made navigating the Games much more faster.

Back to the table of Contents


Gaining space on your SD Card

I see that a lot of effort was put into Retropie, but the Image size (almost 4GB uncompressed) is way bigger then what I expected it to be . There are a lot of “leftovers” in the image which can be deleted.

  • Remove Raspbian update packages that are already installed:

empty the folder /var/cache/apt/archives

  • Remove checked out Source Code (hidden .git folders)

find '/home/pi/RetroPie/' -type d -name '.git'

find '/opt/retropie/' -type d -name '.git'

This will show you a list of folder which can be safely deleted

  • Remove emulators and Rom folders that are not needed

Doing this I gained around 700MB in Space on my SD Card, now I can put more games on it 😉

There are also some packages (like HP Printer Drivers) that can be removed, see section “Removing unneeded Services” below.

Back to the table of Contents


Removing unneeded Services

Retropie is based on Raspbian, and uses a lot of features that a Console Games emulator does not need, for example a Print Server.

Edit : This is not needed for recent Retropie versions

To remove the Print Server, including its Driver packages :

sudo apt-get purge cups

You’ll also free some important SD Card Storage.

Back to the table of Contents


Results

Most emulators that I use run much better after applying these tips.

Some systems need overclocking the Raspberry Pi (especially SNES and Pc-Engine)

Keep in mind that  my Raspberry Pi is not overclocked (Retropie overclocks by default), and here are my results :

 

Neo-Geo_logo good
Megadrive_logo good
Master_System_Logo.svg good
Gameboy_logo.svg good
Gameboy_advance_logo.svg good
NES_logo.svg ok
SNES_logo.svg ok
PCEngine_Logo

not_good

 

Most games are playable, some are unplayable (Ghouls n Ghosts)

Legend

good

Good , games are very playable

 

 

ok

Ok, games are playable but may have slowdowns or sound issues

 

 

not_good

Not Ok, massive slowdowns

 

 

Back to the table of Contents

 

Phatch-Resize-to-375
Phatch-Resize-to-375
Phatch-Resize-to-375.phatch
1.1 KiB
415 Downloads
Details...
Fba2x
Fba2x
fba2x.cfg
827.0 B
740 Downloads
Details...
Gpsp PS3 Config file
116.0 B
420 Downloads
Details...

1 comment

    • RL on June 2, 2015 at 9:20 pm

    Reply

    SNES emulation works great when overclocked. i haven’t tried disabling rewind. overclocking doesn’t appear to have any noticable impact on heat even when kept on 24/7

Leave a Reply