EmulationStation-X (ES-X) is a stable, creator-focused evolution of the original EmulationStation engine, built specifically for RetroPie systems.
It started from a simple need: create better themes without leaving RetroPie.
ES-X does not replace EmulationStation. It extends it.
It preserves RetroPie compatibility, ARM performance, and familiar structure, while expanding what themes and UI systems can achieve.
ES-X follows a clear direction:
- Modernize without fragmenting the ecosystem
- Empower theme creators
- Keep performance ARM-friendly
- Expand carefully, not aggressively
Inspired by projects such as ES-DE, Batocera, and Recalbox, ES-X adapts selected ideas to fit RetroPieโs architecture โ not to imitate them, but to expand creative possibilities within a different ecosystem.
Classic EmulationStation is stable and lightweight. But for theme creators, achieving modern layouts often requires duplication, structural compromises, or engine-level workarounds.
ES-X reduces that friction.
It treats themes not as static skins, but as configurable systems.
- Users benefit from improved visuals and runtime flexibility.
- Creators benefit from a cleaner and more modular foundation.
- Theme creators who want advanced control without engine hacks
- RetroPie users who want modern visuals while keeping compatibility
- Contributors interested in careful, production-oriented evolution
- Replacing RetroPieโs ecosystem with a fully different frontend
- Breaking compatibility for quick experimentation
- Feature bloat without long-term ARM stability
- Full UI translation without recompilation
- Dynamic loading at runtime
- Community-friendly structure
- Located in:
~/.emulationstation/lang/
Stable and actively used.
The heart of ES-X:
theme.xmlโ draws the UItheme.iniโ defines options- ES-X โ binds both at runtime
This enables:
- Multiple layouts from a single theme
- Performance-friendly variants
- Console-style customization
- Zero duplication
Themes become configurable systems, not fixed presets.
See: THEME_OPTIONS.md
- True
zIndexlayering - Advanced scale, spacing, and opacity controls
- Text borders & shadows (engine-level)
- Improved carousel flexibility
- Safe metadata fallback handling
Designed to remain compatible with classic themes.
ES-X expands Grid view flexibility, enabling themes to:
Create single-row horizontal layouts with carousel-like behavior
Scale and highlight the selected item with clean visual separation
Control spacing, composition, and visual emphasis directly via theme XML
Define custom gridtile frames using backgroundImage, allowing themed borders and overlays per state (default / selected)
Build modern console-style interfaces without modifying the engine core
Gridtile rendering has also been stabilized to prevent unintended image alpha modulation, ensuring selected items display with full opacity and accurate color reproduction.
All enhancements preserve performance, compatibility, and the lightweight architecture of classic EmulationStation.
- SDL_mixer-based background music manager
- Stable shuffle model
- Automatic pause on game launch
- Resume with next track
- Safe handling of corrupted audio files
- Ducking when video is playing
- Navigation sounds (scroll / select / back)
Built for long-term stability on ARM devices.
ES-X separates navigation transitions from game launch transitions.
This keeps the system carousel visually stable while allowing smoother animations within game lists and during game launch.
Inspired by modern console UI design, this produces a more balanced navigation experience without excessive motion.
ES-X prioritizes clarity of mental model.
Compared to traditional EmulationStation workflows:
- Layering is predictable
- Layout variants are modular
- Localization is externalized
- Visual logic is separated from configuration
The goal is not maximum complexity. The goal is accessible expressiveness.
Beautiful themes should not require engine hacks.
| Feature | Status |
|---|---|
| Runtime language system | โ Stable |
| Theme variables | โ Available |
| Theme Options system | โ Stable |
| Text borders & shadows | โ Stable |
| Dark menu mode | โ Stable |
| Background music | โ Stable |
| Navigation sounds | โ Stable |
| Audio ducking | โ Stable |
| Controller overlay | ๐ Planned |
| Network indicator | ๐ Planned |
Core systems are stable for daily use. New capabilities are introduced carefully to preserve compatibility and performance.
https://github.com/Renetrox/EmulationStation-X-Module-for-retropie
- โ Handles dependencies
- โ Correct build flags
- โ Clean RetroPie integration
git clone --recursive https://github.com/Renetrox/EmulationStation-X.git
cd EmulationStation-X
mkdir build && cd build
cmake ..
make -j4If cloned without submodules:
git submodule update --init --recursive- Full language coverage
- Expanded theme-driven layout control
- Controller & network overlays
- Creator-oriented documentation
- Continued refinement without breaking RetroPie stability
Dino Renรฉ Caballero Mรกrquez (Renetrox)
Educator โข RetroPie Enthusiast โข Theme Developer
Paraguay
MIT (same as original EmulationStation).
Accessibility is not just using it โ it is understanding it, hearing it, and shaping it your way.

