What is RetroDECK?

For a quick overview check the website.
What is RetroDECK?
RetroDECK is a powerful all-in-one retro gaming platform designed for handheld gaming PCs like the Steam Deck, full Linux desktops, Linux HTPC setups, and Linux-based PC consoles such as the Steam Machine.
Delivered as a self-contained Flatpak app, it gives you everything you need for retro gaming right out of the box, no manual setup required.
By integrating a wide range of components such as emulators, game engines, ports, and built-in tools, RetroDECK brings all your favorite games together in one streamlined, easy-to-use package.
Definition of Components
RetroDECK categorizes all software inside the platform as distinct components, organized into the following groups:
Clients
A client is a system or application that connects to a server or online service to access multiplayer features, streaming, or remote content. Clients rely on an external host to function.
Examples:
- Mudlet - A MUD client for connecting to text-based multiplayer servers (not yet in RetroDECK).
Emulators
An emulator is a software application designed to replicate the hardware and behavior of a specific system, whether it is a physical device (such as a game console or arcade board) or a virtual/fantasy platform. Emulators enable software created for one system to run on another by accurately reproducing the original system’s functionality, quirks, limitations, and performance characteristics.
Examples:
- PCSX2 - PlayStation 2 emulator.
- Vita3K - PlayStation Vita emulator.
- Pico-8 - Fantasy console.
Multi-Emulators
A multi-emulator (or multi-system emulator) is a platform capable of running multiple system cores or modules, allowing users to emulate a wide variety of consoles and hardware through a single interface. These tools often focus on modularity, extensibility, and unified configuration across systems.
Examples:
- RetroArch - Multi-emulator frontend supporting numerous systems through Libretro cores.
- MAME - MAME is a multi-purpose emulation framework specializing in arcade hardware preservation.
- ares - Multi-system emulator focused on accuracy and preservation.
Engines
Engines are game engines or runtime environments designed to run games built specifically for them. This can include native engines as well as engine re-implementations modern rewrites that replace the original engine while preserving compatibility with classic games.
Examples:
- Solarus - Action-RPG engine.
- UZDoom - Source port for Doom-engine games.
- OpenBOR - Open-source Beat ’em Up engine.
Systems
Systems are non-gaming platforms or software environments supported within RetroDECK. These may include tools, utilities, frontends, media systems that enhance functionality but are not games themselves.
Examples:
- Steam Rom Manager - Tool for managing and importing ROMs into Steam.
- ES-DE - RetroDECK’s chosen frontend.
- Flips - Tool for handling ROMs and patches.
- PortMaster - Application for managing game ports and installations.
Ports
Ports are individual games that have been adapted to run natively through a specific engine, framework, or platform. They do not require emulation since the game has been reworked or recompiled to run directly on modern systems.
Examples:
- All games installed via PortMaster.
- Games built directly into RetroDECK.
What Software and Features Are Included?
To see the full list on what is included so far, read:
Key Main Features of RetroDECK
We believe that all functionality should be self-contained within the RetroDECK application, with no need for additional external software or dependencies.
Below is a concise overview of RetroDECK’s major features and core concepts:
| Feature / Concept | Description |
|---|---|
| All-in-one Contained Design | Distributed as a sandboxed Flatpak, keeping all important files in minimal locations for easy maintenance and cleanup. |
| Easy to Install | Available on Flathub and installable via your software center, including KDE Discover, Bazaar, and GNOME Software. |
| Easy to Remove | Uninstalling RetroDECK safely removes all application files while keeping user data in retrodeck/ intact. Everything else is removed automatically by clicking uninstall in your software center. |
| Easy to Update | Updates automatically through your software center like any other Flatpak application. |
| RetroDECK Configurator | A multi-tool settings utility accessible directly from the ES-DE main menu, allowing you to manage and adjust system configurations from a single, unified interface. |
| RetroDECK Framework | Enhances emulators and the ES-DE interface for deeper integration and expanded functionality. |
| RetroDECK RetroENGINE | A headless game runner designed for power users and developers. |
Key Features of the RetroDECK Framework & Configurator
A multi-tool with a powerful backend.
| Feature | Description |
|---|---|
| Automatic BIOS handling | RetroDECK can check for required BIOS files and auto-install supported ones to simplify setup. |
| File-management utilities | Tools for organizing or moving folders and components within RetroDECK. |
| Full content management | Organize all user-accessible content in RetroDECK, including backups, BIOS, borders, cheats, ES-DE, logs, mods, ROMs, saves, screenshots, states, shaders, texture packs, and storage. RetroDECK exposes dedicated folders for easy access: • retrodeck/backups/ • retrodeck/bios/ • retrodeck/borders/ • retrodeck/cheats/ • retrodeck/ES-DE/ • retrodeck/logs/ • retrodeck/mods/ • retrodeck/roms/ • retrodeck/saves/ • retrodeck/screenshots/ • retrodeck/states/ • retrodeck/shaders/ • retrodeck/texture_packs/ • retrodeck/storage/ - a catch-all for miscellaneous user-accessible data |
| Game compression tools | Reduce file sizes with built-in compression utilities to save storage space. |
| Global presets | Configure multiple components at once with universal presets, including: - RetroAchievements - Borders and overlays - Widescreen enhancements - Swapped A/B or X/Y buttons for Nintendo platforms - Additional system-wide options |
| Prebuilt Steam Input Templates | Quickly apply controller templates tailored for Steam Deck, external controllers, and more. |
| Run games with RetroENGINE | Launch any supported title with a simple double-click through RetroDECK’s streamlined headless game runner. |
| Sync games with Steam | Seamlessly integrate your favorite titles into your Steam library via built-in SRM and ES-DE favorites integration. |
| Troubleshooting helpers | Diagnose issues using tools like the Multi-File Structure Checker, environment repair options, and one-click reset functions. |
| Unique Component Wrappers | Some components, like UZDoom and OpenBOR, use custom wrappers to simplify launching. UZDoom supports a custom .doom format for easier mod integration, while OpenBOR uses .bor or .openbor formats for its games. |
Key Component Backend Features inside of RetroDECK
RetroDECK organizes all software as isolated components, each running within a layered, self-contained environment. This architecture provides stability, flexibility, and efficient management of emulators, engines, ports, and other systems.
| Feature / Benefit | Details |
|---|---|
| Docker-Inspired Flow | The architecture behaves like launching small Docker-style containers built from reusable layers, but inside Flatpak. |
| Dynamic Layer Stacking | When a component runs, RetroDECK dynamically assembles its runtime from the base layer upward, like constructing a lightweight container on demand. |
| Flexibility | New components can be added or customized without altering the base runtime. |
| Isolated Environments | Each component only sees the libraries it needs, preventing cross-component interference and ensuring stability. |
| Scalability | Easy to expand with more components, each remaining isolated yet efficiently layered. |
RetroDECK Is Currently in BETA
RetroDECK is actively evolving. It is stable enough for daily use, but major updates may still introduce significant changes, new features, or adjustments.
Missing Features
The following features are planned for future RetroDECK releases to enhance functionality, usability, and system support:
| Feature | Description |
|---|---|
| Additional Components | Expand compatibility with more clients, emulators, multi-emulators, engines, ports and more. |
| Cloud synchronization | Sync saves, states, configurations, and more across devices for seamless gameplay. |
| Dynamic external display resolution | Adjust resolution automatically for docked setups or multiple displays. |
| Enhanced gyro support | Improved motion control functionality across compatible systems. |
| Improved art assets | Updated mascot, logos, icons, and new easter eggs for a polished visual experience. |
| Multi-user profile system | Support for multiple users on a single device, keeping settings, saves, and preferences separate. |
| Rebuilt Configurator & first-run installer | Modernized setup experience developed in Godot for a unified, intuitive interface. |
| SFTP support | Access and manage files remotely using SFTP for flexible workflow. |
| USB transfer support | Easily transfer files and manage RetroDECK content offline via USB. |
Main Version vs. Cooker Version
What are the versions?
| Version | Description |
|---|---|
| Cooker Version | Development build that updates frequently and includes experimental or in-progress features. Highly unstable and intended only for testers and developers. |
| Main Version | Stable build published on Flathub, recommended for all users. Designed for reliability and everyday use. |
What Are We Working on Right Now?
To stay up-to-date with the latest RetroDECK developments:
- Follow us on social media - Links are available on the Wiki Start Page.
- Check the RetroDECK Blog - Read updates and announcements on the blog.
- Explore GitHub issues - See ongoing work, planned features, and community discussions on GitHub.
Patch Notes and Known Issues
Get help with a problem / support
The FAQ❔
Could answers several questions you might have about the project as well.