Find a file
XargonWan 76ed6199cb
feat/update-noruntime (#11)
* Documentation update

* Added the NooDS RetroArch core as an alternative emulator for the gba and nds systems

* Documentation update

* Updated the archive/el_GR.po file

* Fixed an issue where MD5 hashes were calculated when using the single-game scraper

* Refactored the helpsystem code and added support for using an arbitrary amount of helpsystem elements

* Removed the obsolete HelpStyle code

* Fixed some Clang compiler warnings

* Added 'thumbstickclick' as a supported 'entries' property value for the helpsystem element

* Documentation update

* Added 'lr' and 'ltrt' as supported 'entries' property values for the helpsystem element

* Documentation update

* Made it possible to set per-element icon overrides for the helpsystem element

* Fixed an issue where the helpsystem icons were sometimes not getting updated

* Fixed an issue where the default helpsystem element was not displayed if there was no theme configuration for it

* Eliminated some unnecessary helpsystem updates

* Changed a code comment

* Added 'imageSize', 'imageMaxSize', 'imageCropSize' and 'imageCropPos' properties to the video element

* Documentation update

* Added support for a 'none' value to the helpsystem element scope property

* Documentation update

* Rewrote the logic for the 'none' value for the helpsystem element scope property

* Added 'rotation' and 'rotationOrigin' properties to the helpsystem element

* Documentation update

* Added an 'entryLayout' property to the helpsystem element

* Added support for a 'none' value to the video element imageType property

* Documentation update

* Added a 'fadeInType' property to the video element

* Documentation update

* Added a clock element and a corresponding menu entry

* Documentation update

* Adjusted the default position for the clock

* Fixed an issue where applying rounded corners caused rendering artfifacts if the texture did not use premultiplied alpha

* Added a BackgroundComponent to replace NinePatchComponent for rendering menu and popup backgrounds

* Rewrote most components to use BackgroundComponent instead of NinePatchComponent

* Removed the obsolete frame.png and frame.svg graphics resource files

* Increased the background blur slightly when a menu is open

* Removed an unused variable

* Small adjustment to the GuiInfoPopup corner roundness

* Made the menu and launch screen scale up at the same speed regardless of the display refresh rate

* Documentation update

* (Linux) Added support for the Flatpak release of Ruffle

* Added the .ruf file extension to the flash system

* Fixed an issue where the DateTimeComponent gamelist fadeout didn't work correctly

* Changed the rendering order so that the clock is rendered above the textlist quick scrolling overlay

* Added an option to completely disable the game launch screen

* Added a screensaver-game-select custom event

* Added game-select and system-select custom events and a corresponding 'Browsing custom events' menu option

* (Linux) Changed the AppImage find rule for Mandarine to mandarine-qt*.AppImage

* Documentation update

* Made a HelpComponent function private instead of public

* (iOS) Fixed a build issue

* Added support for building against ICU 76.1 and later

* Added a SystemStatus class to poll Bluetooth, Wi-Fi, cellular and battery information from the operating system

* Fixed an issue where the wrong SystemStatus Wi-Fi debug info was shown

* (Android) Changed system status polling to run on the main thread

* (Windows) Fixed a typo that caused a build error

* (Linux) Fixed an issue where the battery was not detected

* (macOS) Fixed an issue where the battery capacity was not calculated correctly

* (Windows) Fixed a linker error due to two missing libraries

* (Linux) Added the BlueZ library as a dependency

* (Linux) Added the BlueZ library as a dependency

* Added a CMake find module for BlueZ

* (Linux) Fixed a CMake find module name mismatch for BlueZ

* Changed the CMake configuration to only check for the BlueZ library on Linux and not on FreeBSD

* Changed a CMake configuration comment

* OCD commit

* (Linux) Added support for checking for multiple Bluetooth adapters

* Disabled system status polling on FreeBSD and Haiku

* Added clamping to the battery capacity to work around buggy OS drivers

* Added system status indicator icons

* Added a system status component

* (Android) Fixed an issue where there was a PLACEHOLDER entry present for the consolearcade system in the es_systems.xml file

* Added menu options to toggle the system status indicators

* Fixed some issues with the system status indicators

* Fixed an issue where the battery text was not updated correctly when changing its menu option

* Documentation update

* (macOS) Added a NSBluetoothAlwaysUsageDescription key to the Info.plist file

* Fixed an issue where the battery percentage text was sometimes shown when it shouldn't have been

* Fixed an issue where some theme properties did not load correctly for the clock element

* Reorganized the positions of the systemstatus and clock elements in ThemeData

* (linear-es-de) Added configuration for the systemstatus and clock elements

* Made a small adjustment to the systemstatus element's default position

* (linear-es-de) Small adjustment to the position of the systemstatus element

* Changed SystemStatusComponent to use a height property instead of a size property

* (linear-es-de) Updated the theme config to use a height property for the systemstatus element

* Documentation update

* (linear-es-de) Relocated the configuration for the systemstatus and clock elements

* Removed the backgroundMargins and lineSpacing properties for the clock element and added backgroundColorEnd, backgroundGradientType and backgroundPadding

* (linear-es-de) Removed an obsolete property for the clock element

* (modern-es-de) Added systemstatus and clock configuration

* (slate-es-de) Added systemstatus and clock configuration

* Fixed a rendering issue when combining rotation and background padding for the clock element

* Added backgroundColor, backgroundColorEnd, backgroundGradientType, backgroundPadding and backgroundCornerRadius properties to the helpsystem element

* Added 'rotation' and 'rotationOrigin' properties to the systemstatus element

* Documentation update

* Added libgallium to the TSAN_suppressions file

* Added a compensation for a strange helpsystem sizing issue when drawing the element background

* Fixed an issue where the override for the 'battery_low' systemstatus icon did not work

* Added two sorting flags to make the translation update script generate identical output across different machines

* Changed the .po update script to not use fuzzy matching

* Added a .continueignore entry to the .gitignore file

* Updated all .po files with the new translation messages

* Updated the en_US and en_GB translations

* Updated the sv_SE translations

* (Android) Added MAME4droid Current emulator entries for all systems where MAME4droid 2024 was supported

Also changed from MAME4droid 2024 to MAME4droid Current for all systems where only this emulator was supported

* (Linux) Added a find rule entry for the new PCSX2 binary name (pcsx2)

* (Linux) Added a find rule entry for the new DuckStation binary name (duckstation)

* Added the b2 RetroArch core as an alternative emulator for the bbcmicro system

* Documentation update

* Updated SDL to 2.32.2

* Updated the MAME index files to include ROMs up to MAME version 0.275

* Bundled the February 2025 release of the Mozilla TLS/SSL certificates

* Documentation update

* Updated the nl_NL translations

* Updated the ro_RO translations

* Updated the fr_FR translations

* Updated the pt_BR translations

* Updated the it_IT translations

* Updated the fr_FR translations

* Updated the ko_KR translations

* Updated the es_ES translations

* Updated the de_DE translations

* Updated the es_ES translations

* Updated the ro_RO translations

* Updated the ru_RU translations

* Updated the ja_JP translations

* Updated the zh_CN translations

* Updated the sv_SE translations

* Updated the ca_ES translations

* Added a 'scope' property to the systemstatus and clock elements

* Documentation update

* Updated the pl_PL translations

* (linear-es-de) Added system metadata translations for 15 languages

* Added support for the Vircon32 Virtual Console (vircon32) game system

* (linear-es-de) Added support for the Vircon32 Virtual Console (vircon32) game system

* (modern-es-de) Added support for the Vircon32 Virtual Console (vircon32) game system

* (slate-es-de) Added support for the Vircon32 Virtual Console (vircon32) game system

* Documentation update

* Added the .m3u file extension to the sega32x, sega32xjp and sega32xna systems

* (Android) Added a find rule entry for the new Cemu package name

* Added A7800 standalone as an alternative emulator for the atari7800 system on Linux and Windows

* (Linux) Added XM6 TypeG Wine and XM6 TypeG Proton as alternative emulators for the x68000 system

Also added XM6 TypeG standalone as an alternative emulator for the x68000 system on Windows

* (Android) Added Azahar standalone as an alternative emulator for the n3ds system

* Documentation update

* (Linux) Added MFME Wine and MFME Proton as alternative emulators for the arcade system

Also added MFME standalone as an alternative emulator for the arcade system on Windows

* Added a %ROMRAWWIN% variable

* (Linux) Added support for the manually downloaded release of Mesen

* Added Mesen standalone as an alternative emulator for the colecovision, wonderswan and wonderswancolor systems on Linux and Windows

* Added Azahar standalone as an alternative emulator for the n3ds system on Linux and Windows

* Documentation update

* Made a small adjustment to the button_y_PS helpsystem button

* Updated the de_DE translations

* Updated the de_DE translations

* Updated the zh_TW translations

* Documentation update

* Fixed some segfaults that could occur during emergency shutdown

* Improved the cleanup on window deinit

* Fixed a crash on window deinit

* Fixed a rare issue where reloading the application could lead to a crash

* Optimized HelpComponent updates by caching the icons

* The HelpComponent icon cache is now cleared when pressing ctrl-r

* Added an 'entryRelativeScale' property to the helpsystem element

* Fixed a code comment typo

* Documentation update

* Updated the sv_SE translations

* (linear-es-de) Adjusted the relative scale between the icons and text for the helpsystem element

* Split the backgroundPadding property into backgroundHorizontalPadding and backgroundVerticalPadding properties for the helpsystem, systemstatus and clock elements

* (slate-es-de) Updated to use the new backgroundHorizontalPadding and backgroundVerticalPadding properties for the systemstatus and clock elements

* Documentation update

* The LANG and LANGUAGE variables are now set explicitly to the UTF-8 character encoding on Linux, macOS and Android

* (modern-es-de) Adjusted the relative scale between the icons and text for the helpsystem element

* Added the bsnes-jg RetroArch core as an alternative emulator for the satellaview, sfc, snes, snesna and sufami systems

* (Windows) Fixed an issue where there could be double quotation marks added to the launch command under some special circumstances

* Enabled directories interpreted as files with MAME RetroArch for the apple2, apple2gs and fmtowns systems on Linux, macOS and Windows

* (Windows) Added back accidentally deleted MAME standalone entry for the apple2 system

* Documentation update

* (Windows) Made the hack to remove double quotation marks on game launch slightly less dangerous

* Simplified a number of HelpComponent function and variable names

* (Android) The launch sound is no longer played if the launch screen is set as disabled

* The launch sound is now always stopped when returning to ES-DE after a game launch

* The launch sound is no longer played if the launch screen is set as disabled when built with the DEINIT_ON_LAUNCH option

* Prevented the launch sound from getting stopped when running in the background on game launch

* Updated the de_DE translations

* Fixed an issue where the menus would sometimes contain fractional rows

* Updated the ko_KR translations

* (Android) Added SkyEmu standalone as an alternative emulator for the gb, gba, gbc and nds systems

* Documentation update

* Added support for the 8:7 display aspect ratio

* Added translations for the '8:7 vertical' message

* Documentation update

* Documentation update

* Fixed an issue where a double free in GuiLaunchScreen could cause an unclean application shutdown

* Updated the archive/el_GR.po file

* (Linux) Added MFME Wine and MFME Proton as alternative emulators for the mame system

Also added MFME standalone as an alternative emulator for the mame system on Windows

* (Linux) Added find rule entries for Lindbergh Loader

* Added initial support for the Microsoft Xbox One (xboxone) game system

* (linear-es-de) Added support for the Microsoft Xbox One (xboxone) game system

* (modern-es-de) Added support for the Microsoft Xbox One (xboxone) game system

* (slate-es-de) Added support for the Microsoft Xbox One (xboxone) game system

* Documentation update

* Added support for the Sega Mark III (mark3) game system

* (linear-es-de) Added support for the Sega Mark III (mark3) game system

* (modern-es-de) Added support for the Sega Mark III (mark3) game system

* (slate-es-de) Added support for the Sega Mark III (mark3) game system

* Documentation update

* Added support for the Sony PlayStation 4 (ps4) game system on Linux, macOS and Windows

* Updated the archive/el_GR.po file

* Documentation update

* (Linux) Moved an emulator entry in es_find_rules.xml that was not sorted correctly

* (Android) Added a find rule entry for the Pizza Boy SC Basic emulator

* Added the CannonBall and Mr.Boom RetroArch cores as alternative emulators for the ports system

* Documentation update

* Updated the dummy ROMs archives with the latest systems

* Added RPCS3 Game Serial as an alternative emulator for the consolearcade and ps3 systems on Linux, macOS and Windows

* Documentation update

* (linear-es-de) Updated the system metadata for the mark3, vircon32 and xboxone systems

* (linear-es-de) Added zh_TW metadata translations for most systems

* (linear-es-de) Added zh_TW metadata translations for some systems

* (linear-es-de) Updated the system metadata for some systems

Also removed two obsolete system metadata files

* (linear-es-de) Updated some sv_SE system metadata entries

* Fixed an issue where the update_version_string.sh script would not update the Info.plist file correctly

* Bumped the version to 3.2.0

* Fixed a potential crash when disabling the help prompts

* Updated "update from upstream"script to fetch `stable-3.2`

* Added HelpStyle definition if def RETRODECK

* Removed HelpStyle (was introduced by RetroDECK)

* Added dependencies for ES-DE 3.2.0: dav1d, bluez, libvpx e icu

* fix(manifest): libvpx hash

* fix(manifest): update ICU source SHA256 hash

* fix(icu): change build system to simple and update build commands

* fix(icu): switch build system to autotools and update build directory structure

* fix(es-de): remove ICU dependency and update build options for ES-DE for statically linking it

* Documentation update

* feat(manifest): update runtime version to 6.8

* feat(automation): added the AppImage build job

* feat(build): install PipeWire development dependencies for ES-DE workflow

* feat(build): update dependencies for ES-DE workflow

* feat(workflow): add job to check and delete empty releases after builds

* fix(build): update release notes format in build workflow [skip ci]

* Triggering build

* feat(build): add Bluetooth development dependencies and improve AppImage naming

* feat(build): rename AppImage output for ES-DE to RetroDECK format

* feat(build): update script for RetroDECK AppImage creation

* feat(build): add bcm_host and brcmegl dependencies to build workflow

* feat(build): replace brcmegl with fuse in dependency installation

* Documentation update for the 3.2.0 release

* feat(manifest): reverted runtime version to 6.7 in application YAML

---------

Co-authored-by: Leon Styhre <leon.styhre@nw-soft.com>
2025-04-08 13:33:45 +09:00
.github/workflows feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
automation_tools ES-DE: migrating to static manifest + trying to use FFMPEG-FULL - part 2 2025-01-20 15:15:24 +09:00
CMake feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
developer_toolbox BUILD_LOCALLY: added RetroDECK injenction [skip ci] 2025-02-20 11:12:50 +09:00
es-app feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
es-core feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
es-pdf-converter feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
external feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
images Documentation update 2024-02-18 13:36:09 +01:00
licenses feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
locale feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
resources feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
themes feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
tools feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
.clang-format Changed the application name from EmulationStation Desktop Edition to ES-DE 2023-12-16 12:30:13 +01:00
.gitignore feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
.gitmodules Added .gitmodules 2024-07-19 17:02:34 +09:00
ANDROID-DEV.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
ANDROID.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
CHANGELOG.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
CMakeLists.txt feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
CREDITS.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
FAQ-ANDROID.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
FAQ.md feat/update 3.1.0 (#7) 2024-09-18 02:23:26 +02:00
HAIKU.md Documentation update 2024-10-27 23:06:51 +01:00
INSTALL-DEV.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
INSTALL.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
latest_release.json feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
LICENSE feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
net.retrodeck.es-de.appdata.xml Updated build-locally (step 7) [skip ci] 2024-09-27 10:15:19 +09:00
net.retrodeck.es-de.yml feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
README.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
ROADMAP.md Documentation update 2024-11-30 11:22:21 +01:00
THEMES-DEV.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
THEMES.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
TRANSLATIONS.md feat/update 3.1.0 (#7) 2024-09-18 02:23:26 +02:00
update_from_upstream.sh feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
USERGUIDE-DEV.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00
USERGUIDE.md feat/update-noruntime (#11) 2025-04-08 13:33:45 +09:00

ES-DE Frontend

ES-DE (EmulationStation Desktop Edition) is a frontend for browsing and launching games from your multi-platform collection.

It's officially supported on Linux, macOS, Windows and Android but can also be used on Haiku and the Raspberry Pi if you build it yourself from source code. There is also an ES-DE package in the FreeBSD ports collection.

Website:
https://es-de.org

Patreon:
https://www.patreon.com/es_de

YouTube:
https://www.youtube.com/@ES-DE_Frontend

Discord:
https://discord.gg/42jqqNcHf9

The goal of this project is to make a high quality frontend that is easy to use, requires minimal setup and configuration, looks nice, and is available across a wide range of operating systems.

It comes preconfigured for use with a large selection of emulators, game engines, game managers and gaming services. It can also run locally installed games and applications. It's fully customizable, so you can easily expand it with support for additional systems and applications.

You can find the complete list of supported game systems in the User guide.

There are many high-quality themes that can be installed using the built-in theme downloader. You can also find the web version of the themes list here:
https://gitlab.com/es-de/themes/themes-list

Download

Visit https://es-de.org to download the latest ES-DE release or go to the package registry where you can also find a number of previous releases.

The Android port of ES-DE is a paid app, which you can get on Patreon, the Samsung Galaxy Store and Huawei AppGallery.

If you're using a Raspberry Pi, then you need to compile from source code as no prebuilt package is provided for this platform. A detailed build guide is available in INSTALL.md.

If your run FreeBSD then ES-DE is available as an official port.

Additional information

FAQ.md - Frequently Asked Questions

USERGUIDE.md / USERGUIDE-DEV.md - Comprehensive guide and reference for all application settings

INSTALL.md / INSTALL-DEV.md - Building from source code and advanced configuration topics

THEMES.md / THEMES-DEV.md - Guide and reference for theme development

CHANGELOG.md - Detailed list of changes for all past releases and the in-development version

ROADMAP.md - List of major features planned to be added in the future

CREDITS.md - An attempt to credit the individuals and projects which made ES-DE possible

Some feature highlights

Here are some highlights, displayed using the default Linear theme.

alt text The System view, which is the default starting point for the application, it's here that you browse through your game systems.

alt text The Gamelist view, it's here that you browse the actual games per system.

alt text Another example of the gamelist view, displaying advanced folder support. You can scrape folders for game info and game media, sort folders as you would files, mark them as favorites etc.

alt text Games can be grouped into your own custom collections, in this example they're defined as genres.

alt text This is a view of the built-in scraper which downloads game info and game media from either screenscraper.fr or thegamesdb.net. It's possible to scrape a single game, or to run the multi-scraper which can scrape a complete game system or even your entire collection.

alt text There are many settings for the scraper including options to define which type of info and media to download. The above screenshot shows only a portion of these settings.

alt text In addition to the scraper there is a fully-featured metadata editor that can be used to modify information on a per-game basis.

alt text There are four built-in screensavers, including a slideshow and a video screensaver that display random games from your collection.

alt text ES-DE is fully themeable, in case you prefer another look than what the default theme Linear offers. The screenshot above shows the Slate theme that is also bundled with the application.