It's inspired by other embedded emulation systems like AmberELEC, EmuELEC, CoreELEC, Lakka, and Batocera.
RetroDECK is powered by EmulationStation Desktop Edition, that uses RetroArch and other standalone emulators to allow you to import and play your favorite games in a tidy environment.
<p>BETA NOTICE: RetroDECK is still in Beta and the team is actively developing and adding more features.
The primary focus during the beta period is on SteamOS and the Steam Deck but we hope to expand to more devices and general Linux desktop in the future</p>
<p>NOTE: It can be run on Linux desktop right now but there will be some manual configurations needed for input, storage location and other tiny hickups.</p>
<li>PREPARE_COMPONENT: now the choice is passed lowercased so the script don't have to check for the possible casings, this should fix the issue where GZDoom couldn't be reset as it was expecting both GZDOOM or gzdoom.</li>
<li>ES-DE: gamelists are now moved to retrodeck/ES-DE/gamelist (previously was retrodeck/gamelist)</li>
<li>ES-DE: custom collections are now located in retrodeck/ES-DE/collections, this prevents to be destroyed by a reset</li>
<li>LOGGER: version notes are no more outputed in the terminal or in the logs</li>
<li>FRAMEWORK: now the PR builds are recongized same as cooker builds</li>
<li>FRAMEWORK: now there is a warning to check background windows, useful when installing RCPS3 firmware as some users were stuck on that screen without noticing the windows in the backgrounds</li>
<li>HELPER_FILES: updated links pointing to the new wiki</li>
<li>RYUJINX: added an helper file to sepcify how to install the firmware (not copying it in the folder)</li>
<li>CITRA_LIBRETRO: upscaled to 2x (was 4x but was too much), set system as "New 3DS"</li>
<li>RETROARCH: fixed an issue where if a zip contained more than the game files it failed to load the game</li>
<li>Added the needed subfolders in retrodeck/bios</li>
<li>DVELOPER TOOLS: fixed some issues that preventing RetroDECK to be built locally</li>
<li>DVELOPER TOOLS: added a script to inject changes in the current RetroDECK installation in order to test script and config changes without a full manifest rebuild</li>
<li>All Emulators, ES-DE and the included theme have been updated.</li>
</ul>
<p>Bugfixes and other changes:</p>
<ul>
<li>Added helper .txt files to the mod and texture pack folders.</li>
<li>The builtin changelog is now scrollable.</li>
<li>Gameboy Advanced and Game Gear integer scaling changes based on feedback.</li>
<li>Optimized and retooled the patching process for ES-DE.</li>
<li>Various fixes and optimizations to the RetroDECK build process.</li>
</ul>
<p>Known issues:</p>
<ul>
<li>PPSSPP now have Retroachievements, but it is right now not configurable in the configurator (as it works a bit different the other emulators), we hope to have a solution for it at a later date. You can still login / logout / enable hardcore mode normally from the PPSSPP interface.</li>
<li>Quitting the RetroArch GB core with the radial function makes the core swap the palette.</li>
<li>Steam Deck users update RetroDECK from Discover in Desktop Mode.</li>
<li>Don't forget to reapply the latest controller layout: Go into the Templates tab and reapply the new profile ending with 0.7.1b (there is no need to reinstall the entire layout from the Configurator).</li>
<li>The Configurator has a new home inside the ES-DE main menu and thus the tools menu has been removed.</li>
<li>The Configurator also has a .deskop icon for ease of access for both Steam Deck desktop mode and Linux Desktop users.</li>
<li>Added RetroDECK auto updates on launch, this can be disabled from the Configurator this works in Game Mode for the Steam Deck.</li>
</ul>
<p>New RetroDECK Configurator features:</p>
<ul>
<li>The Configurator has a new structure, with more menus and options.</li>
<li>The compression tool has been updated to allow for even more formats such as .zip in addition to the standard disc-based formats for certain systems.</li>
<li>The compression tool has been updated to have an even stronger verification before a compression job starts.</li>
<li>Added a global preset to swap A/B and X/Y in all supported emulators (aka N layout).</li>
<li>Added a global preset to enable/disable Widescreen in all supported emulators, globally or per core/emulator.</li>
<li>Added a global preset to enable/disable Ask-to-Exit prompts in all supported emulators.</li>
<li>Added a preset to enable/disable Pegasus and NyNy77 Borders for RetroArch, globally or per core.</li>
<li>Added an option to install the RetroDECK Steam Deck controller profile</li>
<li>Added an “RetroDECK: Auto Updates” function that enables or disables auto updates on RetroDECK launch.</li>
<li>Added a Semi-automated RPCS3 firmware installer.</li>
<li>The Move Folder tool has been greatly expanded</li>
<li>You can now move the entire folder or different folders as you choose. (WARNING! Please do not try to move the data to more exotic locations).</li>
<li>The basic BIOS checker has been removed.</li>
<li>The BIOS checker has been updated to look for over 120+ BIOS.</li>
<li>RetroAchivements Login: Now logs into all supported emulators/cores at once.</li>
<li>RetroAchivements Logout: Now logs out of all supported emulators/cores at once.</li>
<li>Added RetroAchivements: Hardcore Mode, that lets you toggle hardcore mode for supported emulators/cores with a logged in RetroAchivements account.</li>
</ul>
<p>Updates:</p>
<ul>
<li>Updated ES-DE to the latest version.</li>
<li>Updated RetroArch and the cores to latest versions.</li>
<li>Updated all standalone emulators and to their latest versions.</li>
</ul>
<p>Bugfixes and other changes:</p>
<ul>
<li>Dolphin/Primehack Wii Mote controls have been redesigned for the Steam Deck to allow both for touch input or right radial as pointer and R2 emulates the Wii Remote Shake needed for certain games.</li>
<li>Updated the RPCS3 to run better and with a better configuration. Read more on the wiki on how to install DLC and patches.</li>
<li>RPCS3 and Duckstations save files where in the wrong directory. They have been moved to fit the overall inside the RetroDECK Framework. If you have any issues, contact us on discord or add them on github.</li>
<li>We made a unique PICO-8 wrapper that makes it runs better in a flatpak environment.</li>
<li>Fixed an avcodec issue that caused some roms for certain emulators to break.</li>
<li>Changed the ES-DE progress bar color</li>
<li>Changed how Yuzu builds are handled and should allow for better Yuzu updates.</li>
<li>Added a low space warning on launch.</li>
<li>Various backend improvements and fixes.</li>
<li>Added the foss Capsimg BIOS for the Amiga RetroArch core.</li>
<li>Implemented ES-DE's experimental theme downloader. For fresh new installs we only now ship one theme: ArtBookNext (as all other themes can be downloaded from the interface).</li>
<li>Persistent configurations when updating RetroDECK, this means your custom configurations should be saved across future versions. (We also laid groundwork for dynamic persistent configurations, more on that in a future update. This is the reason why it has taken quite long to fix this).</li>
<li>Added Primehack controller profiles for both Xbox and Nintendo button layouts</li>
<li>Added a warning when running RetroDECK in desktop mode, as not all controls will work properly.</li>
<li>Added CLI for CHD compression (chdman) of single games</li>
<li>Reworked CLI commands and added safety y/n confirmations for the reset arguments.</li>
<li>New structure for more easy access to various tools</li>
<li>The power user prompt only needs to be answered once</li>
<li>Added tool to do CHD compression (chdman) of single games (multi-game batch compression coming in a future update)</li>
<li>Added tool to check for common BIOS files</li>
<li>Added tool to check for common multi-file game structure issues</li>
<li>Fixed Primehack initial configuration as it was broken (will automatically reset the emulator just this once)</li>
<li>Fixed Duckstation initial configuration as it was broken (will require user-performed reset just this once)</li>
<li>Fixed Pico-8 initial configuration as it was broken.</li>
<li>Fixed Pico-8 dual bios folders. The program files pico8_dyn,pico8.dat and pico8 have to be manually moved to the correct location~/retrodeck/bios/pico-8/. The old ~/retrodeck/bios/pico8/ is renamed ~/retrodeck/bios/pico8_olddata/ to avoid confusion on where to put files. After the files have moved the pico8_olddata folder can be deleted.</li>
<li>Fixed a bug that made the Dolphin RetroArch core not working properly (the standalone version of Dolphin always worked and is the default)</li>
<li>Various backend fixes</li>
<li>Updated all Emulators, RetroArch and libreretro cores. (PLEASE NOTE! ES-DE was not updated to version 2.0, this will be done in the next version of RetroDECK as we need more time to work on the new theme format).</li>
<li>Merged all tools into single Configurator</li>
<li>The Configurator can now move the whole retrodeck folder eslewhere (not just the ROMs one)</li>
<li>The Configurator can now reset a single emulator, all RetroArch or all Standaloned configs (so there is no need to di it via CLI anymore</li>
<li>The first install is now asking where to place the whole retrodeck folder instead of requesting the location of the ROMs folder only.</li>
<li>Fix: PCSX2-QT is now looking for saves in the correct directory ~/retrodeck/saves/ps2/memcards and not in ~/retrodeck/saves/ps2/pcsx2/memcards</li>
<li>Introduced a fix if/when SteamOS will change the SDCard default location.</li>
<li>Updated RetroArch to v1.14.0</li>
<li>Updated PPSSPP (SA) to v1.13.2</li>
<li>Updated Citra (SA) to nightly-1802</li>
<li>Updated PCSX2-QT to nightly v1.7.3501</li>
<li>Updated Dolphin (SA) to latest on 31/10/2022</li>
<li>Updated Xemu to v0.7.71</li>
<li>Updated RPCS3 to latest on 31/10/2022</li>
<li>Updated Duckstation to latest on 31/10/2022</li>
<li>Migrated Yuzu from appimage mainline-1271 and reconfigured</li>
<li>VERY IMPORTANT: We are moving your saves! This can take time on the first boot. If you miss some saves they are not gone. Please read more in the wiki.</li>
<li>Fixed Citra save migration folder</li>
<li>Fixed a bug where the videos were not played correctly in some cases</li>
<li>VERY IMPORTANT: We are moving your saves! This can take time on the first boot. If you miss some saves they are not gone. Please read more in the wiki.</li>
<li>Fixed a bug where Yuzu was not compiled correctly</li>
<li>Updated Yuzu</li>
<li>New Logo and Theme</li>
<li>Two new themes added: Alekfull-NX-Light and Retrofix-Revisited</li>
<li>Updated ES-DE to 1.2.6</li>
<li>Implemented the first steps towards a universal Emulator Configuration Tool in the TOOLS menu</li>
<li>Ability to log into your RetroAchievements account under the TOOLS menu for RetroArch only (supported standalones coming soon)</li>
<li>Updated RetroArch and all the standalone emulators</li>
<li>Added several free assets/fonts for RetroArch, PPSSPP, XEMU and BlueMSX</li>
<li>Added a new DEFAULT Emulator for the PS2: PCSX2-QT (the former PCSX2 default emulator is now called "PCSX2 (Legacy)")</li>
<li>Changed the DEFAULT Emulator for the PSX: Swanstation (Libretro) Core</li>
<li>Added a new Standalone Emulator for the PSX: Duckstation</li>
<li>Enhanced XEMU (XBOX) experience</li>
<li>And more, for the complete patch notes please check the wiki...</li>
<li>VERY IMPORTANT: We are moving your saves! This can take time on the first boot. If you miss some saves they are not gone. Please read more in the wiki.</li>
<li>New Logo and Theme</li>
<li>Two new themes added: Alekfull-NX-Light and Retrofix-Revisited</li>
<li>Updated ES-DE to 1.2.6</li>
<li>Implemented the first steps towards a universal Emulator Configuration Tool in the TOOLS menu</li>
<li>Ability to log into your RetroAchievements account under the TOOLS menu for RetroArch only (supported standalones coming soon)</li>
<li>Updated RetroArch and all the standalone emulators</li>
<li>Added several free assets/fonts for RetroArch, PPSSPP, XEMU and BlueMSX</li>
<li>Added a new DEFAULT Emulator for the PS2: PCSX2-QT (the former PCSX2 default emulator is now called "PCSX2 (Legacy)")</li>
<li>Changed the DEFAULT Emulator for the PSX: Swanstation (Libretro) Core</li>
<li>Added a new Standalone Emulator for the PSX: Duckstation</li>
<li>Enhanced XEMU (XBOX) experience</li>
<li>And more, for the complete patch notes please check the wiki...</li>
<li>Fixed a bug where new symlinks were not created correctly and users couldn't scrape their games</li>
</ul>
<p>Known Issues:</p>
<ul>
<li>PCSX2: due to its limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button. In order to quit press: STEAM -> PCSX2 -> (X) CLOSE WINDOW, be aware that the state is not automatically saved</li>
<li>Due to a Steam limitation, external controllers and keyboard seems not to be working, expecially in the desktop mode</li>
At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs.
<li>Yuzu: Disabled shader caching as it was broken</li>
<li>Yuzu: Switched from vulkan to opengl as vulkan is experimental and it's not working correctly for the games majority, you can set vulkan by opening tuzu from Tools -> Start Yuzu</li>
<li>Yuzu: Edited Hotkeys (see wiki)</li>
<li>Yuzu: Increased performances</li>
<li>Yuzu: Fixed graphics and scaling</li>
<li>Yuzu: Fixed right control stick</li>
<li>PCSX2: Symlinked bios/pcsx folder in /bios to solve issue#63</li>
<li>Backend: Uploaded a test Steam Controller config, you can download it from community controller configs on Steam</li>
<li>Backend: Unhidden .themes and .downloaded_media folders</li>
<li>Backend: Moved the lockfile in the internal folders</li>
<li>Backend: General code cleanup.</li>
</ul>
<p>Known Issues:</p>
<ul>
<li>PCSX2: due to its limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button. In order to quit press: STEAM -> PCSX2 -> (X) CLOSE WINDOW, be aware that the state is not automatically saved</li>
<li>Due to a Steam limitation, external controllers and keyboard seems not to be working, expecially in the desktop mode</li>
At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs.
<li>PCSX2: due to its limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button. In order to quit press: STEAM -> PCSX2 -> (X) CLOSE WINDOW, be aware that the state is not automatically saved</li>
<li>Due to a Steam limitation, external controllers and keyboard seems not to be working, expecially in the desktop mode</li>
At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs.
<li>Updated all the emulators at the latest available version.</li>
<li>DOLPHIN (SA): Fixed a bug where Dolphin couldn't be properly configured. If it's still misconfigured please run `flatpak run net.retrodeck.retrodeck --reset-sa` in order to reset all the standalone emulators, including Dolphin.</li>
<li>CITRA (SA): Reconfigured controls and hotkeys.</li>
<li>PCSX2: due to its limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button. In order to quit press: STEAM -> PCSX2 -> (X) CLOSE WINDOW, be aware that the state is not automatically saved</li>
<li>Due to a Steam limitation, external controllers and keyboard seems not to be working, expecially in the desktop mode</li>
At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs.
<li>PCSX2: due to its limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button. In order to quit press: STEAM -> PCSX2 -> (X) CLOSE WINDOW, be aware that the state is not automatically saved</li>
<li>External controllers and keyboard seems not to be working, expecially in the desktop mode</li>
<li>Yuzu makes RetroDECK freeze in some situations, like if the rom is a bad dump</li>
At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs.
<li>Dolphin-libretro is now the default emulator as Dolphin (Standalone) seems to be broken</li>
</ul>
<p>New Standalone emulators:</p>
<ul>
<li>RPCS3</li>
<li>PPSSPP</li>
<li>CITRA</li>
<li>MelonDS</li>
<li>PICO-8</li>
</ul>
<p>Tools:</p>
<ul>
<li>Added tools to start each standalone emulator</li>
<li>Added a tool to start PICO-8's SPLORE</li>
<li>Fixed the Move ROMs tool (probably)</li>
</ul>
<p>Frontend:</p>
<ul>
<li>Updated ES-DE to 1.2.4 and redirected to the new repo</li>
<li>Updated Art-Book theme to fix the mising images for n3ds and pico-8</li>
<li>Now The quit button is showing "Quit RetroDECK"</li>
<li>Added RetroDECK version in the ES-DE main menu</li>
</ul>
<p>Backend:</p>
<ul>
<li>Wrapper complete rewrite, now it's faster, tidier, solid</li>
<li>Wrapper: user data is now backup and moved when managing the internal folders</li>
<li>Introduced versioning: now the version is visible by CLI or in the options menu</li>
<li>Rewrote cooker.yml workflow as the old one was no more useful for the scope</li>
<li>Removed the bios/bios folder that in some situations is mistakenly created</li>
<li>Logs are now into ~/retrodeck/.logs however they must be improved</li>
<li>Moved the scraped data folder into ~/retrodeck/.downloaded_data for backup purposes and to avoid data loss when resetting RetroDECK</li>
<li>Moved themes folder in ~/retrodeck/.downloaded_data, same as above</li>
<li>Updated es_find_rules.xml</li>
<li>Updated es_systems.xml: some default emulators are changed, if you cannot load the game is maybe because of that, you can still choose the former emulator from the list</li>
<li>Added post-install scripts, now deleting ~/retrodeck/.log or ~/.var/app/net.retrodeck.retrodeck is no more needed (hopefully)</li>
<li>Added CLI arguments, run flatpak run net.retrodeck.retrodeck -h for more info</li>
<li>Added a CLI option to reset RetroDECK --reset</li>
<li>Replaced Kdialog with Zenity</li>
<li>Added manifest: this should fix the Discover bug</li>
</ul>
<p>Known Issues:</p>
<ul>
<li>Controller is not configured for most of the standalone emulators, I will configure them when I will get my Steam Deck (ETA mid June)</li>
<li>External controllers seems not to be working</li>
<li>Yuzu makes RetroDECK freeze in some situations, like if the rom is a bad dump</li>
</ul>
<p>IMPORTANT NOTE:
At the moment the emulator configs are reset during every update, this was made because every version may bring new configurations, please back them up if you did some manual configs.</p>