Skip to content

Instantly share code, notes, and snippets.

@anthonycaccese
Last active January 21, 2026 21:55
Show Gist options
  • Select an option

  • Save anthonycaccese/53d72260f5e3c2c72defd77fe216bd1b to your computer and use it in GitHub Desktop.

Select an option

Save anthonycaccese/53d72260f5e3c2c72defd77fe216bd1b to your computer and use it in GitHub Desktop.
EmulationStation History

EmulationStation is a graphical and themeable emulator front-end created by Aloshi around 2012. Their original work has been the foundation for the UX of many of our favorite gaming focused projects over the last decade and this document aims to capture a small bit of that history. If you see any errors please let me know in the comments below and I will gladly update this document.

History:

es-history

References:

Projects:

Note

Below are links to the projects referenced above. All use a variant of EmulationStation as the foundation for their UX.

@kaylh
Copy link

kaylh commented Jul 18, 2024

Hi this is a good scheme but RetroBat isn't a fork of Batocera. RetroBat share the same ES and some rules, like unix systems share rules but have no connection between them but ES. RetroBat used fcamod before Batocera.

@anthonycaccese
Copy link
Author

thank you! will try to incorporate this update.

@anthonycaccese
Copy link
Author

@kaylh I was re-thinking this a bit and while I agree that RetroBat is not a fork of Batocera... isn't it true that the version of ES that it uses is from Batocera now? This document is mainly talking about EmulationStation forks... not the full wrapper of Batocera or Retrobat... just ES

@udance4ever
Copy link

udance4ever commented Aug 21, 2024

This document is mainly talking about EmulationStation forks... not the full wrapper of Batocera or Retrobat... just ES

this is an important distinction. Batocera Linux uses Python for configgen and Retrobat uses a backend written in C# and while they behave similarly (to the point I'm able to overlay both distributions into a single NTFS partition and it works for the most part is quite the accomplishment!), there are differences I've documented here

@udance4ever
Copy link

udance4ever commented Aug 21, 2024

so there's no such thing as retrobat-es per se - you are correct they use the same batocera-emulationstation. perhaps put the RetroBat logo in the other corner of the Batocera image in the diagram?

the way it is now makes it look like retrobat-es is a fork of batocera-emulationstation (which it's not)

@nadenislamarre
Copy link

i did merge recalbox es + retropie es, mainly to get video and kisok mode at the beginning of batocera. i dont understand why fcamod is in the middle. i dont know what it is fnd i didnt use it.

@nadenislamarre
Copy link

i think it was in 2016 or 2017, not 2019

@lbrpdx
Copy link

lbrpdx commented Aug 25, 2024

2019 is when fcaruso joined Batocera and merged his own fca branch into the Batocera branch (and coincidentally it made it also compatible with Windows, which is how Retrobat was born). But batocera-emulationstation started before that, like @nadenislamarre said. However, the contributions from fcaruso to batocera-es are massive with large parts of ES re-engineered and many core features added.

@nadenislamarre
Copy link

ok. fca stands for f.caruso, i get it now.
yes, fabrice implemented and rewrote a lot of things.

@nadenislamarre
Copy link

so, the recalbox+retropie-> batocera stands before batocera+fca, and i guess that the fca started from retropie.

@anthonycaccese
Copy link
Author

awesome, thank you for the updates. will work on an updated flow with this new info soon.

"so, the recalbox+retropie-> batocera stands before batocera+fca, and i guess that the fca started from retropie."

  • yup thats what i was building this from so if thats accurate then awesome.

@josemarprete
Copy link

josemarprete commented Jan 21, 2026

In the Sx05RE project, Shanti Gilbert states this (perhaps in 2018): "... Sx05RE An emulation (retro) fork for Sx05 devices. Most of the code is from Kszaq's LE and Lakka. I just combine them with some changes, add EmulationStation and some standalone emulators (Advancemame, PPSSPP, Reicast, and others). ..." Sx05RE evolved into EmuELEC before 2019! I think @shantigilbert should be included in this timeline!

@shantigilbert
Copy link

In the Sx05RE project, Shanti Gilbert states this (perhaps in 2018): "... Sx05RE An emulation (retro) fork for Sx05 devices. Most of the code is from Kszaq's LE and Lakka. I just combine them with some changes, add EmulationStation and some standalone emulators (Advancemame, PPSSPP, Reicast, and others). ..." Sx05RE evolved into EmuELEC before 2019! I think @shantigilbert should be included in this timeline!

Thank you @josemarprete for the mention.

Just to clear things up.

Sx05RE was using the Retropie version of ES initially in 2017 (to be exact February 10, 2017 was the first public release) https://forum.libreelec.tv/thread/4785-sx05re-v1-8-6-emulationstation-lakka-kodi/

Then moved to using a forked version of Batocera-emulationstation with many custom changes for EmuELEC: https://github.com/EmuELEC/emuelec-emulationstation
but in general EmuELEC is more close to CoreELEC/LibreELEC than it is to Batocera or Retropie. AmberELEC and Jelos started as EmuELEC forks, now their own thing with many differences.

I also want to add that while EmuELEC is its own thing now, we still keep our Sx05RE/EmuELEC projects as "Forked" to show where the base originally came from. Many scripts have kept their original name in EmuELEC as gratitude from where they came from, even though they do not contain the same script/information anymore (besides copyright notes on top), this includes scripts adapted from Batocera and Retropie (Wifi scripts, wrappers, etc), to show our appreciation for the original creators.

Thank you!

@anthonycaccese
Copy link
Author

thank you @shantigilbert for the details!

@josemarprete
Copy link

josemarprete commented Jan 21, 2026

I'd like to thank @anthonycaccese for this great background information and @shantigilbert for the clarifications and the excellent EmuELEC!

I'm just a curious layman!I'm thinking of publishing an amateur video on YouTube in Portuguese talking about ES-DE and testing it on PC and Android (on two handhelds and a TV Box!). In the videos, I usually mention some details about the origin of what I show, and if I publish the video, I will include this background information about ES-DE!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment