Custom D.E.O.T. V2.0+/Clockwork OS v0.5 image - With customised DEOT interface, Kernel 5.7, Optional 1400MHz OC, Debian 10 Buster, Retroarch 1.9.0, Mupen64+ plus more! (Current build: 200903)

This is something I’m thinking of including in a future release - and even having as potentially a default launcher, if people just want to have the gameshell as an emulation only device.

Emulationstation.

I’ve found that a few standalone emulators assume they’re in the same directory as emulationstation, that by default is installed in /usr/local/bin
This means that some expected configs/bioses can’t be found. Eg, PCSX.

I’ve experimented with fixing that, making a symbolic link in the /apps/emulators directory, running this after running the script above:

ln -s /usr/local/bin/emulationstation /home/cpi/apps/emulators

Then of course, when you make the script to run emulationstation, change the contents to contain:

#!/bin/bash

cd /home/cpi/apps/emulators
./emulationstation

Don’t forget to give it the executable bit with chmod +x, wherever you put it; assuming you’re running it from within the stock ‘awesome_launcher’ - (the name of the stock launcher)

Here’s an icon I made for it. It should be in the skin folder for DEOT, but here it is nonetheless.
EmulationStation

I’ve updated the config since writing it, including the newer consoles that have been installed. Save the following in a file called es_systems.cfg in the .emulationstation hidden directory.

<systemList>
	<system>
		<name>mame</name>
		<fullname>MAME Retroarch</fullname>
		<path>~/games/ARCADE</path>
		<extension>.zip</extension>
		<command>retroarch -L ~/.config/retroarch/cores/mame2003_plus_libretro.so %ROM%</command>
		<platform>mame</platform>
		<theme>mame</theme>
	</system>

