RetroDECK: a retro gaming platform delivered as one Flatpak
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.
At a glance
- What is it?
- RetroDECK is an all-in-one retro gaming platform for Linux based systems, from the Steam Deck to desktops, HTPCs and Linux powered consoles, and it ships as a single self-contained Flatpak that bundles the emulators, engines, ports and tools behind one interface. The interesting engineering is in the build automation and in the fact that the whole project is spread across a dozen repositories.
- Who is it for?
- Adopt RetroDECK if you want one application that hides the differences between emulators, engines and ports on a Linux system, especially on a handheld where per-emulator setup is painful. Do not adopt it if you like configuring each emulator yourself, because the value is precisely in not doing that, and check the licensing pages before you assume the platform's GPL licence covers the games you run.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 7 days ago.
- What is it written in?
- Mainly Shell, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
One package instead of a dozen emulators
RetroDECK is an all-in-one retro gaming platform for Linux-based systems, including handheld gaming PCs such as the Steam Deck, desktop Linux computers, HTPC setups and Linux-powered console devices.
The delivery mechanism is the first thing to understand. It comes as a self-contained Flatpak application, and the README's claim is that it provides a ready-to-use retro gaming environment right out of the box, with no manual setup required.
That is a real design decision rather than a packaging convenience. A retro gaming setup on Linux normally means a distribution package per emulator, a per-emulator configuration file, a ROM collection in a specific directory layout, and a frontend to browse it. RetroDECK collapses that into one application, and the price is that it decides the configuration for you.
What goes into the package is described in one sentence: a wide range of components such as emulators, game engines, ports and built-in tools, brought together in one streamlined, easy-to-use package. Engines and ports are the interesting part of that list, because they are not emulators. An engine is a reimplementation of a game, and a port is a native version of one, so the platform covers software that predates the platforms people emulate as well as software that never existed on anything else.
The primary language in the repository listing is Shell, which is a clue about how the project is assembled, and the licence is GPL-3.0. The site is retrodeck.net, and the Flathub download and version badges at the top of the README are the two numbers that matter for anyone deciding whether to install it.
The repository is a build system
The top-level entries describe a project that is largely automation, and the file names are the documentation.
There is a retrodeck_builder.sh at the root, which is the build entry point, and net.retrodeck.retrodeck.yml, which is the Flathub manifest describing the Flatpak and what goes into it. The desktop entry files are net.retrodeck.retrodeck.desktop and a separate net.retrodeck.retrodeck.Configurator.desktop for the configuration tool, and net.retrodeck.retrodeck.metainfo.xml is the AppStream metadata that the software centres read to describe the application.
Then the working directories. The functions/ directory holds the shell functions the platform exposes, config/ holds the configuration, res/ holds the resources including the splash screen and the screenshots the README embeds, tools/ holds the tooling, automation_tools/ the automation, and developer_toolbox/ the development helpers.
There is also other_licenses.txt at the root, which is the file to read if you are wondering what the licensing situation is for the bundled components, since the GPL-3.0 grant on this repository covers this repository and the separate documentation page for donations and licenses points at the wider picture.
The overall shape is a shell-driven application that assembles third-party components into a Flatpak, which is why the primary language is Shell and why the interesting code is in scripts rather than in a compiled application.
The documentation lives in a Read the Docs wiki
The project publishes its documentation on Read the Docs, and the Getting Started section links three pages from there.
How to Start Using RetroDECK is the operational guide, Supported Devices and Systems is the compatibility reference, and What is RetroDECK, a detailed overview, is the conceptual one. The Read the Docs build status badge in the README is there because the wiki is built from the RetroDECK/Wiki repository rather than being written in the main one.
The contributing section points at a page called How to Contribute to RetroDECK, and the project states that contributions are welcome from everyone, which for a project with this many moving parts matters more than the phrasing suggests. Most contributions to a retro platform are not new code, they are configuration for a console or a system that has just been released, and a wiki-driven process is a better fit for that than a pull request against the build scripts.
The other documentation page worth knowing about is the donations and licenses one, which the community links table lists as Donations and Licenses with the description Support the project and view license information. In a project that bundles dozens of emulators, engines and tools, each with its own licence, having one page that says which is which is a genuinely useful piece of documentation rather than a formality.
A dozen repositories, one project
The Repository Links table is the clearest picture of how the project is organised, and it explains why the main repository looks the way it does.
RetroDECK/RetroDECK is the main source code repository. RetroDECK/components is described as the central repository for RetroDECK components, which is where the third-party pieces live rather than being vendored into the main tree. RetroDECK/Cooker is the Cooker publication repository, which is the mechanism for producing and publishing builds. The Flathub packaging repository, flathub/net.retrodeck.retrodeck, is separate again, and the Flathub page is the application page for net.retrodeck.retrodeck.
Two entries are the ones a user is most likely to meet. RetroDECK/ES-DE is RetroDECK's lightweight fork of ES-DE, the EmulationStation Desktop Edition frontend, and RetroDECK/RetroDECK-theme is the official RetroDECK theme for ES-DE. So the browsing interface is a fork of a well known frontend with a theme on top, which is a good architectural choice, because it means the heavy lifting of the frontend is inherited rather than rewritten, and the RetroDECK-specific work is the theme and the components.
The remaining entries are the website source, the wiki source, and the organisation itself. The Project Resources table adds the service links that tell you where the pieces are built, with the Flathub buildbot status page for net.retrodeck.retrodeck being the one to watch if you are waiting for a release to land.
The community channels, and the Flathub distribution
The Community Links table lists six places to find the project, and the choice of channels says something about who uses it.
There is the website at retrodeck.net, a Discord server for chat, a Matrix room, a Lemmy community at lemmy.zip/c/retrodeck, a subreddit at r/retrodeck, and the wiki, with the donations and licenses page under it.
The spread across Discord, Matrix, Lemmy and Reddit is unusual for a gaming project and reflects the audience. A retro gaming platform has a large, long-standing and technically literate user base that has strong views about where conversations should happen, and the presence of both Matrix and Lemmy, alongside the more conventional Discord and Reddit, is an attempt to cover the ground rather than to pick a side.
The distribution story is Flathub, and the badges show both the download count and the current version. Flathub is the distribution channel for the Flatpak, and the buildbot status link is there because Flathub builds the package rather than the project shipping a prebuilt binary, which means a build can fail or queue for reasons that have nothing to do with the code.
The primary language is Shell and the licence is GPL-3.0, with the licence file in the repository root.
Release state and what the versioning says
The release history is worth reading for its shape. The tags are 0.10.8b from 2026-05-22, 0.10.9b from 2026-05-30 and 0.10.10b from 2026-10-03, and the last push to the repository was on 2026-10-14.
The version scheme itself is the interesting part. It is a zero major, a two digit minor and a letter suffix, and the pattern suggests two things at once: the project is still pre-1.0, and it distinguishes the application from the underlying components, which are versioned on their own schedules and shipped inside the same Flatpak.
That distinction is the real engineering constraint of a project like this. The application version tells you about RetroDECK, the layout, the frontend fork, the theme and the tools, and the components underneath have their own versions with their own compatibility questions. A user who hits a bug usually has to work out which layer it is in, and the versioning is the first clue.
The cadence is also informative. Two releases eight days apart in May, then four months of nothing, then a release in October. That is the rhythm of a project that updates itself when a component moves or when a system needs supporting, rather than one that ships on a calendar.
For anyone evaluating it, the practical checks are the supported devices page, the Flathub version badge, and the licensing page, and all three are linked from the README.
Editorial conclusion
Adopt RetroDECK if you want one application that hides the differences between emulators, engines and ports on a Linux system, especially on a handheld where per-emulator setup is painful. Do not adopt it if you like configuring each emulator yourself, because the value is precisely in not doing that, and check the licensing pages before you assume the platform's GPL licence covers the games you run. Before you start, read the supported devices and systems page, and note that the Flatpak is the recommended delivery route, since the manual installation path is the part the project is least specific about in the README.
Frequently asked questions
What is RetroDECK and what platforms does it support?
It is an all-in-one retro gaming platform for Linux-based systems, covering handheld gaming PCs such as the Steam Deck, desktop Linux computers, HTPC setups and Linux-powered console devices, delivered as a self-contained Flatpak with no manual setup required.
What does the RetroDECK Flatpak bundle?
A wide range of components including emulators, game engines, ports and built-in tools, brought together in one streamlined package. The components live in the separate RetroDECK/components repository rather than being vendored into the main one.
Which frontend does RetroDECK use for browsing games?
RetroDECK/ES-DE, described as RetroDECK's lightweight fork of ES-DE, the EmulationStation Desktop Edition frontend, together with the official RetroDECK theme for ES-DE in the RetroDECK-theme repository. The browsing interface is therefore inherited from a known frontend rather than written from scratch.
How is RetroDECK built and published?
The main repository holds the build entry point retrodeck_builder.sh and the Flathub manifest net.retrodeck.retrodeck.yml, and the Cooker repository is the publication mechanism. Flathub builds the package for distribution, so the buildbot status page is where a pending or failed release shows up.
What licence does RetroDECK use?
The project is licensed under GPL-3.0, and the repository carries an other_licenses.txt for the bundled components. The documentation includes a donations and licenses page, which is the place to check the licensing situation of the individual emulators, engines and tools the platform includes.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/retrodeck-retrodeck)Was this useful?