Last updated: 05MAR2024 (see Changelog for details)
The Valve Steam Deck has rapidly become a favorite among handheld gaming enthusiasts. Its impressive price-to-performance ratio, vast game library through Steam integration, and increasing availability make it an exceptional device. Beyond PC gaming, the Steam Deck shines as an emulation powerhouse. This guide will walk you through the process of playing your cherished retro (and modern) game systems using emulation software on your Steam Deck.
We will primarily focus on using EmuDeck, a streamlined application designed to simplify the emulation setup. However, we’ll also explore alternative solutions such as RetroDeck and Batocera. For those seeking a comprehensive guide to general Steam Deck setup and usage, the Steam Deck Guide by GitHub user mikeroyal is a highly recommended resource.
**Table of Contents**
[EmuDeck vs Batocera vs RetroDeck vs EmulationStation](#Vs)
[Recommended tools](#Tools)
[Getting started with EmuDeck](#EmuDeck)
[Add games and BIOS files](#AddGames)
[Steam ROM Manager](#SRM)
[EmulationStation Desktop Edition](#EmulationStation)
[Updating EmuDeck and emulators](#Update)
[CryoUtilities](#CryoUtilities)
[Additional EmuDeck tools](#Tools2)
[Hotkeys](#Hotkeys)
**System-specific recommendations:**
[RetroArch](#RetroArch)
[Nintendo 3DS](#3DS)
[Nintendo GameCube](#GameCube)
[Nintendo Wii](#Wii)
[PrimeHack](#PrimeHack)
[Nintendo Wii U](#WiiU)
[Nintendo Switch](#Switch)
[Sony PS Vita](#PSVita)
[Sony PlayStation](#PS1)
[Sony PlayStation 2](#PS2)
[Sony PlayStation 3](#PS3)
[Microsoft Xbox](#Xbox)
[Microsoft Xbox 360](#Xbox360)
**Other emulation options:**
[RetroDeck](#RetroDeck)
[Batocera](#Batocera)
[Changelog](#Changelog)
EmuDeck vs Batocera vs RetroDeck vs EmulationStation
When it comes to emulation on the Steam Deck, you have several excellent options. Let’s briefly compare some of the most popular choices:
EmuDeck: EmuDeck is a powerful suite of scripts that automates and simplifies the entire emulation setup process. It downloads emulators from official sources, configures settings and hotkeys, and seamlessly integrates with EmulationStation and Steam ROM Manager. Think of it as a comprehensive toolkit rather than a standalone application. EmuDeck is designed for ease of use and doesn’t require root access, installing files in user-accessible locations, similar to manual emulator installations. For those seeking a more isolated emulation environment, Batocera or RetroDeck might be preferable.
Batocera: Batocera is a dedicated Linux-based operating system built specifically for emulation. It’s a complete, bootable system that can be run from various media like microSD cards, USB drives, or external HDDs. This allows you to maintain a separate environment for emulation, keeping your SteamOS setup clean for PC gaming. To switch to emulation, simply boot your Steam Deck from the Batocera media. This is ideal for users who want a clear separation between PC gaming and retro emulation.
RetroDeck: RetroDeck is another all-in-one emulation solution that utilizes EmulationStation as its primary interface. It offers a self-contained emulation experience accessible directly within SteamOS, functioning like a single application with pre-configured emulators. RetroDeck simplifies emulation setup and is easily installed as a FlatPak from the Discover app in Steam Deck’s Desktop Mode. While still under active development, RetroDeck provides a user-friendly and integrated emulation experience within SteamOS.
EmulationStation Desktop Edition (ES-DE): EmulationStation is a frontend that serves as a unified interface for browsing and launching your retro games. On the Steam Deck, you’ll find EmulationStation-DE (Desktop Edition, or ES-DE). It can be installed independently via an AppImage or comes bundled with EmuDeck and RetroDeck. ES-DE automatically updates its game lists, reflecting any changes in your ROM folders upon each launch.
Ultimately, none of these tools are mandatory for emulation on the Steam Deck. You can manually install individual emulators from the Discover Store and configure them independently, similar to a Windows PC setup. You could also install EmulationStation Desktop Edition and configure it yourself. EmuDeck, Batocera, and RetroDeck are designed to streamline and simplify this process, making emulation more accessible and user-friendly.
Recommended tools
To enhance your Steam Deck emulation experience, consider these helpful tools:
Keyboard and mouse: Navigating Desktop Mode for configuration is often easier with a keyboard and mouse than using the Steam Deck’s trackpads and on-screen keyboard. Furthermore, Steam ROM Manager requires Steam to be closed, which disables some trackpad controls.
Bluetooth keyboard and mouse pairings are convenient and persist across Game Mode and Desktop Mode. For a portable option, the Rii keyboard with a USB rechargeable battery and 2.4GHz USB dongle is a practical choice.
Steam Deck dock or USB-C hub: Connecting your Steam Deck to a monitor or TV via a dock or hub simplifies setup by providing a desktop-like environment. Options include the Anker USB-C hub, the official Valve Steam Deck Docking Station, or third-party docks like the iVoler dock. For a comparison of dock solutions, this video provides valuable insights.
MicroSD card: A microSD card is essential for storing your retro games. MicroSD cards are affordable and allow for easy swapping. The ideal size depends on your usage. A larger card is suitable if you intend to store both Steam games and retro games on a single card. For a dedicated retro gaming card, a smaller size may suffice, keeping in mind that CD-based and newer games require more storage space than older cartridge-based games.
Importantly, microSD card read/write speeds generally do not impact game loading or emulation speed. Storing games on the internal storage will likely not yield performance improvements for emulation. However, for storing PC/Steam games, a high-speed Class 2 (A2) card is recommended over a Class 1 (A1) card to improve PC game load times. Reputable brands like SanDisk or Samsung are recommended for microSD card reliability. A 1TB SanDisk Extreme card is a versatile option for storing both PC and emulated games.
256GB microSD: [SanDisk Ultra](https://amzn.to/3MkPO1R) [SanDisk Extreme](https://amzn.to/3SKjTKu) [Samsung EVO Select](https://amzn.to/3MbJlpO)
512GB microSD: [SanDisk Ultra](https://amzn.to/3SYUCg5) [SanDisk Extreme](https://amzn.to/3rDfyNu) [Samsung EVO Select](https://amzn.to/3RJGE02)
1TB microSD: [SanDisk Ultra](https://amzn.to/3MbliHM) [SanDisk Extreme](https://amzn.to/3McD0KK) [SanDisk Extreme Pro](https://amzn.to/3ChWERd)
Formatting your microSD card is necessary before use. Insert the card into your Steam Deck in Game Mode, then navigate to STEAM > Settings > System and select “Format SD Card.”
While the card is readable in both SteamOS Game Mode and Desktop Mode, it uses a Linux file system incompatible with Windows or Mac without specialized software. For file transfers between your Steam Deck and PC, using an external hard drive or flash drive is recommended. See the Add games and BIOS files section for more details.
Flash drive or external USB drive: For users with Windows PCs or Macs, a flash drive or external USB hard drive is the easiest way to transfer game files to your Steam Deck, regardless of whether you store them internally or on a microSD card. The Steam Deck can read Windows file systems like exFAT and NTFS in Desktop Mode, while Windows and Macs cannot natively read Linux file systems. Transfer your game files to an external drive, connect it to your Steam Deck (via dock or hub), and drag and drop files to the appropriate folders.
If your microSD card is not recognized in SteamOS Game Mode after formatting or using EmuDeck, you may need to re-link it to your Steam library. In Desktop Mode, open Steam, go to Settings > Downloads > Steam Library Folders > “+” icon, and navigate to your SD card location (/run/media/mmcblk0p1) and select it. Your SD card should now be recognized for Steam games.
Getting started with EmuDeck
EmuDeck installation on the Steam Deck is straightforward. The process varies slightly depending on whether you are storing games on the Steam Deck’s internal storage or a microSD card. If using internal storage, no extra steps are needed. For microSD cards, format the card on your Steam Deck first (see the Tools section if you haven’t already).
EmuDeck provides a comprehensive FAQ page which is a valuable resource for troubleshooting issues not covered in this guide.
To install EmuDeck, switch to Desktop Mode on your Steam Deck (STEAM > Power > Switch to Desktop). Using a web browser like Firefox, go to the EmuDeck website and download the app directly to your Steam Deck, saving it to your Desktop. Open the EmuDeck app from your desktop to begin the installation.
EmuDeck will initialize, download necessary files, and present you with the choice between EASY MODE and CUSTOM MODE.
Easy Mode: This option automatically downloads and pre-configures all supported systems. It’s ideal for users who want a quick and hassle-free setup and are less concerned with customization. Even with Easy Mode, you can later use Custom Mode or Quick Settings to further adjust configurations.
Custom Mode: This mode allows you to select specific systems to install and customize configurations such as aspect ratio, EmulationStation theme, and shaders. Users familiar with emulation will appreciate the control offered by Custom Mode.
If EmuDeck doesn’t recognize your SD card initially, check the card’s name. Spaces in the card name (e.g., “Samsung 512”) can cause recognition issues. Rename it to remove spaces (e.g., “Samsung_512”).
After choosing your EmuDeck mode, the app will guide you through the remaining steps. The linked video provides a visual walkthrough of this process. You may encounter pop-ups about missing Yuzu (Switch) keys and prompts for game file locations. These can be addressed later, as we will cover these aspects in the following sections.
Add games and BIOS files
With EmuDeck installed, the next step is to add your game ROMs and BIOS files.
ROM files are copyrighted, and we cannot provide them here. You must dump your own game files (the process varies by emulator) or obtain them legally. Similarly, BIOS (system) files are copyrighted and are not distributed with emulators.
The easiest method to add game files from a Windows PC or Mac to your Steam Deck (whether storing them internally or on microSD) is using a flash drive or external USB hard drive. This is because the Steam Deck, in Desktop Mode, can read Windows file systems (exFAT and NTFS), but Windows and Macs cannot read Linux file systems natively. Transfer your game files to an external drive, then connect it to your Steam Deck (via a dock or USB-C hub) to drag and drop files into the correct folders. A USB/Bluetooth mouse and keyboard will significantly simplify this process.
Note: Linux file navigation may be less intuitive for some users. Older SteamOS versions may open files with a single click. To change this, open the Settings menu in SteamOS Desktop Mode (bottom left), go to Workspace Behavior > General Behavior > “Clicking files or folders” and change the option to “Selects them”.
Here are the folder locations for your files:
ROMS: Primary/Emulation/roms/ (microSD card)
BIOS: Primary/Emulation/bios/ (microSD card)
Alternatively, navigate to:
/run/media/SDCARDNAME/Emulation (microSD card)
/home/deck/Emulation/roms/ (internal storage)
/home/deck/Emulation/bios/ (internal storage)
For specific folders, file types, and BIOS requirements for each emulator, consult the Emulator Cheatsheet or the individual emulator pages on the EmuDeck wiki. Some emulators require BIOS files to be placed in specific subfolders (e.g., “dc” for Dreamcast BIOS).
Here’s a list of commonly used BIOS files in EmuDeck setups and their locations:
**GAME BOY (boot logo):** /Emulation/bios/gb_bios.bin
**GAME BOY COLOR (boot logo):** /Emulation/bios/gbc_bios.bin
**GAME BOY ADVANCE (boot logo):** /Emulation/bios/gba_bios.bin
**NINTENDO DS:** /Emulation/bios/bios7.bin /Emulation/bios/bios9.bin /Emulation/bios/firmware.bin
**GAMECUBE (boot logo):** /home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC/USA/IPL.bin (see [GameCube section](#GameCube) for details)
**SWITCH:** /Emulation/bios/yuzu/keys/prod.keys
**PLAYSTATION 1:** /Emulation/bios/scph5501.bin
**PLAYSTATION 2:** /Emulation/bios/SCPH-70012.bin /Emulation/bios/SCPH-70012.MEC /Emulation/bios/SCPH-70012.NVM
**SEGA CD:** /Emulation/bios/bios_CD_E.bin /Emulation/bios/bios_CD_J.bin /Emulation/bios/bios_CD_U.bin
**SATURN:** /Emulation/bios/sega_101.bin /Emulation/bios/mpr-17933.bin
**DREAMCAST:** /Emulation/bios/dc/dc_boot.bin
**XBOX:** /Emulation/bios/mcpx_1.0.bin /Emulation/bios/Complex_4627.bin (modified retail version)
**NEO GEO:** /Emulation/roms/neogeo/neogeo.zip
Steam ROM Manager
After adding your ROMs and BIOS files to their respective folders, it’s time to integrate your games into the SteamOS interface using Steam ROM Manager (SRM). SRM adds your retro games to your Steam library, allowing you to launch them directly from Game Mode. Games not added to SteamOS will still be accessible through EmulationStation.
Steam ROM Manager requires Steam to be closed, which temporarily reverts your Steam Deck controls to a basic “lizard mode” with limited trackpad functionality. Using a mouse and keyboard is highly recommended for these steps. The right trackpad acts as a mouse cursor, L2 is right-click, and R2 is left-click.
1. SET UP YOUR PARSERS: Open EmuDeck, go to Tools & Stuff > SteamRomManager. Confirm that you want to close Steam and open SRM. In SRM, you’ll see a list of systems on the left. Toggle OFF any systems you don’t want to appear in your SteamOS interface. They will still be available in EmulationStation regardless of parser settings. Pay attention to systems with multiple parsers like PSP, Switch, and PS3, and select the desired emulator or file type (for PS3).
Generally, parsing fewer systems is advisable to avoid cluttering your SteamOS UI. If you only want a single game from a system (e.g., one SNES game) in SteamOS, you still need to parse the entire SNES catalog, but you can easily remove unwanted games in Step #4.
2. GENERATE APP LIST: Click “Preview” at the top left of SRM, then “Generate app list.” SRM will scan the toggled parsers and match games against the SteamGridDB database to download artwork. This process may take several minutes depending on your library size. Track the progress and asset downloads at the top of the screen.
Once complete, review the game list to ensure accurate ROM matching. Missing games (e.g., 3DS games) likely indicate incorrect ROM placement or incompatible file types (refer to this sheet for compatibility). Mismatched artwork may result from ROM file names or SteamGridDB matching errors, especially for games with similar titles across console generations (e.g., Bionic Commando). Verify your game on SteamGridDB and adjust ROM naming if needed.
3. CUSTOMIZE YOUR ARTWORK: This is where you personalize your game artwork. Hover your mouse over a game’s artwork to cycle through available images and select your preferred option. Focus on “Posters” (Select type > Posters at the top) which represent the cover art seen in SteamOS. “Grid” images are displayed when a game is your most recently played.
For mismatched or missing artwork, download desired images from SteamGridDB and save them to your Steam Deck. Hover over the game, click the photo icon at the bottom left, and manually add your downloaded image. For mismatched entries, use SRM’s “exception” tool (more info here). Games you don’t intend to add to SteamOS can be ignored for now.
4. SAVE AND CLEAN YOUR APP LIST: Once satisfied with your artwork, click “Save app list” at the bottom. This may take several minutes. Monitor progress in the Event Log (top left). When the Event Log shows “Done adding/removing entries,” exit Steam ROM Manager and open Steam.
In your Steam Library, you’ll see your added games organized by system or emulator on the left. Now, remove games you DON’T want to appear in your SteamOS interface. Removing them here only removes them from the SteamOS UI, not the actual game files or EmulationStation. Right-click a game and select Manage > Remove non-Steam game from your library. Hold CTRL to select and remove multiple games simultaneously.
After removing unwanted games from your SteamOS Game Mode library, your Steam Deck emulation setup is complete! Exit Desktop Mode, enter Game Mode, and enjoy your retro game library. Continue to the system-specific sections below to fine-tune individual emulator settings for optimal performance and experience.
EmulationStation Desktop Edition
Adding EmulationStation-DE to your SteamOS experience via EmuDeck is very simple. After the initial EmuDeck setup, open Steam ROM Manager (see previous section). In the Parsers section, ensure EmulationStation-DE is toggled ON. To only add ES-DE to SteamOS and no other games, toggle OFF all other parsers except ES-DE. This visualization from the EmuDeck wiki illustrates this process.
EmulationStation has default emulator preferences. To change them, access the Main Menu by pressing START > Other Settings > Alternative Emulators and customize as desired. Here are recommended emulator preferences for major systems in ES-DE (non-default choices are in bold):
dreamcast = Flycast
gb = Gambatte
gba = mGBA
gbc = Gambatte
**gc = Dolphin (standalone)**
genesis = Genesis Plus GX
**mame = MAME 2003-Plus (if using Mame 2003 Plus romset)**
**n3ds = Citra (standalone)**
n64 = Mupen64Plus-Next
**nds = melonDS**
nes = Nestopia UE
**ps2 = PCSX2 (standalone)**
psp = PPSSPP
**psx = SwanStation or DuckStation (standalone)**
saturn = Beetle Saturn
**snes = bsnes**
switch = Yuzu (standalone)
**wii = Dolphin (standalone)**
RetroArch cores are generally preferred for systems like PS1, N64, and PSP due to universal features like hotkeys and RetroAchievements. While standalone emulators may offer slightly better performance, RetroArch’s universal features often outweigh minor performance differences. For game-specific emulator adjustments, highlight the game in the menu, press SELECT > Edit this Game’s Metadata > Alternative Emulator, and make your selection.
To explore additional themes, these options are available on the EmulationStation website. Themes are located in Home/.emulationstation/themes (enable hidden files to see the .emulationstation folder). Some themes may require adjustments to the theme.xml file for aspect ratio or other settings.
Launching PS3 games from ES-DE is possible but more complex. This guide details the process.
Navigation tip: Press the R2 button to page down in EmulationStation settings, useful for navigating large game collections or quickly exiting ES-DE (press START, R2, A, then A).
Updating EmuDeck and emulators
EmuDeck receives periodic updates with new features and options. To update EmuDeck itself, simply open the application. It will automatically detect, install, and reboot EmuDeck for you. Release update changelogs are available on their GitHub.
Emulator updates are handled in two ways:
Many emulators update individually through the Discover store’s built-in update tool, similar to other applications. In Desktop Mode, a small “Up” arrow icon will appear in the bottom-right task bar when updates are available. Click this icon to install updates. Alternatively, open EmuDeck, select “Tools and Stuff” > Update Emulators and Tools > Update Flatpaks for the same functionality.
Other emulators are updated directly from developer websites, also integrated into EmuDeck. To update these, open EmuDeck, select “Tools and Stuff” > Update Emulators and Tools > Update AppImages.
EmuDeck updates may sometimes overwrite custom configurations. While an option to avoid overwriting settings exists in the update script, it’s not always guaranteed due to ongoing improvements. To ensure your preferred game settings persist across updates, consider creating per-game settings configurations (process varies by system).
Updates to EmuDeck or emulators may occasionally introduce unexpected issues. This is inherent in consolidating a vast emulation ecosystem into a single tool. If you encounter problems after updating, the EmuDeck Discord server is a helpful resource for troubleshooting and community support.
CryoUtilities
CryoUtilities is a tool designed to optimize Steam Deck performance, particularly for demanding emulators like Yuzu (Nintendo Switch), by implementing under-the-hood tweaks. When combined with the PowerTools plugin (see below), it can significantly enhance gameplay smoothness with minimal effort. Created by YouTuber CryoByte33, his in-depth video explains the tool and its benefits.
Installation:
- In Steam Deck Desktop mode, use a browser like Firefox to visit the CryoUtilities GitHub. Download the latest package and save it to your desktop by right-clicking and selecting “Save As” (direct link here).
- If you haven’t already, create a sudo password. Open the Konsole app and type “passwd” and press ENTER. Follow the prompts to create a system password.
- Double-click the icon on your desktop to run the install script, which will create additional desktop icons.
- Open the CryoUtilities app and enter the sudo password you created.
- In the main menu, click the “Recommended” settings button to apply optimized settings automatically. For a detailed explanation of all settings, watch this video from the developer.
- Power off your Steam Deck. Hold the VOLUME UP button while powering it back on, releasing the button after hearing the Steam Deck “bloop” sound to enter the BIOS menu. Using the right trackpad, navigate to “Setup Utility” (bottom right) and press R2. Go to Advanced > UMA Frame Buffer Size and change it from 1G to 4G. Press the SELECT button to save changes and restart your device.
To revert to default settings, reopen CryoUtilities and select the “Stock” settings option. You will also need to repeat step #6, changing the VRAM size back to 1GB in the BIOS.
CryoUtilities’ recommended settings create a 16GB swap file on the internal SSD. This may be a concern for 64GB Steam Deck owners with limited internal storage. Using a large microSD card for game storage is recommended to manage storage space effectively.
Additional EmuDeck tools
EmuDeck includes several built-in tools to enhance your emulation experience, accessible via EmuDeck > Tools & Stuff.
PowerTools: PowerTools is a plugin that allows fine-tuning of emulators and games for optimal performance. For example, with Dolphin, it effectively reduces CPU threads from 8 to 3 (also disable SMT), increasing clock speed for smoother gameplay.
PowerTools can be installed directly through EmuDeck. Open EmuDeck, select “Tools & Stuff” > PowerTools, and follow the prompts. Manual installation requires Decky Loader, a plugin manager. Install Decky Loader following instructions on their website. After installation, find the plugins menu in your Quick Access Menu (QAM – “three dots” button in Game Mode). Open the store icon and find PowerTools. Plugins require sudo access, and EmuDeck or Decky Loader will guide you through the process.
GyroDSU: GyroDSU plugin enables Steam Deck’s gyro controls for emulators like 3DS, Wii, Wii U, and Switch. This guide from the EmuDeck wiki provides setup instructions.
Plugins can sometimes cause instability or crashes. When exiting PowerTools, using the B button is recommended over the QAM (“three dots”) button to avoid potential crashes.
EmuDeck Compressor: This tool compresses your ROMs, saving up to 70% of storage space. PSX, PS2, Sega CD, and Dreamcast games are converted to CHD format, and GameCube/Wii games to RVZ format.
BIOS Checker: This tool verifies your BIOS folder for issues. Even if BIOS files are present, they may fail this check due to case mismatches or incorrect file versions.
Quick Settings: Quickly toggle options like bezels, shaders, and aspect ratios for specific systems using this tool.
SaveBackup: (Beta) Backs up your save games to cloud services like Google Drive or Dropbox. Currently only backs up save games, future updates will include syncing with other devices.
Emulator Guides: Provides notes and a “Reset configuration” button for each emulator, allowing you to reset emulator settings without a full EmuDeck update, useful for reverting accidental setting changes.
Reset or Uninstall EmuDeck: Reset EmuDeck to default settings or uninstall it entirely through the “Tools & Stuff” section.
Helpful tool outside of EmuDeck:
VibrantDeck: VibrantDeck, installed via DeckyLoader, increases screen saturation levels. A setting of 120 is personally recommended for enhanced color vibrancy.
Hotkeys
A challenge in Steam Deck emulation is replicating original system controllers. EmuDeck pre-configures controls using the bindings shown in the images above. To customize controls, access individual emulator settings and adjust them to your preferences.
Some systems (Wii U, 3DS, etc.) require enabling a Steam Controller Profile for hotkeys to function. For example, with 3DS, launch a 3DS game in Steam Deck Game Mode, press STEAM button > Controller Settings > Current Layout > Template > EmuDeck – Citra 3DS. This profile selection needs to be done once per game and will be remembered thereafter.
RetroArch
App: RetroArch (FlatPak)
File types: varies
BIOS: varies (place in /Emulation/bios/ folder)
More info: EmuDeck wiki page
RetroArch is a versatile all-in-one emulation program offering standardized features like universal hotkeys, cheat implementation, shaders, filters, and autosaves. For less demanding systems (up to PSP), RetroArch is often preferred. However, standalone emulators are generally better for more challenging systems. Standalone emulators also exist for systems that run well in RetroArch (PS1, PSP, N64).
For a list of systems supported by RetroArch in EmuDeck, see this list on the EmuDeck GitHub. It includes system names, accepted file extensions, and required BIOS files. A “RetroArch BIOS pack” is a convenient way to obtain BIOS files; place all files from the pack in the /Emulation/bios/ folder. These packs may contain more files than needed but are generally functional.
RetroArch requires the Steam Deck to run at 60Hz. If experiencing slowdown, open the QAM (“three dots”) menu, go to Battery (Performance), and ensure Framerate Limit and Refresh Rate are both set to 60.
Multi-disc games: Manage multi-disc games using .m3u files. This tutorial from the EmuDeck wiki provides detailed instructions.
PSP system files: For PSP games in RetroArch, download PSP system files within the app. Open RetroArch, go to Main Menu > Online Updater > Core System Files Downloader > PPSSPP.zip to download and install necessary files.
N64 image sizes: Some N64 games have black bars due to their original video processing. To zoom in and remove these borders, press SELECT + Y for the RetroArch quick menu, press B to return to the main menu, select Settings > Video > Scaling > Aspect Ratio and set it to Custom. Adjust custom aspect ratio parameters to stretch the image as desired. Once satisfied, go to Quick Menu > Overrides > Save Game Overrides to apply scaling for that specific game.
N64 30fps cap fix: If N64 games are capped at 30fps, disable rewind. In an N64 game, press SELECT + Y for the RetroArch quick menu, press B to return to the main menu, select Settings > Frame Throttling > Rewind and turn it OFF. Go to Quick Menu > Overrides > Save Core Overrides to disable rewind for all N64 games.
RetroAchievements: RetroArch integrates with RetroAchievements, a community-driven platform for tracking achievements in retro games. Sign up for a free account on the RetroAchievements website and enter your login details during EmuDeck setup. If you missed this step, return to Desktop Mode, run Custom Mode EmuDeck, and add your login details when prompted.
Here are essential universal hotkeys for RetroArch systems:
Exit game: SELECT + START
Fast forward: SELECT + R2
Save state: SELECT + R1
Load state: SELECT + L1
RetroArch Quick Menu: SELECT + Y (or L3 + R3)
Toggle FPS: SELECT + X
RetroArch can be complex. EmuDeck pre-configures most settings for seamless operation, minimizing direct interaction with RetroArch menus. For advanced customization, consult the RetroArch Starter Guide for a deeper understanding of available options.
Nintendo 3DS
App: Citra (standalone)
File types: .3ds .3dsx .app .axf .cci .cxi .elf
BIOS: Title Keys (aes_keys.txt) needed for encrypted ROMs. Decrypted ROMs recommended for best results.
More info: EmuDeck wiki page
Enable fast forward: Remove fast forward throttle for maximum speed. In Citra, go to Emulation > Configure > General, and under “Use Alternate Speed,” move the slider fully right to “unthrottled.” Leave “Use Alternate Speed” unchecked. Then, go to Citra > Emulation > Configure > Controls > Hotkeys and set Toggle Alternate Speed to a keyboard key (e.g., “9”). Use the Steam Deck on-screen keyboard (STEAM + X) to input the key. Load a 3DS game, ensure the Citra 3DS controller profile is loaded, go to STEAM > Controller Settings > Edit Layout > Joysticks > R3 Click, and set it to Keyboard > 9 (or your chosen key). Now, pressing R3 toggles fast forward. This controller profile edit is needed per game until EmuDeck integration.
Exit a game: Press and hold R5 for a few seconds to exit a game.
Improved visuals: Default resolution is 2x scaling, but many games run well at 3x for sharper visuals. However, some games may slow down at 3x. Citra lacks per-game resolution settings. To try 3x resolution, press L4 to open the Menu Bar, go to Emulation > Configure > Graphics > Internal Resolution > 3x. Revert to 2x for other games if needed.
Controls: EmuDeck’s Citra lacks standard hotkeys. However, a dedicated controller profile is pre-installed and auto-loads with EmuDeck. Launch a 3DS game in Steam Deck Game Mode, press STEAM button > Controller Settings > Current Layout > Template > EmuDeck – Citra 3DS. Now L4 toggles Full Screen, R4 swaps screens, L5 toggles layout, and R5 (hold) exits the game. This profile selection is a one-time setup per game.
In addition to hotkeys, a radial quick menu provides access to Fast Forward, Save States, and more. Activate it by sliding your thumb on the left trackpad:
Notes:
- .cia files require installation in Citra before use and are not compatible with Steam ROM Manager or EmulationStation. Use other file types like unencrypted .3ds files for best results.
- Default Fast Forward speed is 500%. Adjust it in Configure > General > Alternative speed.
- Gyro controls are possible using SteamDeckGyroDSU. Setup instructions here.
Nintendo GameCube
App: Dolphin (standalone)
File types: .ciso .dol .elf .gcm .gcz .iso .nkit.iso .rvz .wad .wia .wbfs
BIOS: optional IPL.bin for boot logo (see below)
More info: EmuDeck wiki page
PowerTools plugin: Some games may not run at full speed due to Steam Deck core handling. Use the PowerTools plugin to address this. See the PowerTools section. In addition to PowerTools, open the QAM (“three button”) menu, enable Advanced View, and enable Manual GPU Clock Control, setting it to 1200.
Gecko and Action Replay codes: Enhance gameplay with GameCube codes. In Dolphin Desktop Mode, go to Options > Configuration > General and check “Enable Cheats.” Load games into Dolphin if not already visible via Options > Configuration > Paths, adding the path to your GameCube folder (/run/media/mmcblk0p1/Emulation/roms/gc on SD card installations). Right-click a game, select Properties, and find AR (Action Replay) and Gecko code tabs. Many games have pre-populated codes that can be enabled.
To add custom codes, search the game name on the Dolphin wiki. For example, the 60fps patch for Super Mario Sunshine. In the game’s Properties (AR or Gecko tab), choose “Add New Code,” name it (e.g., “60fps patch”), paste the code (code only, not name), and press “Save.” The code can now be enabled in the tab.
Widescreen hack: EmuDeck has a widescreen hack option for GameCube games. While effective for many, some games like Super Mario Sunshine may have side distortions. Fixes via Gecko or Action Replay codes may be pre-added or found on the Dolphin wiki (e.g., 16:9 fix for Super Mario Sunshine). Many 16:9 Gecko fixes require disabling the default EmuDeck widescreen hack, toggled via START + RIGHT on the d-pad.
Improved visuals: EmuDeck defaults to 2x resolution. Increase or decrease resolution with START + UP or START + DOWN on the d-pad. 3x resolution may be visually similar to 2x on the Steam Deck screen but can improve docked display visuals.
Boot logo: Enable the GameCube boot logo. Obtain GameCube BIOS files (e.g., “gc-ntsc-12.bin”), rename it to “IPL.bin,” and place it in the GameCube system folder in Desktop Mode (/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC/USA/IPL.bin – press CTRL+H to show hidden files). In Dolphin, go to Options > Configuration > GameCube and uncheck “Skip Main Menu” (grayed out if BIOS issue). The boot logo will now appear when launching a game. If the boot animation is stretched, ensure Options > Graphics Settings > Hacks > Immediately Present XFB is OFF.
Controller profiles: Some games have inverted camera controls. Create a new controller profile to fix this. In Dolphin > Options > Controller Settings > Port 1 (Standard Controller) > Configure, remap right stick X/Y axes to opposite directions. In “Profile” (top right), name it (e.g., “reverse”) and Save.
For games needing reversed camera controls, open Dolphin, right-click the game, select Properties > Game Config > Editor, and under “User Config,” type:
[Controls]
PadProfile1 = GC_reverse_camera
This method can be used for other controller tweaks.
Nintendo Wii
App: Dolphin (standalone)
File types: .ciso .dol .elf .gcm .gcz .iso .json .nkit .iso .rvz .wad .wia .wbfs
BIOS: none required
More info: EmuDeck wiki page
Most Wii options are similar to GameCube (same emulator). See the GameCube section above.
PowerTools plugin: Similar to GameCube, use PowerTools to improve performance. See the PowerTools section. Also, in the QAM (“three button”) menu, enable Advanced View and Manual GPU Clock Control, setting it to 1200.
Wii system menu: In Dolphin Desktop Mode, go to Tools > Perform Online System Update > United States (or your region). Then, Tools > Load Wii System Menu (4.3U) and complete initial setup (16:9 aspect ratio can make pointer access difficult at screen edges). If you have .wad files for Wii Virtual Console or WiiWare games, add them to the Wii menu via Tool > Install WAD. The Wii Menu is primarily for novelty as it’s not accessible from Steam Deck Game Mode. This video provides more details.
Wiimote control schemes: EmuDeck pre-installs control profiles toggled with SELECT + LEFT/RIGHT on the left analog stick. Wii games use different control profiles. While most can be handled by pre-configured profiles, games requiring full Wii motion controls (e.g., Wii Sports) may not be fully playable. Focus on games supporting nunchuck, Classic Controller, or GameCube controller. This list details Classic Controller compatible games.
“no_controller” profile = GameCube controller.
Control schemes are customizable. For example, YT commenter MeowtheMouse recommended this layout:
C = L1
Z = L2
A = A
B = R2
1 = B
2 = Y
Shake = R1
Gyro controls: Gyro controls are possible with SteamDeckGyroDSU. Setup instructions here.
PrimeHack
App: PrimeHack Dolphin fork (standalone)
File types: .ciso .dol .elf .gcm .gcz .iso .json .nkit .iso .rvz .wad .wia .wbfs
BIOS: none required
More info: EmuDeck wiki page
PrimeHack is a Dolphin fork optimized for Metroid Prime games. Using the Metroid Prime Trilogy Wii game (placed in Emulation/roms/primehacks) is recommended.
PowerTools plugin: Use PowerTools for performance improvements, similar to Dolphin/GameCube/Wii. See PowerTools section. Also, in QAM, enable Advanced View and Manual GPU Clock Control to 1200.
HD textures: Some HD textures are pre-installed in EmuDeck PrimeHack. For more, refer to the PrimeHack (Windows) guide – the process is the same. Place texture packs in:
/home/deck/.var/app/io.github.shiion.primehack/data/dolphin-emu/Load/Textures/R3M/
(Hidden .var folder – enable hidden files in Dolphin file manager via hamburger menu > view hidden files).
PrimeHack specific controls are shown in the image above.
Nintendo Wii U
App: Cemu
File types: .rpx .wud .wux .wua .elf .iso .wad
BIOS: Title Keys (Emulation/roms/wiiu/keys.txt) needed for WUD/WUX files.
More info: EmuDeck wiki page
Cemu is a Windows application running on Steam Deck via EmuDeck’s Proton integration – no manual Proton configuration needed. Desktop Mode is recommended for Cemu adjustments (“Cemu EmuDeck” label).
Adding games: Different Wii U file types require unique setup:
- RPX (Loadiine): Folders (code, content, meta) easiest to find and use (USBHelper). Create a game folder, place the three folders inside, and put the main game folder in Emulation/roms/wiiu/roms (second “roms” subfolder). Unencrypted, no keys.txt needed.
- WUA: Compressed files from RPX etc., unencrypted. Compression guide here.
- WUD/WUX: Full-disc dumps, single files, encrypted, require keys.txt (obtain or dump from hacked Wii U).
- NUS: Folders with .h3 and .app files, encrypted, can be decrypted to RPX but RPX (or WUA) is generally preferable.
DLC and updates: Install DLC/updates directly in Cemu in Desktop Mode. DLC/updates should have the same three-folder structure (code, content, meta) as RPX games. Place DLC/update folders in Emulation/roms/wiiu (subfolders UPDATES and DLC recommended). In Cemu, File > Install game title, update, or DLC. Navigate to DLC/update location and open meta.xml or the main DLC/update folder.
Gyro controls: Gyro controls possible with SteamDeckGyroDSU. Setup instructions here.
Graphics packs: Essential for Cemu. In Cemu, Options > Graphics Packs > “Download latest community graphics packs.” Check graphics packs for each game. Look for aspect ratio 16:10 and resolution 1280×800 for Steam Deck display matching. Recommended tweaks:
**Mario Kart 8**
Enhancements > Contrasty > Colorful
**New Super Mario Bros U**
Workarounds > Title Screen Crash Fix > ON
**The Legend of Zelda: Wind Waker HD**
Enhancements > Contrasty v1.1 > GameCube style
Enhancements > No SSAO > ON
Graphics > Resolution > 1280x720 (performance)
Workarounds > FPS Slowdown > ON
**The Legend of Zelda: Twilight Princess HD**
Enhancements > Contrasty > default
Graphics > Performance Resolution > 1280x720
Modes > Distant Fog > ON
**The Legend of Zelda: Breath of the Wild**
Cheats > (various options)
Mods > Xbox Controller Button Layout > ON
Mods > FPS++ > Mode > Advanced Settings
Mods > FPS++ > Framerate Limit > 40fps (set Steam QAM Framerate to 40fps too)
Controls: EmuDeck Cemu runs Windows version, lacking standard hotkeys. Controller profile is pre-configured and auto-loads. Launch a Wii U game in Steam Deck Game Mode, press STEAM button > Controller Settings > Current Layout > Template > EmuDeck – Cemu. R4 shows gamepad screen, SELECT + START exits game.
Nintendo Switch
App: Yuzu
File types: .kp .nca .nro .nso .nsp .xci
BIOS: Prod keys in Emulation/bios/yuzu/keys
More info: EmuDeck wiki page
Two Switch emulators: Yuzu and Ryujinx. This guide focuses on Yuzu, but Ryujinx guide here.
Obtaining game files: Dump your own game files from a modded Nintendo Switch and prod.keys file.
NSP or XCI formats recommended. Switch Army Knife (SAK) converts XCI/NSZ to NSP and patches title updates. Rename ROMs to remove special characters (e.g., é in Pokémon).
DLC and updates: Install DLC/updates in Yuzu Desktop Mode. NSP format recommended. Do NOT place in Emulation/roms/switch to avoid Steam ROM Manager issues (store in Emulation/roms/bios/yuzu). In Yuzu, File > Install Files to NAND… and navigate to DLC/update files. Select all for batch install. Delete NSP files after installation.
Yuzu cheats/mods: Find mods at GBATemp. Unzip downloaded files to get a folder with an exefs subfolder. Right-click game in Yuzu, “Open Mod Data Location,” paste mod folder. Verify install in game Properties > Add-Ons tab to enable/disable.
Some cheats/mods require specific game versions. Check “Applies To” column on Yuzu mods page. Revert game version in Yuzu > right-click game > Properties > uncheck updates to revert.
Performance and compatibility: Default EmuDeck settings work for many games. Steam Deck emulation database for per-game recommendations. Per-game configurations via Yuzu > right-click game > Properties to adjust resolution, VSync, accuracy. Check game compatibility in the app’s “Compatibility” column.
PowerTools plugin ([#Tools2]) SMT off improves performance for many Switch games. Toggle SMT off in-game, then PowerTools > Persistent Profile: ON for per-game setting.
Manual GPU Clock Control: In-game, QAM button > battery icon > Manual GPU Clock Control > ON, set frequency (1300-1600). Experiment for optimal frequency.
Gyro controls: Gyro controls possible with SteamDeckGyroDSU. Setup instructions here.
PS Vita
App: Vita3k
File types: NoNpDRM dumps via VitaShell
BIOS: PS Vita firmware
More info: EmuDeck wiki page
PS Vita emulation on Steam Deck is possible but not fully tested in this guide. Vita3k Quickstart guide includes game dumping instructions from a jailbroken PS Vita. PS Vita jailbreak guide here.
Guide will be updated upon testing. ETA Prime showcase video here.
PlayStation
App: DuckStation
File types: .cue .chd .ecm .iso .m3u .mds .pbp
BIOS: scph5501.bin or similar (lowercase!) in /Emulation/bios/ folder
More info: EmuDeck wiki page
PlayStation emulation works well on RetroArch, but standalone Duckstation emulator is also excellent, with a radial Quick Menu activated by scrolling the left trackpad near the bottom-left (similar to 3DS/Citra section). Enable PS1 controller profile to access Quick Menu.
Multi-disc management: .m3u files or convert to .pbp format. Instructions on EmuDeck wiki. For .bin files, generate .cue files using this tool.
PlayStation 2
App: PCSX2-Qt (default)
File types: .chd .cso .gz .img .iso
BIOS: See below
More info: EmuDeck wiki page
EmuDeck installs two PCSX2 versions: stable “PCSX2” and nightly “PCSX2-Qt EmuDeck” (default), offering frequent updates and a graphical interface.
PS2 BIOS: Use PS2 slim model BIOS set. Place in /Emulation/bios folder:
SCPH-70012.bin
SCPH-70012.MEC
SCPH-70012.NVM
Widescreen hacks: In PCSX2-qt, Settings > Emulation > enable “Enable Cheats” and “Enable Widescreen Patches.” Cycle Aspect Ratio hotkeys for best fit. Also check in-game widescreen settings.
Faster Fast Forward: Default 500% fast forward limit can be removed. Settings > Emulation > “Fast Forward Speed” to “Unlimited.” Default fast forward hotkey: SELECT + R2. If hotkey doesn’t work, QAM (“three dot”) settings > Performance > Advanced View > Framerate Limit > OFF.
Improved visuals: Settings > Graphics options:
Rendering tab / Anisotropic Filtering: 8x
OSD tab / Shade Boost: ON
OSD tab / Saturation: 75
OSD tab / FXAA: ON
Default 2x rendering resolution, but 3x resolution (supersampling) significantly improves visuals for most games. Increase/decrease resolution with START + UP/DOWN on d-pad.
Controller profile: For games with reversed horizontal camera (e.g., Jak & Daxter), create a new controller profile. Settings > Controllers > “New Profile” (bottom-right), name it, load “Shared” profile, change right analog stick mapping, exit.
Per-game settings: In PCSX2-Qt EmuDeck, right-click game > Properties to tweak settings like resolution, anisotropic filtering, controller profile.
Boot logo: To see full PS2 boot logo, Settings > BIOS > uncheck “Fast Boot.”
PlayStation 3
App: RPCS3
File types: /PS3_GAME/USRDIR/eboot.bin or .pkg (and .rap) files
BIOS: PS3 firmware
More info: EmuDeck wiki page
BIOS installation: Download PS3 firmware update file and install in RPCS3. RPCS3 Desktop Mode > File > Install Firmware. Delete downloaded file after install. RPCS Quickstart guide for details.
Game files: Two main types: extracted ISO/PSN files, or .pkg/rap files.
- Extracted ISO/PSN files: Folders like (Name of Game)/PS3_GAME/USRDIR/eboot.bin. Place (Name of Game) folders in /Emulation/roms/ps3. In Steam ROM Manager, choose “RPCS3 (Extracted ISO/PSN)” parser.
- Installed PKG files: .pkg files from PSN store need installation in RPCS3. File > Install Packages/Raps/Edats or drag and drop .pkg into emulator window. Installs to Emulation/storage/rpcs3/dev_hdd0/game/. Delete .pkg files after install. Some .pkg need .rap files (PSNDLv4 tool to find them). In Steam ROM Manager, choose “RPCS3 (Installed PKG)” parser.
- RPCS3 Quickstart guide for dumping your own PS3 files.
EmuDeck wiki instructions to add PS3 games to EmulationStation.
PS3 emulation on Steam Deck is limited. Check RPCS3 compatibility list for game compatibility and tweaks.
Xbox
App: Xemu
File types: .iso (xiso formatted)
BIOS: mcpx_1.0.bin and modified retail “COMPLEX 4627” BIOS in /Emuation/bios
More info: EmuDeck wiki page
Prepare game files: Xbox .iso files need “xiso” formatting for Xemu. Use extract-iso tool. EmuDeck wiki instructions for setup.
BIOS files: EmuDeck pre-installs Xemu’s Xbox HDD image. Add MCPX Boot ROM and BIOS Flash ROM images to /Emulation/bios. BIOS file info. Naming issues can cause recognition problems. In Xemu, Machine > System and point to BIOS files directly.
Performance and compatibility: Xbox emulation on Steam Deck is imperfect. Xemu compatibility list. Compatible games may run acceptably at Internal Resolution Scale 1x (EmuDeck default). Some games may run at 2x. Set resolution via SELECT + START for Quick Menu > Settings > All Settings.
Widescreen: Some games support widescreen/4:3 aspect ratios. Xbox display defaults to stretched screen. Toggle widescreen support in game settings if available. Set 4:3 aspect ratio via SELECT + START for Quick Menu > Settings > Display Mode.
White and black buttons mapped to L1 and R1 on Steam Deck.
Xbox 360
App: Xenia
File types: .iso (rip guide here)
BIOS: none required
More info: Xenia quickstart guide and EmuDeck wiki page
Xenia is experimental, limited game compatibility. Install via EmuDeck > Tools & Stuff > Emulator Guides > Xenia:
RetroDeck
RetroDeck is an all-in-one emulation solution using EmulationStation interface. Self-contained app with pre-configured emulators, easily installed from Discover app in Desktop Mode.
Currently in active development (beta), expect feature additions/removals.
Batocera
Batocera is a dedicated Linux OS for emulation, using EmulationStation frontend. Long development history, refined experience, active development with frequent releases.
Bootable from microSD, USB, external HDD, separating SteamOS and emulation.
Comprehensive guides and active discord server. Systems list. Yuzu (Switch) requires manual installation.
Currently beta on Steam Deck, stable and improving.
Changelog
05MAR2024
– updated Switch and Citra sections
24NOV2023
– added note about EmuDeck recognizing SD cards
31JUL2023
– updated EmuDeck wiki links
– general cleanup and maintenance
13APR2023
– updated Wii U section to link to WUA compression guide
08MAR2023
– added CryoUtilities section
– updated Switch section to further explain SMT and GPU clock control
16JAN2023
– added section about re-linking the SD card for use when in Game Mode
19OCT2022
– added screenshot of Xenia installation option
– fixed wording about PCSX2-Qt as the default emulator
18OCT2022
– added link to ES-DE themes
– added note about fixing the 30fps cap in N64
17OCT2022
– added note about N64 image sizes in the RetroArch section
16OCT2022
– published guide