<system>
		<name>fba</name>
		<fullname>FBA Retroarch</fullname>
		<path>~/games/FBA</path>
		<extension>.zip</extension>
		<command>retroarch -L ~/.config/retroarch/cores/fbneo_libretro.so %ROM%</command>
		<platform>fba</platform>
		<theme>fba</theme>
	</system>


	<system>
		<name>nes</name>
		<fullname>NES - Retroarch</fullname>
		<path>~/games/NES</path>
		<extension>.nes .NES .zip .7z</extension>
		<command>retroarch -L ~/.config/retroarch/cores/nestopia_libretro.so %ROM%</command>
		<platform>nes</platform>
		<theme>nes</theme>
	</system>
	
	# <system>
	#	<name>nes+</name>
	#	<fullname>NES - FCEUX</fullname>
	#	<path>~/games/NES</path>
	#	<extension>.nes .NES .zip .7z</extension>
	#	<command>~/apps/emulators/fceux %ROM%</command>
	#	<platform>nes</platform>
	#	<theme>nes</theme>
	# </system>

	<system>
		<name>snes</name>
		<fullname>SNES - Retroarch</fullname>
		<path>~/games/SNES</path>
		<extension>.sfc .smc .fig .zip .7z</extension>
		<command>retroarch -L ~/.config/retroarch/cores/snes9x2005_plus_libretro.so %ROM%</command>
		<platform>snes</platform>
		<theme>snes</theme>
	</system>

	# <system>
	#	<name>snes+</name>
	#	<fullname>SNES - PocketSNES</fullname>
	#	<path>~/games/SNES</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>GB - Retroarch</fullname>
		<path>~/games/GB</path>
		<extension>.gb .gbc .gba .gbx .zip .7z</extension>
		<command>retroarch -L ~/.config/retroarch/cores/mgba_libretro.so %ROM%</command>
		<platform>gb</platform>
		<theme>gb</theme>
	</system>

	# <system>
	#	<name>gb+</name>
	#	<fullname>GB - Ohboy</fullname>
	#	<path>~/games/GB</path>
	#	<extension>.gb .gbc .gba .gbx .zip .7z</extension>
	#	<command>~/apps/emulators/ohboy %ROM%</command>
	#	<platform>gb</platform>
	#	<theme>gb</theme>
	# </system>

	<system>
		<name>gba</name>
		<fullname>GBA - Retroarch</fullname>
		<path>~/games/GBA</path>
		<extension>.gb .abc .gba .gbx .zip .7z</extension>
		<command>retroarch -L ~/.config/retroarch/cores/gpsp_libretro.so %ROM%</command>
		<platform>gba</platform>
		<theme>gba</theme>
	</system>

	# <system>
	#	<name>gba+</name>
	#	<fullname>GBA - GPSP</fullname>
	#	<path>~/games/GBA</path>
	#	<extension>.gb .abc .gba .gbx .zip .7z</extension>
	#	<command>~/apps/emulators/gpsp %ROM%</command>
	#	<platform>gba</platform>
	#	<theme>gba</theme>
	# </system>

	<system>
		<name>nds+</name>
		<fullname>NDS - Drastic</fullname>
		<path>~/games/DS</path>
		<extension>.ds .nds</extension>
		<command>~/apps/emulators/drastic/drastic %ROM%</command>
		<platform>nds</platform>
		<theme>nds</theme>
	</system>

	# <system>
	#	<name>virtualboy</name>
	#	<fullname>VB - Retroarch</fullname>
	#	<path>~/games/Virtualboy</path>
	#	<extension>.vb .zip .7z</extension>
	#	<command>retroarch -L ~/.config/retroarch/cores/mednafen_vb_libretro.so %ROM%</command>
	#	<platform>virtualboy</platform>
	#	<theme>virtualboy</theme>
	# </system>

	<system>
		<name>virtualboy+</name>
		<fullname>VB - Mednafen</fullname>
		<path>~/games/Virtualboy</path>
		<extension>.vb .zip .7z</extension>
		<command>mednafen %ROM%</command>
		<platform>virtualboy</platform>
		<theme>virtualboy</theme>
	</system>

	<system>
		<name>wonderswan</name>
		<fullname>Wonderswan - Retroarch</fullname>
		<path>~/games/WSWAN</path>
		<extension>.vb .zip .7z</extension>
		<command>retroarch -L ~/.config/retroarch/cores/mednafen_wswan_libretro.so %ROM%</command>
		<platform>wonderswan</platform>
		<theme>wonderswan</theme>
	</system>

	# <system>
	#	<name>wonderswan+</name>
	#	<fullname>Wonderswan - Mednafen</fullname>
	#	<path>~/games/WSWAN</path>
	#	<extension>.vb .zip .7z</extension>
	#	<command>mednafen %ROM%</command>
	#	<platform>wonderswan</platform>
	#	<theme>wonderswan</theme>
	# </system>

	<system>
		<name>megadrive</name>
		<fullname>Megadrive - Retroarch</fullname>
		<path>~/games/MegaDrive</path>
		<extension>.bin .gen .32x .smd .iso .zip .7z</extension>
		<command>retroarch -L ~/.config/retroarch/cores/picodrive_libretro.so %ROM%</command>
		<platform>megadrive</platform>
		<theme>megadrive</theme>
	</system>

	# <system>
	#	<name>megadrive+</name>
	#	<fullname>Megadrive- PicoDrive</fullname>
	#	<path>~/games/MegaDrive</path>
	#	<extension>.bin .gen .32x .smd .iso</extension>
	#	<command>~/apps/emulators/PicoDrive %ROM%</command>
	#	<platform>megadrive</platform>
	#	<theme>megadrive</theme>
	# </system>

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

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

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

	<system>
		<name>n64+</name>
		<fullname>N64 - Mupen64plus</fullname>
		<path>~/games/N64</path>
		<extension>.z64 .n64 .v64 .zip .7z</extension>
		<command>mupen64plus --resolution 320x240 --fullscreen %ROM%</command>
		<platform>n64</platform>
		<theme>n64</theme>
	</system>

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

	<system>
		<name>amiga+</name>
		<fullname>Amiga - UAE4arm</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>Playstation - Retroarch</fullname>
	#	<path>~/games/PSX</path>
	#	<extension>.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd</extension>
	#	<command>retroarch -L ~/.config/retroarch/cores/pcsx_rearmed_libretro.so %ROM%</command>
	#	<platform>psx</platform>
	#	<theme>psx</theme>
	# </system>

	<system>
		<name>psx+</name>
		<fullname>Playstation - PCSX</fullname>
		<path>~/games/PSX</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>

I tried commenting out the double up consoles, but it seems to ignore that. Eh, just delete the attempted comment outs if you want. They’re mostly the emulators that don’t work as well.

Keep in mind, I put in the file types to allow for zip and 7z files. The problem with this is, whenever an emulator opens one, it decompresses the rom, and leaves it in the origin file’s directory. Problematic only if you use compressed archives for roms.

In fact, it might be worthwhile to include this to launch games within Emulationstation:

I’m debating whether to do this, seeing as some emulators just flat out don’t run as well, and I should just remove them.

Arguably I could also just update the stock awesome launcher, removing all the double up console directories and using this script instead; however, if I want to have the launcher updatable like a stock 0.5 clockwork OS, this would break the moment you update it. Sure you could make exceptions, holding files or making a script to return things to normal, but at that stage it’s not really going to be at all like what a stock launcher is like.

