RetroPie is the script that makes installing and configuring RetroArch and other emulators onto a Raspberry Pi easier for non linux people, over time the developers behind it have also made some changes to the software that RetroPie packages and expanded to other SBC’s and even intel PC’s, it has become quite a nice way to run ‘most’ emulation on a low powered device.
By default, RetroPie uses EmulationStation as its frontend. This software has been discontinued by its original author and other “better” frontends have become available, mostly with much higher system requirements so they tend to be slower and less robust. The RetroPie devs have forked the EmulationStation source and added quite a lot of requested improvements to it, it remains nice and solid if a little utilitarian. One nice thing about it; it supports ‘themes’; within reason you can completely redesign the EmulationStation frontend to look however you want. Most theme developers draw a 1080p image as a background and overlay images and movies for the different systems.
Some people like the learning experience that setting up a system from scratch involves and enjoy building out a custom system tailored to just them, not necessarily on a 16:9 LCD TV, maybe on a handheld, maybe on a 4:3 display. For those people, I created the “Cygnus” theme.
There are an enormous number of available systems, at the time I made it, every available systems was created, including the ‘new’ virtual collections. All elements are dynamic, wherever possible they are SVG to improve the look and reduce the memory footprint. There are three colour-sets and three layouts for the detail pages, all configurable by editing a config file.
Cygnus theme config file
There are two files included below by the config.xml file, one is a colorset, the other is a template.
Valid changes you can make here are as follows.
Colorsets
cygnus.xml <— This is the default blue colorscheme.
mono.xml <— This is a black and grey colorscheme.
terminal.xml <— This is a green colorscheme.
Templates
cygnus.xml <— All bells & whistles. Lots of metadata, lots of art.
nometa.xml <— No metadata, all text except gamelist removed.
simpleart.xml <— Large art, no overlayed boxart or marquee images.
simpleart-nometa.xml <— Minimal theme with just a gamelist and large art.
Platform Specific Themes
Cygnus comes with a large number of defined systems, more than even the default carbon theme. these will either be used when you install the emulator for a sytem and add some roms or you can choose them yourself for your existing systems.
This is useful if you want to override the display of systems to match your region and things like that. For example, by default Cygnus uses a picture of the USA SNES console and logo for the snes system; you can chage this behaviour by telling it to use either the ‘sfc’ theme or the ‘snes-pal’ theme to get the correct console and logo for you.
Create a file in /opt/retropie/configs/all/platforms.cfg
if it doesn’t already exist. Edit the file and add lines to it in the format <system>_theme=”<themename>” so in our example above I could add
snes_theme="sfc"
orsnes_theme="snes-pal"
other useful ones are:-
megadrive_theme="genesis"
pcengine_theme="tg16"
nes_theme="famicom"
There are lots of these, look at the folder names for a list of all the available systems!
The different themes and colour-sets
The full detail template with the default Cygnus blue colour-set The simple art template with the mono colour-set The nometa template with the green colour-set The green colour-set The mono colour-set
Some of the different systems supported by the theme
Installing Cygnus
Cygnus is not included in the RetroPie theme chooser, to install it takes a little more effort.
ssh onto your RetroPie install and enter the following:
mkdir -p ~/.emulationstation/themes
cd ~/.emulationstation/themes
git clone --depth=1 https://github.com/ChoccyHobNob/es-theme-cygnus.git cygnus
It will now be choosable from the ui options menu in emulationstation