Emulationstation on Gameshell


I figured out cmake. Had to git clone the code for pugixml. I then got a bunch of errors about rapidjson so I installed rapidjson-dev

Running make now and crossing fingers :slight_smile:


Got it installed. Here are the additional packages I had to install to get it to work, for anyone who may have had trouble like I did:


After I did the git clone for Emulationstation, I did “cd Emulationstation/external”
then “git clone https://github.com/zeux/pugixml.git” before running cmake.

Now just having trouble with the themes, but that will have to wait until tomorrow.


Yes that’s my fault, I have to corrected the wiki.

You must do a recursive git clone


No worries, your tutorial was very helpful. Thank you.

Question about themes: How would I get ES to load one? I ran git clone for the dark theme you provided a link for but I had to “sudo mkdir” for the two folders under /etc folder. I then ran emulationstation but I am not able to read anything on the screen. Pressing start or select causes ES to exit. All other buttons do nothing.


If so I’m pretty sure you have a problem with your system.cfg.

Be sure you don’t have any typo or something wrong in this file.

Also there must be at least one rom in the roms directory of a system. Otherwise, this one is ignored.

If ES is not able to recognize at least one system it’s stopped.


Thanks, I will review the system.cfg a little later and see if I can include the theme there.

Here are some color icons I made, for the default skin and the red skin.

ES_color ES_red


Sorry for initially butchering my own comment there. You said system.cfg, I said config.cfg… Don’t you mean es_systems.cfg ? lol!

I reviewed it and fixed some issues. Now ES loads. But I am in a catch-22… Anyone have any ideas how I can select a theme when I cannot read the screen?


Open /home/cpi/.emulationstation/es_settings.cfg
Search for ThemeSet node and put the value you want. It must a name of a directory in /etc/emulationstation/themes/


I had to create one from scratch because it was not present. Looking at the log file, it doesn’t look like ES is touching the es_settings.cfg file, but there are no errors. I was able to switch themes by studying screenshots of the ES settings menus with a Google image search. I can tell the theme changes, but I guess this was not the problem because the screen still looks blocky and weird.

Before all of this, I had been experimenting with the build and ended up starting over, but at one time, I had an es_settings.cfg file that was auto-generated. Not sure how. I was even successful in getting ES to load a ROM, but of course the screen is un-readable so there’s no knowing which ROM will load.


Am I missing something? I was following the process on GitHub, but when I get to the line cmake ., it’s not a recognized command…

-bash: cmake: command not found


Did you installed cmake package ?

Are you sure you’re in the right directory ?


This is weird.

When you say that your screen looks blocky, can you post a screenshot ? I wouldlike to know how it feels.

es_seeting.cfg should autogenerate if it’s missing. But it first looks in /etc/emulationstation if it finds one.

Normally, certainly the screen is small and the resolution is not huge, but we can still see something. (And that’s a guy with glasses who tells you that!)


I have now… Unfortunately, I still can’t get anywhere…

cpi@clockworkpi : ~/EmulationStation (master) $ cmake .
-- Looking for FreeImage...
-- Checking for module 'freeimage'
--   No package 'freeimage' found
-- Found FreeImage: optimized;/usr/lib/arm-linux-gnueabihf/libfreeimage.so;debug;/usr/lib/arm-linux-gnueabihf/libfreeimage.so
-- Could NOT find Threads (missing: Threads_FOUND) 
CMake Error at /usr/local/share/cmake-3.14/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Call Stack (most recent call first):
  /usr/local/share/cmake-3.14/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/share/cmake-3.14/Modules/FindCURL.cmake:143 (find_package_handle_standard_args)
  CMakeLists.txt:58 (find_package)
-- Configuring incomplete, errors occurred!

See also "/home/cpi/EmulationStation/CMakeFiles/CMakeOutput.log".

CMake Error: Unable to open check cache file for write. /home/cpi/EmulationStation/CMakeFiles/cmake.check_cache

cpi@clockworkpi : ~/EmulationStation (master) $


Seems you need to install curl package


According to apt-get, curl is already installed.


Here is what it looks like with pixel-tft chosen. It doesn’t really matter which theme I choose, they all sorta look like this:

Settings menu:

I opened es_settings.cfg again and noticed that ES has fully populated it, so that looks good now.

Is there some step you took to make the fonts readable and the graphics recognizable?


lasvegas, do you know which OS version you started with? I had luck with v0.3 … Initially had some trouble with cmake with some missing packages but Dowdheur updated the tutorial, and it worked after that. I have not tried any previous versions to 0.3


Okay… I didn’t except that :hushed:

Did you try to change the GPU driver ?


Yes, Fbturbo gives the same result as Lima. Strange. I have actually built ES twice now with the same result.


I was running v0.3. Unfortunately my attempts at installing freeimage, ended up breaking the screen drivers. Nothing after the initial boot screen. I need to start over…


I received a new GameShell today. I made a backup of the stock image on the SD card, then proceeded to follow your tutorial and got a working, legible ES install, screen looks normal. I believe the stock SD has OS 0.21 installed, but I do not know how to check that. I am going to spend some more time configuring ES and this GS in general, but I may try upgrading the OS to 0.3 and see if I get the corrupted screen issue again. But for now, it looks normal. Thanks for all your help!