Confused on Steam Play and Proton? Be sure to check out our guide.
We do often include affiliate links to earn us some pennies. See more here.

EmulationStation Desktop Edition 3.0 is out now and it's gone through a rebrand to simply ES-DE, plus a whole bunch of improvements come with this release.

What is it: ES-DE is a frontend for browsing and launching games from your multi-platform game collection. It comes preconfigured for use with RetroArch and a large selection of standalone emulators. It's also fully customizable so you can easily expand it to include emulators or applications not covered by the bundled configuration.

Firstly, in 3.0 there is a breaking change. The configuration folder was originally hidden in your home as "./emulationstation" but now it's simply named "ES-DE". So you'll need to rename it yourself. You can unhide folders in your File Manager usually using CTRL+H on keyboard or in Dolphin for KDE Plasma / Steam Deck from the hamburger menu:

Simply rename it without the dot to just ES-DE.

For those of you (like me) who prefer bigger fonts, there's more options for that now too with Medium and Large font size options now available for the Slate and Modern themes. For different controller layouts, like say Nintendo, you can also now swap the menu ABXY buttons. There's lots more, including some specific additions for Linux like support for the AppImage release of Vita3K and the Flatpak release of puNES and lots more. 

If you love emulating games, this is a top quality app to try out on Desktop Linux and Steam Deck.

Full changelog - click me to open

Detailed list of changes

  • Renamed the application from EmulationStation Desktop Edition to ES-DE
  • Renamed the application data directory from .emulationstation to ES-DE
  • Updated the splash screen to reflect the new application name
  • Added a new default theme named "Linear"
  • Split the es_find_rules.xml and es_systems.xml files for Linux and BSD Unix into separate directories
  • Added support for defining font sizes from the theme configuration and selecting these from the UI settings menu
  • Added the theme font sizes count to the theme downloader interface
  • Added support for medium and large font sizes to the Slate and Modern themes
  • Added an option to the Input device settings menu to swap the A/B and X/Y buttons
  • Added support for .webp, .svg and unanimated .gif files to the slideshow screensaver when using a custom image directory
  • Changed the default slideshow custom image directory from slideshow/custom_images to screensavers/custom_slideshow
  • Changed the custom slideshow image directory setting from ScreensaverSlideshowImageDir to ScreensaverSlideshowCustomDir
  • The HTTP error code will now be shown on scraper errors instead of the "File is smaller than 350 bytes" message
  • Removed the ScraperHaltOnInvalidMedia option and corresponding menu entry as it has been superseded by the HTTP error code logic
  • Added a ScraperIgnoreHTTP404Errors option that can be manually set in es_settings.xml to ignore 404 errors (i.e. resource not found)
  • Added Mednafen standalone as an alternative emulator for the gb, gba, gbc and supergrafx systems
  • Added Mesen standalone as an alternative emulator for the gamegear, mastersystem and multivision systems on Linux, Unix and Windows
  • Added Mesen standalone as an alternative emulator for the sg-1000 and supergrafx systems on Linux, Unix and Windows
  • Set Mesen standalone to specifically run in Super Game Boy mode for the sgb system on Linux, Unix and Windows
  • Added the DoubleCherryGB RetroArch core as an alternative emulator for the gb and gbc systems on Linux, Unix and Windows
  • Added the MAME - Current RetroArch core as the default emulator for the gameandwatch and lcdgames systems
  • Added the melonDS DS RetroArch core as the default emulator for the nds system
  • (Linux) Added support for the AppImage release of Vita3K
  • (Linux) Added support for the Flatpak release of puNES
  • Added the .zso file extension to the ps2 system
  • Added the .zar file extension to the xbox360 system on Linux and Windows
  • Added the .pk3 and .ipk3 file extensions to the doom system on Linux, Unix and Windows
  • Added the .dirksimple file extension to the daphne and laserdisc systems
  • (Unix) Removed the -Minimized flag from the Visual Pinball launch command
  • (Windows) Updated the find rules for Visual Pinball to match the actual filenames of the official releases
  • (Windows) Added the %RUNINBACKGROUND% variable for the epic system
  • When scraping using ScreenScraper, the wheel and wheel-hd media types are now considered equivalent
  • Added conversion of an additional HTML character code when scraping using ScreenScraper
  • Added a "renderDuringTransitions" property to the image element
  • Added a "selectorWidth" property to the textlist element
  • Added a "hideIfZero" property to the rating element
  • Putting the computer to sleep while a video is playing will no longer result in a massive fast-forward on resume
  • Combining video pillarboxes with rounded corners will no longer round corners for the actual video frame (except for extreme values)
  • Made the text element "defaultValue" property usable with the metadata types systemName, systemFullname, sourceSystemName and sourceSystemFullname
  • Replaced the default d-pad helpsystem images to make them more legible when using smaller screen sizes
  • Placeholder entries in es_systems.xml are now skipped by default when creating the system directories and systeminfo.txt files
  • Added a CreatePlaceholderSystemDirectories option that can be manually set in es_settings.xml to still create placeholder directories
  • Changed the ScreenScraper URL from https://www.screenscraper.fr/api2 to https://api.screenscraper.fr/api2
  • Added support for more extreme vertical resolutions than previously allowed
  • Added support for the 19.5:9, 20:9 and 1:1 display aspect ratios
  • If any legacy theme configuration is encountered the error messages now simply state that the config is unsupported
  • (Windows) Removed support for building the application using MinGW
  • The relevant SDL error message is now printed to the log if a controller could not be added
  • Added rendering workarounds for some mobile GPUs which do not support all OpenGL operations when using the BGRA pixel format
  • Added the UTF8-CPP library as a dependency
  • Updated SDL to 2.30.0 on Windows, macOS and the Linux AppImage builds
  • Bundled the December 2023 release of the Mozilla TLS/SSL certificates


