Some of you might have heard or notices that there has been an update of the RetroPie SD-card image recently. This is a major update with some big changes. This article describes these.
In the following, you will get an overview about the major changes that come with the update to
version 2.0 version 2.1 of RetroPie.
EmulationStation 2 was recently released after ten months of development. It is a major update that brings a new rock-solid look-and-feel. Also, it comes with an internal scraper for ROMs meta data and a new input configuration handling.
EmulationStation 2 also introduces some changes regarding a typical RetroPie installation. Here is a short list of important things related to EmulationStation 2:
- SDL 2.0.1 is needed by EmulationStation 2. This can be installed with the RetroPie-Setup Script and is already located in the RetroPie SD-card image.
- The binary of EmulationStation is located at
- The theme files are now located at
- The systems configuration file for EmulationStation, previously located at
~/.emulationstation/es_systems.cfghas moved to
/etc/emulationstation/es_systems.cfgIf you would like to customize it, you should copy it to
~/.emulationstation/es_systems.cfgand edit that file according to your needs.
- As with the previous version of EmulationStation the input configuration is located at
- EmulationStation 2 makes way more use of graphic elements. Depending on the number of emulated systems it is probable that you need a Raspberry Pi Model B with 512 MB shared RAM, where 256 MB are reserved for the GPU. This is the default configuration of the RetroPie SD-card image.
Also, EmulationStation 2 introduces a much nicer look-and-feel, an internal scraper for ROM meta data, and a simple way for maintaining multiple themes. Overall, it is an awesome update.
The components that can be installed with the RetroPie-Setup Script were relocated to a user-independent location. In future updates, this will be used to better support updates and installation with the APT package system.
- All components that come with RetroPie are relocated at
/opt/retropieas root directory:
pi@raspberrypi ~ $ find /opt/retropie -maxdepth 1 /opt/retropie /opt/retropie/emulatorcores /opt/retropie/emulators /opt/retropie/configs /opt/retropie/supplementary
It can be seen that
- The ROMs directory still resides in the user’s home directory and is located at
- Also the BIOS directory is still located in the user’s home directory at
Rebuild of all Components
All emulators and LibretroCores were compiled with their latest sources.
Reorganization of the RetroPie-Setup Script
The RetroPie-Setup Script has been rewritten and refactored heavily. The recent version of the RetroPie-Setup Script now allows to run all functionalities from command line by using the script
retro_packages.sh that has become part of the RetroPie-Setup Script. While most users will not have a direct usage for this command line capability, this will make things easier to maintain in the long-term:
./retropackages.sh [sources|build|install|configure|package] This is a list of valid commands: Command-ID: Description: List of available actions [sources|build|install|configure|package] -------------------------------------------------- 100: RetroArch : dependencies sources build install configure 101: AdvMame : dependencies sources build install configure 102: Amiga emulator UAE4All : sources build install configure 103: Atari 800 emulator : sources build install configure 104: Armstrad CPC emulator : sources build configure 105: DOS Emulator Dosbox : install configure 106: Atari2600 emulator STELLA : install configure 107: Macintosh emulator : sources build install configure 108: C64 emulator VICE : sources build install configure 109: C64 ROMs : install 110: Duke3D Port : install 111: GameBoy Advance emulator : sources build configure 112: NeoGeo emulator GnGeoPi : sources build install configure 113: Atari emulator Hatari : install 114: MAME emulator MAME4All-Pi : sources build configure 115: Gamegear emulator Osmose : sources build configure 116: Intellivision emulator : sources build configure 117: Apple 2 emulator Linapple : sources build configure 118: N64 emulator MUPEN64Plus-RPi : sources build configure 119: SNES emulator SNES9X-RPi : dependencies sources build configure 120: FBA emulator PiFBA : sources build install configure 121: SNES emulator PiSNES : sources build configure 122: DOS Emulator rpix86 : install configure 123: ScummVM : install 124: ZMachine : install 125: ZXSpectrum emulator Fuse : install 126: ZXSpectrum emulator FBZX : sources build 127: MSX emulator OpenMSX : dependencies sources build configure 128: DOS emulator FastDosbox : sources build install 200: SNES LibretroCore PocketSNES : sources build configure 201: Genesis LibretroCore Picodrive : sources build install configure 202: Atari 2600 LibretroCore Stella : sources build configure 203: Cave Story LibretroCore : sources build configure 204: Doom LibretroCore : sources build configure 205: Gameboy Color LibretroCore : sources build configure 206: MAME LibretroCore : sources build configure 207: FBA LibretroCore : dependencies sources build configure 208: NES LibretroCore fceu-next : sources build configure 209: Genesis/Megadrive LibretroCore : sources build configure 210: TurboGrafx 16 LibretroCore : sources build configure 211: Playstation 1 LibretroCore : sources build configure 300: Update APT packages : install 301: Package Repository : install 302: SDL 2.0.1 : dependencies sources build install 303: EmulationStation : dependencies sources build install configure package 304: EmulationStation Theme Simple : install 305: Video mode script 'runcommand' : install 306: SNESDev : sources build install configure 307: Xarcade2Jstick : sources build install configure 308: RetroArch-AutoConfigs : install 309: Bash Welcome Tweak : install 310: Samba ROM Shares : install configure 311: USB ROM Service : install configure 312: Enable/disable Splashscreen : configure 313: Select Splashscreen : configure 314: RetroNetplay : configure 315: Modules UInput, Joydev, ALSA : install 316: Set avoid_safe_mode : install 317: Disable system timeouts : install 318: Handle APT packages : install 319: Auto-start EmulationStation : configure 320: Install XBox contr. 360 driver : install 321: Install PS3 controller driver : install 322: Register RetroArch controller : install 323: Install SDL 2.0.1 binaries : install 324: Configure audio settings : configure ==================================================
Later, this interface will also be used for generating Raspbian APT packages.
Upgrading from RetroPie Version 1.X
First of all, there is not automatic upgrade function, if you would like to migrate your configurations from a RetroPie version 1.X installation. That being said a migration is not too difficult. As described above most folder that previously were located at
/home/pi/RetroPie are now located at /opt/retropie (Please note the upper and lower case here). So you need to copy the folder shown above to
/opt/retropie The ROMs stay in
/home/pi/RetroPie/roms Note that RetroPie version 2 has two ROM folders for arcade games now: fba and mame. These two folders are connected with the corresponding emulators (piFBA and imame4all-rpi per default).
The update to version 2.0 of the RetroPie-Setup Script together with the release of EmulationStation 2 and an updated RetroPie SD-card image introduce some major changes to the folder organization. EmulationStation 2 adds a new look-and-feel to the RetroPie experience.
However, all the restructoring and reorganization has probably introduced one or another bug. Please post any findings at the issues list of the RetroPie-Setup Script at Github and discuss possible improvements in the forum.
It is still needed to manually configure the various emulators. An automatic configuration of the controllers for the emulators would be a major gain for the user experience. The realization of this feature is not that easily to accomplish, though. But we will see with which ideas the community members will come up with …
If you think that there are important information missing in this post about the recent update, feel free to say so, e.g. in the comments below.