Emulationstation on Gameshell

A bit of a necropost, but just want to confirm that emulationstation appears to be working soundly on os 0.5.

There was a small error in the initial apt-get install, in the sense that one of the fonts couldn’t be installed. I just removed that.

sudo apt-get install libsdl2-dev libboost-system-dev libboost-filesystem-dev libboost-date-time-dev libboost-locale-dev libfreeimage-dev libfreetype6-dev libeigen3-dev libcurl4-openssl-dev libasound2-dev libgl1-mesa-dev build-essential cmake fonts-droid-fallback vlc libvlc5 libvlc-dev rapidjson-dev

git clone --recursive https://github.com/RetroPie/EmulationStation.git

cd EmulationStation

cmake .

make

cp -R ~/EmulationStation/resources/ ~/.emulationstation/resources/

sudo make install

rm -Rf ~/EmulationStation

In a directory you can easily access via the gameshell, make a file called emulationstation.sh, or whatever you want to call it, and in the file just write the line

emulationstation

Since you did the sudo make install, it should reference the file you copied to /usr/local/bin.

This is the config file I generated, based on the default directory structure of the game shell. Place it in ~/.emulationstation

<systemList>
	<system>
		<name>mame</name>
		<fullname>Multiple Arcade Machine Emulator</fullname>
		<path>~/games/ARCADE</path>
		<extension>.zip</extension>
		<command>retroarch -F -L ~/.apps/emulators/mame2003_plus_libretro.so %ROM%</command>
		<platform>mame</platform>
		<theme>mame</theme>
	</system>
	
	<system>
		<name>nes</name>
		<fullname>Nintendo Entertainment System</fullname>
		<path>~/games/NESTOPIA</path>
		<extension>.nes .NES .zip .7z</extension>
		<command>retroarch -F -L ~/.apps/emulators/nestopia_libretro.so %ROM%</command>
		<platform>nes</platform>
		<theme>nes</theme>
	</system>

	<system>
		<name>snes</name>
		<fullname>Super Nintendo Entertainment System</fullname>
		<path>~/games/SFC9X</path>
		<extension>.sfc .smc .fig .zip .7z</extension>
		<command>~/apps/emulators/PocketSNES %ROM%</command>
		<platform>snes</platform>
		<theme>snes</theme>
	</system>

	<system>
		<name>gb</name>
		<fullname>Game Boy</fullname>
		<path>~/games/GB</path>
		<extension>.gb .gbc .gba .gbx .7z .zip</extension>
		<command>retroarch -F -L ~/.apps/emulators/mgba_libretro.so %ROM%</command>
		<platform>gb</platform>
		<theme>gb</theme>
	</system>

	<system>
		<name>gba</name>
		<fullname>Game Boy Advance</fullname>
		<path>~/games/MGBA</path>
		<extension>.gb .abc .gba .gbx .7z .zip</extension>
		<command>~/apps/emulators/gpsp %ROM%</command>
		<platform>gba</platform>
		<theme>gba</theme>
	</system>

	<system>
		<name>megadrive</name>
		<fullname>Sega Mega Drive</fullname>
		<path>~/games/PicoDrive</path>
		<extension>.bin .zip .gen .32x .smd .iso .7z</extension>
		<command>retroarch -F -L ~/apps/emulators/picodrive_libretro_gameshell_v1.92.so %ROM%</command>
		<platform>megadrive</platform>
		<theme>megadrive</theme>
	</system>

	<system>
		<name>gamegear</name>
		<fullname>Sega Game Gear</fullname>
		<path>~/games/GGEAR</path>
		<extension>.md .gg .7z .zip</extension>
		<command>retroarch -F -L ~/.apps/emulators/gearsystem_libretro.so %ROM%</command>
		<platform>gamegear</platform>
		<theme>gamegear</theme>
	</system>

	<system>
		<name>coleco</name>
		<fullname>Colecovision</fullname>
		<path>~/games/COLECO</path>
		<extension>.col .COL .7z .zip</extension>
		<command>retroarch -F -L ~/.apps/emulators/bluemsx_libretro.so %ROM%</command>
		<platform>colecovision</platform>
		<theme>colecovision</theme>
	</system>

	<system>
		<name>lynx</name>
		<fullname>Atari Lynx</fullname>
		<path>~/games/LYNX</path>
		<extension>.lnx .7z .zip</extension>
		<command>retroarch -F -L ~/.apps/emulators/handy_libretro.so %ROM%</command>
		<platform>lynx</platform>
		<theme>lynx</theme>
	</system>

	<system>
		<name>n64</name>
		<fullname>Nintendo 64</fullname>
		<path>~/games/mupen64</path>
		<extension>.z64 .n64 .zip .7z .v64</extension>
		<command>~/apps/emulators/mupen64plus --plugindir /usr/local/lib/mupen64plus/ --gfx mupen64plus-video-rice.so --fullscreen %ROM%</command>
		<platform>n64</platform>
		<theme>n64</theme>
	</system>

	<system>
		<name>zxspectrum</name>
		<fullname>Sinclair ZX Spectrum</fullname>
		<path>~/games/FUSE</path>
		<extension>.tzx .tap .z80 .rzx .scl .trd .7z .zip</extension>
		<command>retroarch -F -L ~/.apps/emulators/fuse_libretro.so %ROM%</command>
		<platform>zxspectrum</platform>
		<theme>zxspectrum</theme>
	</system>

	<system>
		<name>amiga</name>
		<fullname>Amiga</fullname>
		<path>~/games/UAE</path>
		<extension>.uae .7z .zip</extension>
		<command>~/apps/emulators/uae4arm %ROM%</command>
		<platform>amiga</platform>
		<theme>amiga</theme>
	</system>

	<system>
		<name>psx</name>
		<fullname>Sony Playstation</fullname>
		<path>~/games/PCSX</path>
		<extension>.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd</extension>
		<command>~/apps/emulators/pcsx -cdfile %ROM%</command>
		<platform>psx</platform>
		<theme>psx</theme>
	</system>

</systemList>

When setting up the key bindings initially, it is purely for the emulationstation interface, and not for setting up values in games. There are less keys on the gameshell than the interface asks for. You can skip any keys you don’t use, such as L3 and R3 etc, by holding the menu button for a couple of seconds on the gameshell.

I made a themes directory in ~/.emulationstation/themes and copied the default theme to there.
You can get it from https://emulationstation.org/downloads/themes/simple_latest.zip
Using the config above, it should put together a nice visually pleasing theme, and be compatible with emulationstation community themes. I personally find that it’s easy enough to see, despite the low resolution.

There are possibly some people out there just wanting the gameshell as a pure emulation device, and not really care for tinkering. If that’s the case, then possibly having emulationstation as the main launcher could almost be feasible.

3 Likes