Bug fixes

  • Attempting to create the system directories with invalid entries in es_systems.xml could crash the application
  • Sometimes controllers were not added correctly when there was a mix of supported and unsupported devices present
  • The last grid row would sometimes not render correctly if fractionalRows was set to true
  • Stationary image elements could sometimes glitch out during carousel navigation
  • Videos were sometimes positioned incorrectly if combining pillarboxes with rounded corners while using an origin value higher than 0.5
  • An extra space character was appended to text elements when setting the systemdata property to gamecountGames or gamecountGamesNoText
  • Theme loading debug output would sometimes print incorrect paths when the configuration included files using variables
  • Font textures were sometimes updated with empty glyhps which generated OpenGL errors on some mobile GPUs
  • The custom collection editing popup did not show the correct button name if the controller type was a PlayStation variant
  • The UI mode confirmation dialog did not show the correct button descriptions if the controller type was PlayStation 1/2/3

You can download from the website. They have separate files for standard Linux and Steam Deck.

Article taken from GamingOnLinux.com.
9 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
7 comments

TheSHEEEP Feb 19
View PC info
  • Supporter Plus
It is also used in EmuDeck and yup, my emulation interface sure does look better now.
Pengling Feb 19
View PC info
  • Supporter
I assume I can expect an update to RetroDECK soon - can't wait. EmulationStation and ES-DE are fab projects.
This file renaming thing is kind of uniting two of my pet peeves. I find it annoying and pointless when people rename their companies or projects or whatever to an acronym based on what previously was a perfectly good actual name with a meaning, often claiming that the acronym doesn't even stand for the name it was based on but is just meaningless now. Why?! So for instance, what was once the Royal Bank of Canada, a perfectly good, dignified name, is now RBC, which according to them means nothing whatsoever and does not stand for Royal Bank of Canada but is just three arbitrary letters. What the fuck, really. But I mean, banks are evil so what do I expect, right? So this project, which used to have a descriptive name so if it got mentioned I'd be able to tell what it was, now has an acronym which if I see it referred to I'll be going "So what the hell is 'ES-DE'?" (Acronyms are also generally less searchable than actual names, because there are so often other things with the same one, so it's a pain and a bad idea in the internet age to change a descriptive name into an acronym)

But since it's a project with computer files involved, it gets to also add in my pet peeve about filenames and data formats and stuff, which is that in this day and age with lots of memory and sophisticated string handling there is no excuse for making such things less human-readable rather than more. So before, if I was browsing around and saw this configuration file, I'd be able to tell, ah, that's a configuration file for that Emulation Station thing. Now, again, I'll be going "Huh. What the hell is this file? Should it be there? Will something break if I delete it? No clue."
whizse Feb 19
View PC info
  • Supporter
export LANG=es_DE.UTF-8

Buen Tag!
Este nombre ist verwirrend!
CatKiller Feb 20
View PC info
  • Supporter Plus
Quoting: Purple Library GuyThis file renaming thing is kind of uniting two of my pet peeves. I find it annoying and pointless when people rename their companies or projects or whatever to an acronym based on what previously was a perfectly good actual name with a meaning, often claiming that the acronym doesn't even stand for the name it was based on but is just meaningless now. Why?! So for instance, what was once the Royal Bank of Canada, a perfectly good, dignified name, is now RBC, which according to them means nothing whatsoever and does not stand for Royal Bank of Canada but is just three arbitrary letters. What the fuck, really. But I mean, banks are evil so what do I expect, right? So this project, which used to have a descriptive name so if it got mentioned I'd be able to tell what it was, now has an acronym which if I see it referred to I'll be going "So what the hell is 'ES-DE'?" (Acronyms are also generally less searchable than actual names, because there are so often other things with the same one, so it's a pain and a bad idea in the internet age to change a descriptive name into an acronym)

But since it's a project with computer files involved, it gets to also add in my pet peeve about filenames and data formats and stuff, which is that in this day and age with lots of memory and sophisticated string handling there is no excuse for making such things less human-readable rather than more. So before, if I was browsing around and saw this configuration file, I'd be able to tell, ah, that's a configuration file for that Emulation Station thing. Now, again, I'll be going "Huh. What the hell is this file? Should it be there? Will something break if I delete it? No clue."

You missed a third: with all the tarting around the developers are doing, the user has to manually rename files. JFC, you know what you used to call the file, you know what you've arbitrarily changed the name to, the absolute least you can do is see if there's a file called the old thing and rename it to the new thing when you introduce a version that demands the new thing rather than the old thing.
TheSHEEEP Feb 20
View PC info
  • Supporter Plus
Quoting: Purple Library Guy"So what the hell is 'ES-DE'?"
You aren't wrong, but in this case ES-DE has been the official acronym of the thing for... years? It's not a good string of letters, but it is what it is.
It was always odd that the configuration folder was NOT named ES-DE.
Probably that matter of fact caught up with the folder name in the end.

Quoting: CatKillerthe absolute least you can do is see if there's a file called the old thing and rename it to the new thing when you introduce a version that demands the new thing rather than the old thing.
Yeah, that is the true WTF here.


Last edited by TheSHEEEP on 20 February 2024 at 6:24 am UTC
sprocket Feb 20
Kind of annoyed that they still insist on putting things in /home instead of /home/.local/share or /home/.config/ but whatever.

That said, it looks slick and I may give it a try over just using RetroArch.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.