I haven’t included the ScummVM, or the ID software games in the Emulationstation system config/setup.
I may make a custom “console” to be used as a toggle to change back and forth between the awesome launcher and the emulationstation launcher. Not exactly eloquent and I’m sure someone else could do something better.

Just in case, here are the contents of es_settings.cfg

<?xml version="1.0"?>
<bool name="BackgroundJoystickInput" value="false" />
<bool name="CaptionsCompatibility" value="true" />
<bool name="CollectionShowSystemInfo" value="true" />
<bool name="DrawFramerate" value="false" />
<bool name="EnableSounds" value="true" />
<bool name="ForceDisableFilters" value="false" />
<bool name="LocalArt" value="false" />
<bool name="MoveCarousel" value="true" />
<bool name="ParseGamelistOnly" value="false" />
<bool name="QuickSystemSelect" value="true" />
<bool name="ScrapeRatings" value="true" />
<bool name="ScreenSaverControls" value="true" />
<bool name="ScreenSaverOmxPlayer" value="false" />
<bool name="ShowHelpPrompts" value="true" />
<bool name="ShowHiddenFiles" value="false" />
<bool name="SlideshowScreenSaverCustomImageSource" value="false" />
<bool name="SlideshowScreenSaverRecurse" value="false" />
<bool name="SlideshowScreenSaverStretch" value="false" />
<bool name="SortAllSystems" value="false" />
<bool name="StretchVideoOnScreenSaver" value="false" />
<bool name="UseCustomCollectionsSystem" value="true" />
<bool name="VideoAudio" value="true" />
<bool name="VideoOmxPlayer" value="false" />
<int name="MaxVRAM" value="100" />
<int name="ScraperResizeHeight" value="0" />
<int name="ScraperResizeWidth" value="400" />
<int name="ScreenSaverSwapImageTimeout" value="10000" />
<int name="ScreenSaverSwapVideoTimeout" value="30000" />
<int name="ScreenSaverTime" value="300000" />
<string name="AudioCard" value="default" />
<string name="AudioDevice" value="Master" />
<string name="CollectionSystemsAuto" value="" />
<string name="CollectionSystemsCustom" value="" />
<string name="GamelistViewStyle" value="automatic" />
<string name="OMXAudioDev" value="both" />
<string name="PowerSaverMode" value="disabled" />
<string name="SaveGamelistsMode" value="on exit" />
<string name="Scraper" value="ScreenScraper" />
<string name="ScreenSaverBehavior" value="dim" />
<string name="ScreenSaverGameInfo" value="never" />
<string name="SlideshowScreenSaverBackgroundAudioFile" value="/home/cpi/.emulationstation/slideshow/audio/slideshow_bg.wav" />
<string name="SlideshowScreenSaverImageDir" value="/home/cpi/.emulationstation/slideshow/image" />
<string name="SlideshowScreenSaverImageFilter" value=".png,.jpg" />
<string name="StartupSystem" value="" />
<string name="ThemeSet" value="simple" />
<string name="TransitionStyle" value="fade" />
<string name="UIMode" value="Full" />
<string name="UIMode_passkey" value="uuddlrlrba" />

And also es_input.cfg

<?xml version="1.0"?>
<inputList>
	<inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1">
		<input name="a" type="key" id="107" value="1" />
		<input name="b" type="key" id="106" value="1" />
		<input name="down" type="key" id="1073741905" value="1" />
		<input name="hotkeyenable" type="key" id="8" value="1" />
		<input name="left" type="key" id="1073741904" value="1" />
		<input name="leftshoulder" type="key" id="121" value="1" />
		<input name="lefttrigger" type="key" id="104" value="1" />
		<input name="right" type="key" id="1073741903" value="1" />
		<input name="rightshoulder" type="key" id="111" value="1" />
		<input name="righttrigger" type="key" id="108" value="1" />
		<input name="select" type="key" id="32" value="1" />
		<input name="start" type="key" id="13" value="1" />
		<input name="up" type="key" id="1073741906" value="1" />
		<input name="x" type="key" id="105" value="1" />
		<input name="y" type="key" id="117" value="1" />
	</inputConfig>
</inputList>

I can’t remember if there was anything else special I really needed to do, but looking back over the old thread, it looked like some people had trouble having things look viewable. I may have needed to have manually installed a theme as well. I’ll put in something to script a download of a theme.

I’ve tested most of the consoles. I can’t seem to get drastic running via Emulationstation which is weird. I’ll keep working on it, and hopefully find a solution.

2 Likes