Please do not post a support request without first reading and following the advice in

ES devs and testers, this tool is for you!

  • Hi fellows!

    In response to a request from @Zigurana I've made a tool to facilitate testing of ES development branches.

    Screen shots in the next post below.

    The idea isn't to fragment ES even more, but exactly the opposite! I envision this tool being used to test branches whose developer wants to submit to the official RetroPie ES branch.

    Facilitating the tester's life, they should be able to focus on tests/feedback rather than performing several commands to build and install ES.

    If the branch you want to build has any new dependency (besides those already known for the official ES), you have to install it before running the script.

    Cool features

    • You can make a list of repositories/branches you want to test.

    • Keeps the ES branch source code (the script doesn't download all source files from the branch's repository on every execution, only the updates).

    • A menu to select which ES build you want to set as the default emulationstation command (really useful to use after updating the official RetroPie ES).

    • Before compilation starts you have the option to ommit the make clean before the make, then only those files that were changed and their dependents are compiled again (this is a massive reduction in compile time).

    Now a word of warning:

    • This tool lets you install a non-official emulationstation mod in RetroPie. It is for those who want to test and help devs with feedback. Bear in mind that many of those mods are still in development, and YOU NEED TO KNOW HOW TO FIX THINGS IF SOMETHING BREAK!

    Get the script

    The script is here:

    Download it on your RetroPie:


    And then make it executable:

    chmod a+x


    • BuZz: my script takes advantage of some parts of RetroPie-Setup code. Your talent and rigour with the RetroPie-Setup code makes it very flexible and modular. Very well done!
    • @Zigurana : for having the idea to make this tool.
    • @TMNTturtlguy : I've made this tool based on your suggestions here.
    • @Hex : for the make clean omission tip, and many other improvements.
    • @Zigurana , @pjft , @jdrassa , @fieldofcows and other ES hackers: for improving EmulationStation.

    Tagging more people that might be interested in this tool (devs, testers, theme-makers, whatever):
    @AlexMurphy @lilbud @mattrixk @herb_fargus @cafarellidigital @Nismo @ruckage @alphatoanant @KazanTheMan @Syhles @EctoOne @SuperSirLink @Syhles

  • Main Menu


    Repo/branch to build menu


    omit make clean?

    successfully built

    Edit repo/branch list


    add repo/branch to the list form

    set the default emulationstation


    remove installed unofficial emulationstation branch


  • If only @jacobfk20's gridview mod was still being worked on.

  • @meleu thank you very much for putting this together!

    This will certainly come in handy :)

  • Thanks for this and the tag, but TBH It's getting to warm for me to spend a lot of time tinkering with my Pi also I noticed that I either need a fan for my case or put a normal fan beside it. I'm getting temperature warnings when I just copy files over my LAN and when I was building the carousel mod back then it wasn't even that warm and I was afraid I would shut down because of the heat.
    I wish I could test the z-index build (although I wish it also had the instant transition that was created some days ago) but for now I have to pass until I figure out how to get rid of the heat problem.

  • @EctoOne what case are you using?

  • @pjft this one
    It was included in a cheap bundle and I liked the look.

  • @EctoOne I see. It does look slick, though there's not much room to take some parts off to let some air in.

    I use the official one, which is also fully enclosed but is quite modular, so I usually take the sides off to let some air to circulate.

    Maybe opening it and leaving it with the two pieces not exactly fixed in place would let some air to flow through it?

  • @meleu I would suggest you also mention the version of the script and if an update is available. This will allow testers to stay updated on its features

    Edit: Would it be possible to remove Retropie-Setup dependency?

  • @pjft yeah i guess i will take off the top part and see if it makes some difference until i find another solution. I was thinking about getting a multi bay hdd case with enough space and build a NAS. Because i mostly use Kodi anyways and i'm running out of disc space and i don't just want to plug another drive on.

  • @Hex said in ES devs and testers, this tool is for you!:

    @meleu I would suggest you also mention the version of the script and if an update is available.

    Will do it.

    Would it be possible to remove Retropie-Setup dependency?

    No, it wouldn't.

    OK. I mean "Maybe yes, but I wouldn't like to." :-)

    What does the script use from RetroPie-Setup?:

    • gitPullOrClone and rpSwap functions from (easy to implement in the script itself).
    • script to install and remove the unofficial ES branches (this would be a pain to code in the script, I don't have time/interest to work on this).

    Thanks again for your suggestions, mate! ;-)

  • @meleu I usually do my testing on Linux rather than Retropie. I can just comment out the Install and Remove scripts. Gitpullorclone would be great

  • @Hex Why don't you at least put RetroPie-Setup scripts at your home dir? There's no need to install all emulators/etc, but it would make you able to use the script...

  • @meleu
    Aww man, you are the best! You've certainly risen to my challenge, superb!

    I can think of only one improvement : to show the latest commit-date of the dev-branch, as well as the latest commit-date of the installed version of that branch, so users can see if they are up-to-date or not.

  • Submitted a pull request cleaning up some of the display text.

  • Changelog

    • added the Update "" script option in the main menu.
    • added script version to the backtitle (it'll be named with Greek letters' name).


    Please, get the script via wget again and then you'll be able to update using the update feature from now on.

  • @EctoOne do you have a heatsink on the pi?
    I have mine in a 3d printed mini nes case, and it only overheated on me twice, once when I was using the ds4drv driver, that just caused a constant overheat, and once when playing with overclocking and the votlage setting, I reduced it to 4.5v i think and now it runs cool "ish"

    that being said I live in DUBAI! where it is mega mega hot. I run the pi in an ambient of 27 - 28 C at night when the AC is off, playing psx games and it hasnt ever overheated.
    maybe you have something running in the background causing it to over heat?
    I also have a KODI box which is used almost all day, again in say 25 - 27C and it never has problems overheating either, it has a small alu heatsink on it. no fan because I found the fan noise to annoying.

  • @Zigurana said

    show the latest commit-date of the dev-branch, as well as the latest commit-date of the installed version of that branch, so users can see if they are up-to-date or not.

    I started to think about ways to implement such feature, but then I realized that it would solve an already solved problem. As far as I understood you want to prevent the user spending time downloading/compiling unnecessarily. Am I right?

    I made this tool acting this way: if the tester tries to build/install an up-to-date repo/branch, it won't be very time consuming.


    Two reasons:

    1. The script downloads the source files using the gitPullOrClone function from RetroPie-Setup, and it won't download everything again if the local repo is already up-to-date. Thanks to the RetroPie-Setup modularity I could use that function and not "reinvent the wheel".
    2. The script gives the option to omit the make clean before make, then only those files that were changed and their dependents are compiled again (actually the script gives the option to not omit make clean, then I think we can consider this omition the default option). Thanks @Hex for this simple but wonderfully useful tip.

  • Hey testers! There was a bug in the script when you were trying to set the official RetroPie ES as the default one (the C option in the main menu). I've just fixed it. So, please, update your scripts.

    If you used that feature to set the official ES as the default one, probably your ~/RetroPie-Setup/scriptmodules/supplementary/ is non-existent/invalid. Here is how to fix it:

    cd ~/RetroPie-Setup/scriptmodules/supplementary

    Thanks and sorry for the inconvenience.


    A small improvement to prevent problems as pointed by @TMNTturtlguy here.

    Current version: delta

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.