SteamOS already gives you a Linux desktop, RetroArch is available as a Flatpak, and EmuDeck can automate most of the boring setup. As of mid-2026, the stable, supported path to running emulated PS1, GameCube, GBA, and N64 titles on Steam Deck does not require reinstalling Windows, flashing third-party custom images, or hunting down outdated forum scripts from earlier Deck generations.
The recommended workflow runs through SteamOS Desktop Mode, a Flathub-distributed Flatpak RetroArch install, and a non-Steam shortcut back into Gaming Mode, per official guidance from the RetroArch project and EmuDeck’s public documentation RetroArch EmuDeck EmuDeck Manual. For users who already have ROM and BIOS files organized, the full setup can be completed in a single evening.
What you will need
The requirements for this setup are minimal, and all components are either built into SteamOS or available for free:
| Requirement | Details | Where to Get |
|————-|———|————–|
| Steam Deck | SteamOS 3.8 stable, released in June 2026, is the recommended OS version | Steam / Valve, via automatic SteamOS update |
| MicroSD card | 256GB+ recommended for ROM libraries of 100+ titles | Any major retailer |
| ROM files | Dumped from carts or discs you own, for personal use only | Personal backup of owned media |
| BIOS files | Optional, required only for specific cores per RetroArch’s core documentation | Personal backup of owned media |
| Desktop Mode access | Enabled by default in SteamOS settings | Built into SteamOS, no extra software required |
SteamOS 3.8, released in June 2026, includes initial Steam Machine support, desktop mode upgrades, and updated AMD graphics drivers that improve emulation consistency on the Deck’s APU, per GamingOnLinux’s changelog overview GamingOnLinux. All other requirements are either included with the Steam Deck or available at no cost.
Step 1: Boot into SteamOS Desktop Mode
From Gaming Mode, hold the Power button and select Switch to Desktop. This loads a full KDE Plasma 5.27 Linux desktop with access to the Discover app store, Dolphin file manager, and system terminal. Desktop Mode is the intended environment for RetroArch setup on SteamOS right now, not Gaming Mode. It avoids controller input wrapper issues that can occur when installing or configuring software directly in Gaming Mode. It also lets users inspect folder permissions, Flatpak sandbox settings, and core install locations directly, per EmuDeck’s official setup guide EmuDeck Manual. To return to Gaming Mode at any time, select the Return to Gaming Mode icon on the desktop, no restart required.
Step 2: Install RetroArch on SteamOS
Open Discover from the desktop environment and search for RetroArch. Install the Flatpak build rather than an AppImage or loose binary if you want SteamOS Flatpak integration, sandboxed storage access, and easier future updates. The Flatpak build is distributed via Flathub, and is signed for full SteamOS 3.8 compatibility, per RetroArch’s official download page RetroArch. If you prefer the terminal, install the Flathub RetroArch release directly with the command flatpak install flathub org.libretro.RetroArch, which pulls the latest stable RetroArch release as of July 2026. The Flatpak route is the one EmuDeck and mid-2026 Steam Deck guides use, because it plays better with SteamOS permissions and Steam library integration EmuDeck Manual. The AppImage build is not recommended for SteamOS, as it lacks native Flatpak integration and requires manual permission configuration to access storage.
Step 3: Download emulation cores through RetroArch
Launch RetroArch and open Online Updater from the main menu. Use it to download RetroArch cores for each system you want to emulate. Typical first picks are cores for NES, SNES, Game Boy Advance, PS1, PS2, GameCube, and N64, all available via the updater. Each core is a self-contained emulator wrapped in RetroArch’s frontend, so their settings and controller profiles stay consistent across systems. That consistency matters on a handheld where you are reusing the same physical inputs for many different console generations RetroArch EmuDeck Manual. Cores are updated independently of the main RetroArch frontend, so you can update individual emulators without reinstalling the full RetroArch package.
Step 4: Organize ROMs and optional BIOS files
Create a ROMs folder on your MicroSD card or home directory, then make subfolders by system name using the standard LibRetro system naming convention: for example, psx for PS1 titles, ps2 for PS2, gamecube for GameCube, gba for Game Boy Advance, nes for NES, snes for SNES, and n64 for Nintendo 64. Copy your dumped ROMs into the matching folder. RetroArch can scan these folders and populate your library without manual game-by-game imports, per EmuDeck’s setup guide EmuDeck Manual. Some cores require specific system BIOS files for full compatibility or to boot commercial titles, per RetroArch’s core documentation RetroArch. Those files stay outside the ROM folder and are loaded from a separate BIOS path configured inside RetroArch settings EmuDeck Manual.
A common mistake is dropping every ROM into one top-level folder and expecting RetroArch to identify systems cleanly. Separate folders reduce duplicate entries and make playlist maintenance easier, per EmuDeck’s troubleshooting documentation EmuDeck Manual.
Step 5: Configure Steam Deck controls in RetroArch
RetroArch maps controller inputs automatically in many cases, but verify all mappings before launching a title. Open Settings, then Input, then Port 1 Controls, and confirm D-pad, face buttons, shoulder buttons, and analog sticks all register correctly. On Steam Deck, the expected device label is usually SDL/Steam Input or SDL/0/Steam Deck Controller, depending on the OS layer. If button presses register in Gaming Mode but not RetroArch, the conflict is usually Steam Input overriding the app. Disabling Steam Input for RetroArch is the cleanest fix for this issue, per EmuDeck’s Steam ROM Manager (SRM) setup guide EmuDeck Manual. After disabling Steam Input, RetroArch will use its own native input mapper, which supports custom button remaps, turbo functions, and per-core control profiles that persist across Gaming Mode and Desktop Mode sessions.
Step 6: Add RetroArch to Steam for Gaming Mode
Once the library and inputs work in Desktop Mode, add RetroArch to Steam as a Non-Steam Game. That puts RetroArch inside your Gaming Mode library, with access to the controller overlay, performance tools, and Steam friends integration. From there you can launch emulated games directly from Gaming Mode without returning to Desktop unless you want to change ROMs or BIOS settings EmuDeck Manual. To add RetroArch as a non-Steam game, select Add a Game, then Add a Non-Steam Game from the Steam client, then navigate to the RetroArch application executable to add it to your library. If you use EmuDeck instead of a manual RetroArch install, EmuDeck automates this non-Steam shortcut creation, along with adding custom artwork, save state syncing, and playtime tracking for all emulated titles EmuDeck.
Step 7: Tune performance and scaling per core
PS1 and GBA titles usually run clean at default RetroArch settings. GameCube, PS2, and N64 titles benefit from per-core adjustments to internal resolution, frame skipping, or rendering options. Inside RetroArch, use the core’s own options menu rather than global RetroArch settings, because each emulated console has different hardware bottlenecks. If a title stutters, adjust core settings first before changing Deck-level TDP or frame limits. The SteamOS 3.8 update path also keeps driver behavior more consistent on AMD hardware during emulation compared with earlier SteamOS releases, reducing frame pacing issues and stutter for 3D emulated titles GamingOnLinux. If a title still stutters after adjusting core settings, users can adjust the Deck’s performance settings via the Gaming Mode performance menu, including TDP and frame rate limits, to reduce heat and improve stability EmuDeck Manual.
Step 8: Switch between RetroArch and Steam easily
Because RetroArch is launched as a non-Steam app, switching back to Steam games works exactly like switching between any two Steam titles. Press the Steam button, select the native Steam game from your library, and the Deck will switch contexts in 2-3 seconds with no need to return to Desktop Mode. Controller layouts and Gaming Mode overlays remain consistent across RetroArch and native Steam titles, so there is no need to remap controls when switching between emulated and native games. If you use EmuDeck instead of bare RetroArch, EmuDeck adds additional features on top of the same core concept: pre-tuned controller presets for over 100 emulated consoles, automatic artwork scraping, and cloud save syncing for RetroArch save states, per EmuDeck’s homepage EmuDeck.
Best use cases
- Great for: Libraries of PS1, GameCube, GBA, N64, SNES, and Sega Genesis titles with controller-friendly control schemes, as RetroArch’s unified input mapper supports custom button remaps, turbo functions, and save state hotkeys that work across all supported systems.
- Not ideal for: Modern AAA games or emulated systems that require online authentication (such as Nintendo DS or 3DS titles that use Nintendo Network connectivity), as RetroArch does not support online play for most cores, and performance for 8th generation and later console emulation is not yet stable on the Steam Deck’s hardware as of July 2026.
- Alternatives: EmuDeck for users who want a fully automated setup with artwork scraping and save syncing; standalone EmulationStation-DE for users who want a dedicated cabinet-style frontend with custom themes and bezel support, separate from RetroArch’s default UI.
Troubleshooting
| Issue | Cause | Fix |
|---|---|---|
| Controller inputs not detected in RetroArch | Steam Input conflict or wrong device mapping | Disable Steam Input for RetroArch via the game’s Steam Properties menu, then remap controls in RetroArch’s Input > Port 1 Controls menu, per EmuDeck’s SRM setup guide EmuDeck Manual |
| Game runs slowly | Incorrect core settings for the emulated system | Lower the core’s internal resolution to 1x native, disable enhancement options such as widescreen hacks or anti-aliasing, and confirm you are using the correct core for the target system EmuDeck Manual |
| Artifacts or graphical glitches | Incompatible video driver or renderer settings | Toggle threaded software rendering on or off, and test different video renderer backends (such as Vulkan or OpenGL) in the core’s video settings menu, per RetroArch’s official documentation RetroArch |
| Games missing after ROM scan | Wrong scan directory or outdated playlist | Use RetroArch’s Manual Content Scan feature, and input the exact path to your system-specific ROM folder (for example, /run/media/mmcblk0p1/ROMs/ps2 for PS2 titles on a MicroSD card) to populate the playlist correctly EmuDeck Manual |
| BIOS prompt at launch | Missing or incorrectly named BIOS file | Confirm the BIOS file is placed in RetroArch’s dedicated BIOS directory, and that the file name matches the format required by the specific core, per RetroArch’s core documentation RetroArch |
Frequently asked questions
- 1.Is EmuDeck required to run RetroArch on Steam Deck?No.
EmuDeck automates RetroArch setup, Steam shortcut creation, controller configuration, and artwork scraping, but manual RetroArch installation works if you want leaner, more granular control over your emulation setup, per EmuDeck’s official documentation EmuDeck Manual.
- 2.Does SteamOS 3.8 change the RetroArch setup process?No.
Desktop Mode remains the intended install environment, and Gaming Mode access still uses non-Steam shortcuts, per EmuDeck’s setup guide EmuDeck Manual.
SteamOS 3.8 does include updated AMD graphics drivers and desktop mode upgrades that improve emulation consistency and reduce stutter for 3D emulated titles, with no breaking changes for existing RetroArch installs GamingOnLinux.
- 3.Can I use RetroArch to emulate PlayStation 2 and GameCube titles on Steam Deck?Yes.
RetroArch includes stable, optimized cores for both PS2 and GameCube that run most titles at full speed on the Steam Deck’s APU, per RetroArch’s official core list RetroArch.
EmuDeck’s documentation notes that most 6th generation console titles run without adjustment on SteamOS 3.8, with only the most demanding titles requiring core setting tweaks EmuDeck Manual.
- 4.Will future SteamOS updates break my RetroArch setup?No.
SteamOS updates do not modify user-installed Flatpak applications or their config files, so RetroArch, your core installs, ROM libraries, and BIOS files will remain intact after a SteamOS update, per EmuDeck’s troubleshooting documentation EmuDeck Manual.
The SteamOS 3.8 update, released in June 2026, improved emulation performance for RetroArch cores with no reported breaking changes for existing installs GamingOnLinux.
- 5.Can I sync RetroArch save states across multiple devices?Yes, if you use EmuDeck to set up RetroArch, EmuDeck’s cloud save syncing feature automatically backs up and syncs RetroArch save states across all linked devices, per EmuDeck’s feature list EmuDeck.
For manual RetroArch installs, save states are stored locally in the RetroArch config folder, and can be synced manually via a third-party cloud storage service.
Bottom line
The fastest supported, fully manual RetroArch setup path in 2026 is: boot into SteamOS Desktop Mode, install RetroArch via Flathub using the Discover app store, download required emulation cores via RetroArch’s Online Updater, organize ROMs into system-specific subfolders on a 256GB+ MicroSD card, configure controller inputs by disabling Steam Input for RetroArch, and add the application as a non-Steam game for Gaming Mode access. If you prefer a guided, automated setup with artwork scraping, save syncing, and pre-tuned controller presets, EmuDeck handles all of these steps in a single guided installer with the same end result, no manual configuration required.
Sources:
1. RetroArch official site and docs: https://www.retroarch.com/
2. EmuDeck install guide: https://manual.emudeck.com/
3. Steam ROM Manager via EmuDeck: https://manual.emudeck.com/install-guide/srm/
4. SteamOS 3.8 changelog overview: https://www.gamingonlinux.com/2026/06/steamos-3-8-is-out-with-initial-steam-machine-support-desktop-mode-upgrades-new-graphics-drivers/
5. EmuDeck homepage: https://www.emudeck.com/
