Skip to content

Renetrox/EmulationStation-X

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

204 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

EmulationStation-X (ES-X)

License: MIT Platform: ARM RetroPie Compatible

LOGO

YouTube demo

Example Theme Gallery

Captura de pantalla_2026-01-09_19-20-24

Multilingual scraper

Captura de pantalla_2025-12-01_12-24-53

Example Theme Options

Captura de pantalla_2025-12-05_07-07-19 Captura de pantalla_2025-12-31_12-58-30 Captura de pantalla_2025-12-15_13-20-32

Example Grid view

Captura de pantalla_2026-03-02_13-12-38 photo_2026-04-04_09-59-24

What is ES-X?

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.

Philosophy

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.

Why ES-X Exists

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.

Who ES-X Is For / Not For

ES-X is for:

  • 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

ES-X is not for:

  • Replacing RetroPieโ€™s ecosystem with a fully different frontend
  • Breaking compatibility for quick experimentation
  • Feature bloat without long-term ARM stability

Core Systems (Production-Ready)

๐ŸŒ Runtime Language System (.ini)

  • Full UI translation without recompilation
  • Dynamic loading at runtime
  • Community-friendly structure
  • Located in: ~/.emulationstation/lang/

Stable and actively used.

๐ŸŽจ Theme Options System

The heart of ES-X:

  • theme.xml โ†’ draws the UI
  • theme.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

๐Ÿงฉ Extended Theme Engine

  • True zIndex layering
  • 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.

๐ŸŽฎ Enhanced Grid Layout Control

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.

๐Ÿ”Š Background Music & Audio System

  • 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.

๐ŸŽฌ Refined Transition System

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.

Designed for Theme Creators

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.

Current Feature Status

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.

Installation

Recommended (RetroPie Module)

https://github.com/Renetrox/EmulationStation-X-Module-for-retropie

  • โœ” Handles dependencies
  • โœ” Correct build flags
  • โœ” Clean RetroPie integration

Manual Build (Advanced)

git clone --recursive https://github.com/Renetrox/EmulationStation-X.git
cd EmulationStation-X
mkdir build && cd build
cmake ..
make -j4

If cloned without submodules:

git submodule update --init --recursive

Roadmap Focus

  • Full language coverage
  • Expanded theme-driven layout control
  • Controller & network overlays
  • Creator-oriented documentation
  • Continued refinement without breaking RetroPie stability

Author

Dino Renรฉ Caballero Mรกrquez (Renetrox)
Educator โ€ข RetroPie Enthusiast โ€ข Theme Developer
Paraguay

License

MIT (same as original EmulationStation).


Accessibility is not just using it โ€” it is understanding it, hearing it, and shaping it your way.

About

EmulationStation fork for RetroPie featuring extended theming, .ini-based localization and UX improvements.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages