Retro Gaming on a Mac

Retro Gaming on a Mac

Last updated: 06APR2023 (see Changelog for details)

Macs have always been considered terrible for gaming, but recent advances in Apple silicon chips have paved the way for some spectacular retro game emulation. In this guide we’re going to focus on the cheapest Mac available, which is the lowest-spec Mac Mini (which retails at $599). I’ll walk you through the setup process and do game testing for all your favorite systems: classic retro content like GBA, NES, and SNES, all the way to more powerful systems like Dreamcast, N64, Saturn, PS1, PSP, GameCube, Wii, Wii U, Switch, PS2, PS3, and more.

Continue reading “Retro Gaming on a Mac”

Widescreen SNES Guide

Widescreen SNES Guide

Last updated: 22FEB2023 (see Changelog for details)

In this guide I’ll show you how to set up widescreen for many beloved SNES games. Not every game will work with this setup, but many do, including some of my personal favorites.

To enable widescreen, you must use the BSNES standalone emulator or the BSNES HD Beta core within RetroArch. For this guide we will focus on the BSNES HD Beta RetroArch core.

You will need a somewhat powerful machine to run the BSNES RetroArch core. For retro handhelds, I recommend something like the Retroid Pocket 3+ at the very least, but the AYN Odin or Logitech Cloud will work even better.

Continue reading “Widescreen SNES Guide”

PS2 and PS1 BIOS Extraction Guide

PS2 and PS1 BIOS Extraction Guide

Last updated: 17FEB2023 (see Changelog for details)

In this guide I’ll show you how to safely extract your own BIOS files to use with PS2 and PS1 emulators, thanks to a new tool that works with the official Sony PS3 firmware update file. No longer do you need to rely on a hacked console (or shady websites) to acquire your BIOS files! These BIOS can then be used in many popular emulators like PCSX2, AetherSX2, DuckStation, and RetroArch.

Continue reading “PS2 and PS1 BIOS Extraction Guide”

The Ultimate ROM File Compression Guide

The Ultimate ROM File Compression Guide

Last updated: 08FEB2023 (see Changelog for details)

Organizing your ROM library can be confusing and tedious, and so in this guide I will show you how I use CHD, PBP, and RVZ files to optimize my collection.

For this guide I will focus on CD-based games, as they often pose the most issues when it comes to compatibility. (Secret tip: for cartridge-based systems like NES, you can generally just use zip files or leave them uncompressed).

Note that the video guide is made with Windows PCs in mind, but I have included Mac instructions where applicable below.

Continue reading “The Ultimate ROM File Compression Guide”

Anbernic RG35XX Starter Guide

Anbernic RG35XX Starter Guide

Last updated: 02APR2023 (see Changelog for details)

In this guide I will show you how to get started with the Anbernic RG35XX retro handheld, and how to set up the new GarlicOS game launcher and greatly improve the device’s user experience.

Where to buy the RG35XX:
Anbernic website
Amazon (more expensive but faster shipping and easy returns)

GarlicOS is provided as a community build thanks to the work of developer Black Seraph. If you have the means, please consider leaving him a tip jar donation to thank him for his efforts. MinUI is created by Shaun Inman.

Continue reading “Anbernic RG35XX Starter Guide”

Steam Deck Emulation Starter Guide

Steam Deck Emulation Starter Guide

Last updated: 13APR2023 (see Changelog for details)

Valve’s Steam Deck is the perfect storm of handhelds: it has an exceptional price-to-performance ratio, a large game library thanks to its Steam integration, and it is becoming more readily available every month. In this guide I’ll show you how to play your favorite retro (and modern) game systems via software emulation.

This guide will primarily use an app called EmuDeck to set up your emulation experience, but I will also touch on other solutions like RetroDeck and Batocera. If you are looking for a general setup guide for the Steam Deck itself, I recommend this comprehensive Steam Deck guide from GitHub user mikeroyal.

Table of Contents

EmuDeck vs Batocera vs RetroDeck vs EmulationStation
Recommended tools
Getting started with EmuDeck
Add games and BIOS files
Steam ROM Manager
EmulationStation Desktop Edition
Updating EmuDeck and emulators
Additional EmuDeck tools

System-specific recommendations:
Nintendo 3DS
Nintendo GameCube
Nintendo Wii
Nintendo Wii U
Nintendo Switch
Sony PS Vita
Sony PlayStation
Sony PlayStation 2
Sony PlayStation 3
Microsoft Xbox
Microsoft Xbox 360

Other emulation options:


EmuDeck vs Batocera vs RetroDeck vs EmulationStation

Let’s take a quick look at some of your emulation options on the Steam Deck.

EmuDeck is a tool that integrates many functions into one: it will download emulators from their official sources, pre-configure your settings and hotkeys, and work together with EmulationStation and the Steam ROM Manager. It’s not an “app” in the strictest sense, but a collection of clever scripts that take care of all the manual installation and configuration for you. I’ve seen some concerns about allowing an app to install items on your Steam Deck, but EmuDeck does not require sudo/root access to work, and only installs the same file systems that you would be installing if you installed the emulators manually. However, if you’d rather have a self-contained solution, check out Batocera or RetroDeck.

Batocera is a custom Linux operating system that is focused on game emulation. It is completely self-contained and bootable from a variety of formats. This means you can load Batocera on a microSD card, flash drive, or external hard drive and boot it from there. As an example, you could use your Steam Deck primarily for PC games, and when you are ready to do some emulation, you can just add the Batocera SD card, boot into the card, and start playing games. This is an excellent setup if you want to separate your SteamOS PC gaming experience and your retro game emulation.

RetroDeck is an all-in-one emulation solution that uses EmulationStation as its main interface. Because it is self-contained, it will behave as a single app with all of its emulators pre-installed and configured. This is a great solution if you just want a simple emulation experience that you can access directly from your SteamOS environment. Moreover, the app is available as a FlatPak directly in the Discover app via Desktop Mode on your Steam Deck, making the installation process super easy. RetroDeck is in active development and not yet in a final release state.

EmulationStation is a frontend that will provide you with a self-contained user interface to browse and launch your favorite retro games. The version found on the Steam Deck is known as EmulationStation-DE (Desktop Edition, shortened to ES-DE). It can be installed independently by downloading the latest AppImage and installing it on your Steam Deck, or it comes bundled within the EmuDeck or RetroDeck environments. ES-DE will auto-update itself, so if you remove or add ROMs to your folders, it will automatically catch those changes and it will reflect in the app the next time you boot ES-DE.

In the end, none of these options above are required to run emulation on the Steam Deck. If you’d like, you can manually install each individual emulator from the Discovery Store and configure them yourself, like you would on a Windows PC. Or you could install the EmulationStation Desktop Edition and set that up yourself, too. The tools above simply give you the option of making that process easier.

Recommended tools

Keyboard and mouse: Because we will use Desktop Mode to configure our emulation experience, it is sometimes easier to use a mouse and keyboard than trying to navigate everything using the Steam Deck’s trackpads and on-screen keyboard. Moreover, there are times when we’ll need to have the Steam app closed (like when using the Steam ROM Manager), which disables some of the more helpful trackpad controls.

If you have a Bluetooth keyboard and mouse, it’s easy enough to pair them and the pairing will persist between Game Mode and Desktop Mode (how convenient is that?). However, if you want something more portable, this keyboard from Rii is what I use. It is USB rechargeable, and has a 2.4GHz USB dongle for easy connection.

Steam Deck dock or USB-C hub: To make setup even easier, you can dock your Steam Deck to a monitor or TV and use it like a regular, boring PC. You can use a USB-C hub like this one from Anker, the official Valve Steam Deck Docking Station, or third-party docks like this one from iVoler. Here is a video where I compare four different dock solutions for the Steam Deck.

MicroSD card: Regardless of how you set up your Steam Deck for retro gaming, you will want to store your games somewhere. I recommend storing your retro games on a microSD card since the cards are relatively cheap and you can swap them out as needed. The size of the microSD card will depend on how you plan on using it. If you are going to use a single microSD card to store Steam games as well as your retro games, then a larger card might be best. If you’re going to use a dedicated microSD card for retro gaming, you can likely use something smaller (just bear in mind that CD-based and modern games take up more storage than old-school cartridge systems).

Note that when it comes to emulation, the read/write speeds on microSD card will generally not affect game loading or emulation speed, so storing games in the internal storage will likely not provide a performance boost. However, if you are going to use the card to store PC/Steam games too, then you will want to get a high-speed Class 2 (A2) card instead of a Class 1 (A1) card, since that can affect load times of PC games. I would recommend buying a microSD card from a reputable brand like SanDisk or Samsung to ensure longterm card integrity. Personally I use a 1TB SanDisk Extreme card in my Steam Deck, and I use it to store PC games as well as all of my emulated systems.

256GB microSD:
SanDisk Ultra
SanDisk Extreme
Samsung EVO Select

512GB microSD:
SanDisk Ultra
SanDisk Extreme
Samsung EVO Select

1TB microSD:
SanDisk Ultra
SanDisk Extreme
SanDisk Extreme Pro

If you are going to use a microSD card to store your games, the card needs to be formatted first.

– Insert the card into your Steam Deck while running SteamOS Game Mode
– Go to STEAM > Settings > System and select “Format SD Card”

Note that while the card will be readable on both the SteamOS Game Mode and Desktop Mode, it is using a Linux file system that is not readable by Windows or Mac PCs without specialized software. Therefore, when transferring files to and from the SD card, it is best to use an external hard drive or flash drive plugged into the Steam Deck to interface between the Steam Deck and your PC. For more information, see the Add games and BIOS files section below.

Flash drive or external USB drive: If you are using a Windows PC or Mac as your computer, the easiest way to add game files to your Steam Deck (regardless of whether you are storing them on the internal storage or a microSD card) is to use a flash drive or an external USB hard drive. This is because the Steam Deck can read Windows file systems (like exFAT and NTFS) when in Desktop Mode, but Windows and Macs cannot read Linux file systems. So you will want to move your game files to an external hard drive (or flash drive), then plug that drive into your Steam Deck (usually via a dock or USB-C hub) so you can drag and drop your files into the appropriate folders.

If your card is not being recognized within SteamOS Game Mode after formatting it or running EmuDeck, you may have to re-link the card with your Steam library. To do so, open the Steam Deck in Desktop Mode, then open Steam and go to Settings > Downloads > Steam Library Folders > “Plus” icon > and navigate to the location of your SD card (/run/media/mmcblk0p1) and select it. Now you should be able to use your SD card to store Steam games.

Getting started with EmuDeck

EmuDeck is super simple to install on the Steam Deck. The process is slightly different depending on whether you want to store your games on the Steam Deck itself, or a microSD card. If using the Steam Deck to store your games, no extra tweaking is needed, but for your microSD card, you will need to format it on the Steam Deck first (see the section above if you haven’t done that already).

EmuDeck has recently built a comprehensive FAQ page and I recommend checking it out if you run into any issues not covered in this guide.

To install EmuDeck, enter the Desktop Mode on your Steam Deck (STEAM > Power > Switch to Desktop), and then using a web browser (like FireFox), head over to the EmuDeck website and download the app directly onto your Steam Deck. When it asks you to save the file, save it directly on your Desktop. Next, navigate to your desktop and open the EmuDeck app.

EmuDeck will initialize and download some files, and then you will be greeted with the option of choosing EASY MODE or CUSTOM MODE.

Easy Mode: All systems will automatically download, and everything will be preconfigured. If you just want to start playing games and can’t be bothered with customization, this is a great choice. Note that even if you use the Easy Mode to start, you can always go back and run EmuDeck again through Custom Mode or Quick Settings.

Custom Mode: This mode allows you to choose which systems you want installed, and you can choose special configurations like aspect ratio, EmulationStation theme, shaders, and more. If you are familiar with emulation I recommend using this mode.

After you select which mode of EmuDeck to use, the app will walk you through the rest of the prompts to get started. Watch the video above for a walkthrough of that process. You will likely get some pop-ups about Yuzu (Switch) keys being missing, and a prompt of where to place your game files. You can ignore those for now, since we’ll cover that in the next section.

Add games and BIOS files

After you have installed EmuDeck, the next step is to add your games (“ROMs”) and BIOS files.

ROM files are copyrighted, and will not be shared on this website. You will need to dump your own game files (this process varies by emulator), or find ROM files on your own. Similarly, BIOS (system) files are copyrighted and will not be shared.

If you are using a Windows PC or Mac as your computer, the easiest way to add game files to your Steam Deck (regardless of whether you are storing them on the internal storage or a microSD card) is to use a flash drive or external USB hard drive. This is because the Steam Deck can read Windows file systems (like exFAT and NTFS) when in Desktop Mode, but Windows and Macs cannot read Linux file systems. So you will want to move your game files to an external hard drive (or flash drive), then plug that drive into your Steam Deck (usually via a dock or USB-C hub) so you can drag and drop your files into the appropriate folders. You will save yourself a lot of time and headache by using a USB/Bluetooth mouse and keyboard during this step.

Note: you may find that navigating the Linux windows to be unintuitive, because on older SteamOS versions, single-clicking on an object will actually open the file. To change this, open the Settings menu in SteamOS Desktop Mode (on the bottom left), then go to Workspace Behavior > General Behavior > “Clicking files or folders” and change this option to “Selects them”.

Here is where you will want to place your files:

ROMS: Primary/Emulation/roms/ (microSD card method)
BIOS: Primary/Emulation/bios/ (microSD card method)

You can also navigate to these locations by going to:
/run/media/SDCARDNAME/Emulation (microSD card method)

/home/deck/Emulation/roms/ (internal storage method)
/home/deck/Emulation/bios/ (internal storage method)

To find the specific folders, file types, and required BIOS files for each emulator, check out this handy Emulator Cheatsheet or refer to the individual emulator’s page on the EmuDeck wiki. Note that with some emulators, the bios files need to be placed somewhere specific (like the “dc” subfolder for Dreamcast BIOS).

Here is a quick list of the BIOS files I personally use in my EmuDeck setup (and their location):

GAME BOY (for boot logo):

GAME BOY COLOR (for boot logo):

GAME BOY ADVANCE (for boot logo):


GAMECUBE (for boot logo):
see GameCube section below for more info







/Emulation/bios/Complex_4627.bin (modified retail version)


Steam ROM Manager

Once you have added your ROMs and BIOS files to the corresponding folders, it’s time to add our games to the SteamOS experience. We’re going to use a tool called Steam ROM Manager (SRM) to integrate your games with the main SteamOS user interface for the game you want to see directly in your main menu, and then we’ll be able to access the rest via EmulationStation.

Note that using Steam ROM Manager will require you to close out of Steam, which will revert your controls on the Steam Deck “lizard mode” which will have less functionality. You can still get by though, by using the right trackpad as your mouse cursor, L2 to right-click, and R2 to left-click. To make things easier, I recommend using a mouse and keyboard for these steps below.

1. SET UP YOUR PARSERS. Open up EmuDeck then go into Tools & Stuff > SteamRomManager. It will ask you to confirm that you are going to close out of the Steam app and open SRM. Once SRM is open, you will be greeted by the screen you see above, which can be pretty intimidating. Here you just want to go along the left column and toggle off any system you don’t want to appear in your SteamOS interface (it will still show up in EmulationStation, regardless of whether you toggle it on/off here). Pay careful attention to the systems that have multiple parsers, like PSP, Switch, and PS3. For those systems, make sure you pick the emulator you want to use, or in the case of PS3, what type of files you are using.

In general, the fewer systems that you parse the better — remember that these games are going to show up in your SteamOS interface, and you likely don’t want to clutter the UI up. The rest of the systems will appear in EmulationStation. Also note that if you only want one game from a certain system (like a single SNES game) to show up in the SteamOS UI, you will still need to parse the entire SNES catalog — but it’s easy to clean that up in Step #4 below.

2. GENERATE APP LIST. Next, we’re going to click on the “Preview” section at the top left of SRM, and then select “Generate app list”. This will scrub through all the parsers you left toggled on and will match the games against the SteamGridDB database. This will take several minutes depending on the size of your library, you can watch the countdown at the top of the screen as it goes through all the “providers” to grab the assets (artwork) for your games.

Once the app list is complete, you can scroll through your games to see if they all match the ROMs you added. If there is a section of games missing (like 3DS games, for example), it’s likely you either put the ROMs in the wrong place, or used a file type that isn’t compatible with EmuDeck (refer to this sheet to double-check). If there is a mismatch with your game and the artwork, it’s either the file name of your ROM, or the SteamGridDB matched it with the wrong game (it happens often for games that use the same title for multiple games across console generations, like Bionic Commando). I would check your game in the SteamGridDB to see if your naming needs to be changed.

3. CUSTOMIZE YOUR ARTWORK. Now comes the fun part. Here we are going to go through our games list and modify the art to our liking. If you use your mouse to hover over the art, you can see that there are multiple images that you can scroll through until you find the one you like the best. Be sure to do this for multiple art formats; by default you’ll be looking at the “Grid” which is the image you will see in SteamOS when it is the most recent game you’ve played. But if you go to the top of the screen and choose Select type > Posters you will find the common cover art you will see when browsing SteamOS. These are the images that I focus on the most when making adjustments.

If you have a mismatched game or it’s missing artwork, you can add your own by downloading your desired images from SteamGridDB and then saving them onto your Steam Deck. Then you can hover over the game and click the little photo icon on the bottom-left, find the image you downloaded, and add it manually. Additionally, you can fix a mismatched entry via SRM’s “exception” tool (more info here). If it’s a game you don’t plan on adding to your SteamOS interface anyway, you can just ignore it for now.

4. SAVE AND CLEAN YOUR APP LIST. One you are happy with the artwork for your games, let’s save the configuration by clicking “Save app list” near the bottom of the screen. This can take several minutes, and you can click on the Event Log at the top-left to watch your progress. Once the Event Log says “Done adding/removing entries”, you are good to go — exit out of Steam ROM Manager and open up Steam.

In the Library section, on the left side you will see that your games have been added to Steam, and organized by system or emulator. Here, we want to go through and delete all of the games that we DON’T want to see in the SteamOS interface (deleting the game here won’t delete the actual game file, it just deletes its presence in your SteamOS experience). Also note that removing a game will not affect whether it shows in EmulationStation. To remove a game, right-click on it and select Manage > Remove non-Steam game from your library. To make things easier, you can hold CTRL on your keyboard and select multiple games at once, like you would in any other file browser.

Once you’ve removed all the games you don’t want to see in the SteamOS Game Mode, you’re done! You can now exit out of Desktop Mode, jump into Game Mode, and enjoy the fruits of your labors. Of course, your emulation journey has just begun, and so be sure to check out the per-system sections below to make sure that each of your systems are tuned just right for your liking.

EmulationStation Desktop Edition

Adding EmulationStation-DE to your SteamOS experience via EmuDeck is super easy. After running EmuDeck that first time, open up the Steam ROM Manager (see the section above for more details), and then under the Parsers section on the left side, make sure it is toggled ON. In fact, if you want to JUST have ES-DE added to SteamOS and no other games, simply toggle OFF everything but ES-DE in the Parsers section. Here is a visualization of the process courtesy of the EmuDeck wiki.

By default, EmulationStation will prefer specific emulators. To change them out, enter the Main Menu by pressing START > Other Settings > Alternative Emulators and change them as you see fit. These are the emulators I prefer to use with some of the major systems in ES-DE (those that are changed from default 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)

In general, I choose to use RetroArch cores for systems like PS1, N64, and PSP. While you can run standalone emulators and potentially get better performance, I prefer the universal features like hotkeys and RetroAchievements that you can get from using RetroArch cores over having to configure those manually for the standalone emulators. If you want to adjust an emulator for a specific game, hover over the game in the menu, press SELECT > Edit this Game’s Metadata > Alternative Emulator and make the change there.

If you’d like to download additional themes, check out these options from their website. Themes are saved in Home/.emulationstation/themes (you will need to enable hidden files to find the .emulationstation folder). Note that for some themes, you will need to adjust the theme.xml file to adjust the aspect ratio or other theme settings.

It is possible to launch PS3 games from ES-DE, but it’s kind of a pain in the butt. Here is a guide for the process.

One navigation quick tip: to page down in the EmulationStation settings, press the R2 button. This will help you quickly navigate through larger game collections, or to quickly exit ES-DE (press START, R2, A, then A).

Updating EmuDeck and emulators

The EmuDeck platform will periodically have updates to add new features or options. To update, open up EmuDeck and it will find the update, install it, and reboot EmuDeck for you. On their GitHub you can read a changelog of release updates.

Once you have installed EmuDeck, you will have two paths to updating your emulators. Many will be updated individually like you would any other app, using the Discover store’s built-in update tool. Simply boot into Desktop Mode and you will get a little “Up” arrow icon in your bottom-right task bar, you can click on that and install your emulators. You can also open EmuDeck then select “Tools and Stuff” > Update Emulators and Tools > Update Flatpaks to do the same thing.

Other emulators are installed directly from the developer’s website, which is also built into EmuDeck. To update these, open EmuDeck then select “Tools and Stuff” > Update Emulators and Tools > Update AppImages.

Note that when running an update on EmuDeck, it may overwrite any custom configurations you have made. While there is an option in the update script that allows you to choose not to overwrite your settings, it might still happen as apps or EmuDeck go through slight improvements. To ensure your favorite game’s settings persist through updates, it’s sometimes best to make a per-game settings configuration (that process will vary depending on the system you are emulating).

Additionally, an update to EmuDeck or an emulator may sometimes result in unexpected behaviors. This is just how things go with attempting to consolidate the efforts of an entire emulation community into one tool! If you do experience some issues, I would recommend checking out the EmuDeck discord server where others can help resolve the issue.


CryoUtilities is a tool that will allow for some under-the-hood performance tweaks that improve gameplay smoothness for high-end emulators like Yuzu (Nintendo Switch). When used in combination with the PowerTools plugin featured below, you can have improved gameplay with very minimal work. This tool was created by YouTuber CryoByte33, and you can find his in-depth explanation of the tool and its benefits in this video.

To install:

  1. While in Steam Deck’s desktop mode, use a web browser like FireFox and head over to the CryoUtilities GitHub, and download the latest package and save it to your desktop by right-clicking and selecting “Save As” (direct link here).
  2. If you haven’t already, you will need to create a sudo password. To do so, open the Konsole app and type the word “passwd” and press ENTER. It will prompt you to create a system password (or prompt you to change the password if one already exists). Create a password and remember it for later.
  3. Double-click on the icon on your desktop. It will run an install script and create more desktop icons for you.
  4. Open the CryoUtilities app, it will prompt you for the sudo password you just created.
  5. Once in the main menu, you can simply tap the “Recommended” settings button and let the app do the rest of the work. For a longer explanation of the entire suite of settings, check out this video from the developer.
  6. Power off your device, then hold the VOLUME UP button while powering the device on. You can let go of the buttons once you hear the Steam Deck “bloop” sound. This will bring you to the BIOS menu. Using the right trackpad, navigate to “Setup Utility” on the bottom-right, and press the R2 button to click on it. Go to Advanced > UMA Frame Buffer Size and change it from 1G to 4G. Then press the SELECT button and confirm to save the changes and restart your device.

If you ever want to revert back to the stock settings, simply re-open CryoUtilities and click on the “Stock” settings option. You will also need to do the steps demonstrated in Step #6 of the installation process above, reverting the VRAM size back to 1GB.

Note that the recommended CryoUtilities setting will create a 16GB swap file on the internal SSD. If you are using the 64GB Steam Deck, where internal storage is at a premium, this may be a concern. I recommend using a large microSD card for your game storage to improve your storage capacity.

Additional EmuDeck tools

In addition to installing and configuration your favorite retro systems, EmuDeck has some built-in tools that can help your experience, and they can be accessed by opening EmuDeck and navigating to Tools & Stuff.

PowerTools: PowerTools is a plugin that will allow you to tweak specific emulators and games for the best performance. For example, it works really well with Dolphin by allowing you to reduce the number of CPU threads used by the app from 8 to 3 (be sure to also turn SMT OFF), which will make the 3 threads perform at a higher clock speed and provide smooth gameplay.

If using EmuDeck, you can install PowerTools directly in the app. Open EmuDeck and select “Tools & Stuff” > PowerTools and follow the prompts. To install PowerTools manually, you will want to use a tool called Decky Loader, which provides a storefront and installation path for plugins like PowerTools. To install Decky Loader, follow the instructions on their website. Once installed, you should find the plugins menu at the bottom of your Quick Access Menu (QAM) by pressing the “three dots” button while in game mode. From there you can tap on the store icon and find PowerTools. Note that all plugins require sudo access, and EmuDeck or Decky Loader will walk you through the process when necessary.

GyroDSU: GyroDSU is a plugin that unlocks the Steam Deck’s gyro controls to be used in emulators for 3DS, Wii, Wii U, and Switch. To get started, check out this guide from the EmuDeck wiki page.

Note that using plugins can sometimes make the device act sporadically, and crash. For example, when exiting the PowerTools it is better to press the B button on the Steam Deck than to press the QAM (“three dot”) button, which can sometimes cause the Steam Deck to crash.

EmuDeck Compressor: This tool will look through your ROMs and compress them to a compressed format, saving you up to 70% of storage space. PSX, PS2, Sega CD, and Dreamcast games will be converted to CHD format, and GameCube/Wii games will be converted to RVZ format.

BIOS Checker: This tool will check your BIOS folder and let you know if there are any issues. Even if you have BIOS added, they may not pass this check due to not a lower/uppercase mismatch, or might not be the exact file EmuDeck is looking for.

Quick Settings: If you’ve changed your mind about bezels, shaders, or aspect ratios for specific systems, you can use this tool to quickly toggle those options.

SaveBackup: This tool will back up your save games to a cloud service like Google Drive or Dropbox. This tool is in beta and so for now it will only back up your save games. In the future, this tool will also sync with other devices.

Emulator Guides: This section has a drop-down of the different emulators, with some notes about the emulator. The most helpful part of this section is that each emulator has a “Reset configuration” button. So if you muck up your GameCube settings and want to reset them without running the whole EmuDeck update, you can just reset the GameCube settings here.

Reset or Uninstall EmuDeck: If you wish to reset EmuDeck back to default, or uninstall the app altogether, you can also do this via the “Tools & Stuff” section.

Another tool that is helpful but not part of EmuDeck:

VibrantDeck: VibrantDeck is a plugin that allows you to increase the saturation levels on your Steam Deck’s screen. It is installed via the DeckyLoader that will be installed at the same time as PowerTools and GyroDSU. I personally use a VibrantDeck setting of 120.


One of the challenges of emulating games on the Steam Deck is finding a good way to mimic the original controllers for the systems you wish to emulate. EmuDeck will preconfigure the controls for you using the bindings that you see above. If you wish to adjust any of them yourself, you can go into the emulator’s settings and tweak them to your liking.

Note that for some systems (Wii U, 3DS, etc.) you will need to enable a Steam Controller Profile so the hotkeys will work. Let’s use 3DS as an example. All you have to do is boot up a 3DS game while in Steam Deck Game Mode, press the STEAM button > Controller Settings > Current Layout > Template > EmuDeck – Citra 3DS. Note that this must be done ONE TIME for each game, it will remember the profile after that.


App: RetroArch (FlatPak)
File types: varies
BIOS: varies (place in the /Emulation/bios/ folder)
More info: EmuDeck wiki page

RetroArch is an all-in-one emulation program that provides a lot of standardized options, like universal hotkeys, easy cheat implementation, shaders, filters, autosaves, and more. For all of the low-end systems (basically everything up through PSP) I prefer to use RetroArch, but for the harder-to-emulate systems it’s often better to use the standalone emulators. There are also standalone emulators for the systems that run well on RetroArch (PS1, PSP, N64).

For a list of the most common systems support by RetroArch when using EmuDeck, check out this list from the EmuDeck GitHub page. Here you will find the system name and the accepted file extensions, plus any required BIOS files if necessary. An easy solution for BIOS is to search for a “RetroArch BIOS pack” and place all of the BIOS files from the pack in the /Emulation/bios/ folder. These packs likely contain more files than you need, but they will work in a pinch.

Note that RetroArch requires you to be running the Steam Deck at 60Hz. If you are experiencing slowdown the press the QAM (“three dots”) button, go into the Battery (Performance) section, and ensure that the Framerate Limit and Refresh Rate are both set to 60.

Multi-disc games: if you are playing something with multiple discs, the easiest way to manage them is through an m3u file. Here is an excellent tutorial from the EmuDeck wiki page.

PSP system files: If running PSP games from RetroArch, you will need to download PSP system files from within the app itself. Open RetroArch, then go to Main Menu > Online Updater > Core System Files Downloader > — this will download and install the files to make the menus work properly.

N64 image sizes: Due to the nature of N64 video processing, some games will have black bars around the image (this was something baked into certain N64 games). If you’d like to zoom in on the image to remove those borders, press SELECT + Y to bring up the RetroArch quick menu, then press B to back out to the main menu, then select Settings > Video > Scaling > Aspect Ratio and set it to Custom. Then adjust the custom aspect ratio parameters so that the image stretches across the whole screen (or however you’d like). Once you are happy with how it looks, go to Quick Menu > Overrides > Save Game Overrides. Now every time you start that game it will scale correctly.

N64 30fps cap fix: If you are experiencing a 30fps cap on N64 games, you need to disable rewind. Open an N64 game, press SELECT + Y to bring up the RetroArch quick menu, then press B to back out to the main menu, then select Settings > Frame Throttling > Rewind and turn it off and that should fix it. After that, you can go into Quick Menu > Overrides > Save Core Overrides so that all N64 games have rewind disabled.

RetroAchievements: One of the coolest features of RetroArch is that it integrates with RetroAchievements. This is a multi-platform, community-driven tool that will help you track and achieve achievements for your retro games. As part of the EmuDeck installation process you will have an opportunity to integrate your RetroAchievements into the EmuDeck and RetroArch experience. To get started, sign up for a free account on the RetroAchievements website, and then be sure to enter your login details when setting up EmuDeck. If you’ve already installed EmuDeck but want to add RetroAchievements after the fact, no worries — just go back into Desktop Mode, go into Custom Mode and add your login details when prompted.

Here is a list of the most important 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

Note that RetroArch can be quite a complex app to use. EmuDeck will configure most everything for you, and really the experience should be seamless so that you don’t ever have to interact with the RetroArch menus. But if there is something specific you’d like to do with the app, I would recommend checking out my RetroArch Starter Guide for a deeper dive into your options.

Nintendo 3DS

App: Citra (standalone)
File types: .3ds .3dsx .app .axf .cci .cxi .elf
BIOS: Title Keys are needed for encrypted ROM types (aes_keys.txt). For best results, use decrypted ROMs.
More info: EmuDeck wiki page

Enable fast forward: First, let’s remove the throttle on fast forward so it will go as fast as possible. Go to Citra > Emulation > Configure > General and under “Use Alternate Speed”, move the slider all the way to the right so it is “unthrottled”. Be sure to leave the “Use Alternate Speed” option unchecked. Next, go into Citra > Emulation > Configure > Controls > Hotkeys and set the Toggle Alternate Speed to a keyboard key (like the number 9). You will need to bring up the Steam Deck onscreen keyboard to add that key (press STEAM + X to bring it up). Open a 3DS game, make sure the Citra 3DS controller profile is loaded, then go to STEAM > Controller Settings and select select “Edit Layout”. Go to Joysticks > R3 Click and set it to Keyboard > 9 (or whatever key you chose). Back out to the game and now every time you press R3 it will toggle on/off the fast forward. You will need to edit the controller profile for each game individually until this is integrated into EmuDeck.

Exit a game: To exit a game, press and hold R5 for a few seconds.

Improved visuals: By default, EmuDeck sets the resolution to 2x scaling, but many games will play great at 3x and look even sharper. However, some games may run too slowly, and unfortunately there is no way in Citra to have per-game settings. If you want to try a game at 3X resolution, press L4 to bring up the Menu Bar, then go to Emulation > Configure > Graphics > Internal Resolution > 3x and see if the game performs well. Just be sure to go back and change it to 2x for other games as needed.

Controls: The EmuDeck version of Citra doesn’t have hotkeys the way we’d expect them to be. Thankfully, the team has created a controller profile for the system and it auto-loads when you install EmuDeck. All you have to do is boot up a 3DS game while in Steam Deck Game Mode, press the STEAM button > Controller Settings > Current Layout > Template > EmuDeck – Citra 3DS. Now you can press L4 to toggle Full Screen, R4 to swap screens, L5 to toggle the layout, and R5 to exit a game (press and hold for a few seconds). This only needs to be done once per game.

In addition to the hotkeys you see above, there is a handy radial quick menu to access functions like Fast Forward, Save States, and more. To activate this menu, simply slide your thumb on the left trackpad:


  • You can use .cia files but they will need to be installed in Citra before use. These files are not put in the ROMS folder and won’t be compatible with Steam ROM Manager or EmulationStation. For best results, use other file types, like unencrypted .3ds files.
  • For information on how to dump 3DS ROMs from a modded 3DS, check out the Citra FAQ.
  • The default Fast Forward speed is 500%. If you would like to adjust it, go into Configure > General and adjust the alternative speed to your liking.
  • It is possible to add gyro controls using SteamDeckGyroDSU. Here are instructions on how to get it set up.

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 (more info below)
More info: EmuDeck wiki page

PowerTools plugin: Some games will not run at full speed by default, due to how the Steam Deck handles its cores when running the program. To fix this, you will need to run the PowerTools plugin. See the PowerTools section for more info. In addition to using this plugin, you can open up the QAM (“three button”) menu, enable Advance View, and enable Manual GPU Clock Control and set it to 1200.

Gecko and Action Replay codes: There are many codes available that can enhance your gameplay experience on the GameCube. To get started, open Dolphin while in Desktop Mode and select Options > Configuration > General and ensure that “Enable Cheats” is checked. Next, load your games into the Dolphin interface if they’re not already showing. To do so, go to Options > Configuration > Paths and add the paths to your GameCube folder. It will be located at /run/media/mmcblk0p1/Emulation/roms/gc if you installed EmuDeck on your SD card. Now, in the main Dolphin menu you can right-click on the game and choose Properties, and there you will see tabs for AR (Action Replay) and Gecko codes. For many games these will be pre-populated with cheat codes that you can simply select to enable.

To add your own codes, search the name of the affected game within the Dolphin wiki to see what codes are available, then copy the text of the code you want to try. For example, here is the 60fps patch for Super Mario Sunshine. In the Properties section of the game (either in the AR or Gecko code tab depending on what type of code it is), choose “Add New Code” and then give it a Name (like “60fps patch”) and then past the code into the code section (just the code, not the name of the code from the Wiki code snippet). Press “Save” and now it should be a code you can select in that tab.

Widescreen hack: When setting up EmuDeck, there will be an option to enable the Widescreen Hack for GameCube games. This will work great for many games, but some, like Super Mario Sunshine, will have distortion on the sides. There are sometimes fixes available via Gecko or Action Replay codes, and they may already be pre-added to your game properties (see the section above about setting them up). Other codes can be found by searching the name of the affected game within the Dolphin wiki (for example, here is the 16:9 fix for Super Mario Sunshine), and you will have to add them yourself (instructions in the section above). Note that many 16:9 Gecko code fixes require you to turn OFF the widescreen hack that is enabled by default in EmuDeck. To disable the widescreen hack for a certain game, you can toggle the aspect ratio by pressing START + RIGHT on the d-pad.

Improved visuals: By default, EmuDeck will display games at a 2x resolution. If you would like to increase or decrease the resolution, you can press START + UP or START + DOWN on the d-pad. The difference between 2x and 3x resolution is indiscernible for most games when playing on the Steam Deck’s screen, but 3x resolution may look better when playing with the Steam Deck docked to an external display.

Boot logo: It is possible to see the GameCube boot logo when starting a game. First, you will need to source your own GameCube BIOS files. They will often be named something like “gc-ntsc-12.bin”, but rename it to “IPL.bin”. Then place the IPL.bin file in the GameCube system folder while in Steam Deck Desktop Mode (you will need to press CTRL+H to see hidden files to access this folder):


Next, close Dolphin and restart it. Now go to Options > Configuration > GameCube and uncheck the box that says “Skip Main Menu” (if it is grayed out then there is an issue with your IPL.bin file or its location). Now when you open a GameCube game you will see the boot logo first. If you are getting a stretched image during the boot animation, make sure that Options > Graphics Settings > Hacks > Immediately Present XFB is turned OFF.

Controller profiles: Some games have controls that have aged poorly, namely for camera controls with a reversed X/Y axes on the right analog stick. You can offset this by making a new controller profile with reversed X/Y values on the right analog stick. Go into Dolphin > Options > Controller Settings > Port 1 (Standard Controller) > Configure, and remap the X/Y axes on your right stick to their opposite direction. Then in the “Profile” section on the top right, give it a simple name (like “reverse”) and click Save.

Now if you have a game where you want reversed X/Y camera controls, open Dolphin, right-click on the game then select Properties > Game Config > Editor and under “User Config”, type the following:

PadProfile1 = GC_reverse_camera

This method could be done for any number of controller tweaks, like specific button mapping, etc.

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

For most of the Wii options, see the GameCube section above, since they use the same emulator.

PowerTools plugin: Some games will not run at full speed by default, due to how the Steam Deck handles its cores when running the program. To fix this, you will need to run the PowerTools plugin. See the PowerTools section for more info. In addition to using this plugin, you can open up the QAM (“three button”) menu, enable Advance View, and enable Manual GPU Clock Control and set it to 1200.

Wii system menu: Open Dolphin in Desktop Mode, then go to Tools > Perform Online System Update > United States (or your preferred region). Next, go to Tools > Load Wii System Menu (4.3U) and perform the initial setup (not that by selecting 16:9 aspect ratio it will make it hard to reach the sides of the screen with your pointer). If you have .wad file types for your Wii Virtual Console or WiiWare games and would like to have them added to your Wii menu, you can go into Tool > Install WAD and choose them from there. Note that this is mostly just a parlor trick since there is no way to enter the Wii Menu from the Steam Deck Game Mode. For more in-depth coverage check out this helpful video from Archades Games.

Wiimote control schemes: EmuDeck will pre-install several control profiles on your device, you can toggle between them by pressing SELECT + LEFT or RIGHT on the left analog stick. Each Wii game accepts different control profiles, and while most control schemes can be handled by the profiles above, some games that require full Wii motion controls (Wii Sports, for example) won’t be fully playable on the Steam Deck using these profiles. Instead, try to focus on games that have nunchuck, Classic Controller, or GameCube controller support. Here is a list of games that support the Classic Controller.

Note that these control schemes above aren’t definitive; if you’d like an alternative layout, you can enter the settings and adjust the controller profiles as you wish. For example, this layout was recommended by YT commenter MeowtheMouse:

C = L1
Z = L2
A = A
B = R2
1 = B
2 = Y
Shake = R1

Gyro controls: It is possible to add gyro controls using SteamDeckGyroDSU. Here are instructions on how to get it set up.


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 fork of Dolphin made specifically for playing the Metroid Prime games. For best results, I recommend using the Metroid Prime Trilogy Wii game, which will be placed in the Emulation/roms/primehacks folder of your SD card (or internally if that’s where you installed EmuDeck).

PowerTools plugin: Some games will not run at full speed by default, due to how the Steam Deck handles its cores when running the program. To fix this, you will need to run the PowerTools plugin. See the PowerTools section for more info. In addition to using this plugin, you can open up the QAM (“three button”) menu, enable Advance View, and enable Manual GPU Clock Control and set it to 1200.

HD textures: There are some HD textures already installed on the EmuDeck version of PrimeHack, but if you want to add more, I recommend checking out my PrimeHack (Windows) guide, the process is the same. Texture packs should be placed in the following folder:


Note: The folder .var is going to be hidden by default. In Dolphin (file manager), click the hamburger menu in the top right, click “view hidden files” to see hidden files and folders.

Here are the specific controls for PrimeHack.

Wii U

App: Cemu
File types: .rpx .wud .wux .wua .elf .iso .wad
BIOS: Title Keys (place them in Emulation/roms/wiiu/keys.txt) for WUD/WUX files
More info: EmuDeck wiki page

Cemu is a Windows application that can be run on the Steam Deck. Thanks to some clever tricks done by EmuDeck, it will automatically work on the Steam Deck — no need to configure Proton. When making adjustments to the Cemu app, you will want to do it in Desktop Mode so that you can see all of the menus. It will be labeled as “Cemu EmuDeck”.

Adding games: There are a variety of files that can be used to play Wii U games, and the setup process for each is unique:

  • RPX (Loadiine) – these are packaged in three folders (code, content, and meta), and are the easiest to find and use via tools like USBHelper. For these, you will want to make a folder with the name of the game, and then put the three folders inside. The main game folder should go in Emulation/roms/wiiu/roms (note this is a second “roms” subfolder). These files are not encrypted and do not require the keys.txt file.
  • WUA – these are compressed files made from RPX or other file types, they are unencrypted and my favorite file type to use. Check out my compression guide on how to create them yourself.
  • WUD/WUX – these are full-disc dumps of the Wii U game, contained in a single file. They are encrypted and will require the keys.txt file, which you must find on your own or dump from a hacked Wii U console.
  • NUS – this file type comes with a folder containing a bunch of .h3 and .app files. They are encrypted but can be decrypted into RPX files. In most cases, it is best to just use RPX files (and convert them to WUA).

DLC and updates: DLC and title updates are installed directly in the Cemu app using the Desktop Mode. The DLC/update should have the same three-folder structure (code, content, meta) as RPX game files. Place the DLC/update folder in the Emulation/roms/wiiu folder (I place them in subfolders named UPDATES and DLC). Open up Cemu and select File > Install game title, update, or DLC and then a Windows interface will pop up. Check the drive letters until you find one that looks like your SD card structure (it’s often the D: drive), then navigate to your DLC/update location and open either the meta.xml file or the main DLC/update folder.

Gyro controls: It is possible to add gyro controls using SteamDeckGyroDSU. Here are instructions on how to get it set up.

Graphics packs: One of the most important aspects of running Cemu properly is to use graphics packs. Once you have your games loaded, go into Options > Graphics Packs and click the button on the bottom-right that says “Download latest community graphics packs”. You should then see the graphics packs for each game you have installed. Be sure to go into the Graphics section for each game and see if there is an option to set the aspect ratio to 16:10 and the resolution to 1280×800 to match the Steam Deck’s display. Here are some of my preferred 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 (for best 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 > (whatever you'd like!)
Mods > Xbox Controller Button Layout > ON
Mods > FPS++ > Mode > Advanced Settings
Mods > FPS++ > Framerate Limit > 40fps
(also set the Framerate to 40 in the Steam QAM settings)

Controls: The EmuDeck version of Cemu is (currently) running the Windows version of the app, which unfortunately doesn’t have hotkeys the way we’d expect them to be. Thankfully, the team has created a controller profile for the system and it auto-loads when you install EmuDeck. All you have to do is boot up a Wii U game while in Steam Deck Game Mode, press the STEAM button > Controller Settings > Current Layout > Template > EmuDeck – Cemu. Now you can press the R4 button to see the gamepad screen, and SELECT + START to exit a game.

Nintendo Switch

App: Yuzu
File types: .kp .nca .nro .nso .nsp .xci
BIOS: Prod keys go in Emulation/bios/yuzu/keys
More info: EmuDeck wiki page

There are two Switch emulators available for the Steam Deck, Yuzu and Ryujinx. We are going to focus on Yuzu in this guide, but here is a helpful page on Ryujinx if you want to try that one out instead.

Obtaining game files: It is recommended you dump your own game files from a modded Nintendo Switch. Here are instructions on how to do so. Additionally, you can dump your prod.keys file from the Switch by following these instructions.

For best results, use game files that are in NSP or XCI format. There is a tool called Switch Army Knife (SAK) that will convert XCI or NSZ formats to NSP. You can also use this tool to patch your game files with title updates so that you don’t have to load them individually. Files with special characters in the name will not launch from Steam (for example, é in Pokémon), so be sure to rename your ROMs as needed.

DLC and updates: DLC and title updates are installed directly in the Yuzu app using the Desktop Mode. For best results, use DLC/updates that are in NSP format. Note that these files should NOT be loaded to the Emulation/roms/switch folder or they will appear as additional game files in Steam ROM Manger (personally I store mine in the Emulation/roms/bios/yuzu folder). Open up Yuzu and select File > Install Files to NAND… and navigate to wherever you placed your DLC/update files. You can select all of them at once, which will speed up the process. After the installation is complete, you can remove those NSP files from your Steam Deck.

Yuzu cheats/mods: Yuzu’s webpage has a list of cheats and mods you can apply to your games. To get started, scroll through the list and download whatever files you want. Next, unzip the file so that you have a single folder with an exefs subfolder. Copy that main folder and then right-click on the name of the game within the Yuzu main menu and select “Open Mod Data Location”. Paste that mod folder inside and you are good to go. You can verify that mods/cheats are installed by right-clicking on the game and selecting Properties; the cheats/mods should appear in the “Add-Ons” tab, and you can disable them here if you’re like.

Note that some cheats/mods may require special versions of each game. For example, The Legend of Zelda: Link’s Awakening has a “Stable 60fps” mod that only works in version 1.0.0 of the game. You can check these versions my looking at the “Applies To” column on the Yuzu mods page. If you have updated your version of the game to 1.0.1, you can go into Yuzu, right-click on the game, select Properties, and uncheck the 1.0.1 update to revert to the 1.0.0 version.

Performance and compatibility: Many games will run fine using the default EmuDeck settings. For some specific per-game recommendations, check out this Steam Deck emulation database. To create per-game configurations, right-click on the game while in the main Yuzu menu, and select Properties — here you can adjust resolution, VSync, and accuracy levels. Some games simply don’t work well on the emulator, which you can check in the “Compatibility” column in the app itself, or via Yuzu’s compatibility page.

Most Switch games will also benefit from turning off SMT (simultaneous multi-threading) via the PowerTools plugin. This will reduce the nubmer of threads used from 8 to 4, while also boosting the performance of those 4 threads to achieve smoother frame rates. This setting can be saved on a per-game basis by toggling SMT off while the game is running, then scroll down in the PowerTools menu and choose Persistent Profile: ON.

Additionally, you can manually set the GPU Clock Control by opening a game, pressing the QAM button to bring up the right menu, then go to the battery icon > Manual GPU Clock Control > ON, and then set the GPU clock frequency to a figure between 1300 and 1600. You will want to experiment to find the frequency that works best for your game, but I generally will start at 1300 and increase it by 100 until I find one that gives me the most consistent performance.

Gyro controls: It is possible to add gyro controls using SteamDeckGyroDSU. Here are instructions on how to get it set up.

PS Vita

App: Vita3k
File types: NoNpDRM dumps via VitaShell
BIOS: PS Vita firmware

It is possible to emulate PS Vita games on the Steam Deck, but it is something I haven’t had a chance to test yet. You can read through the Vita3k Quickstart guide which also includes instructions on how to dump games from your jailbroken PS Vita. If you’d like to learn how to jailbreak your PS Vita, check out my guide here.

As soon as I test it I will update this guide! In the meantime, here is a showcase from ETA Prime.


App: DuckStation
File types: .cue .chd .ecm .iso .m3u .mds .pbp
BIOS: scph5501.bin or similar (lowercase!) in the /Emulation/bios/ folder
More info: EmuDeck wiki page

The PlayStation can play just fine on RetroArch with all the bells and whistles, but the standalone Duckstation emulator is excellent, too. It also has a sweet radial Quick Menu that can be activated by scrolling the left trackpad near the bottom-left which makes navigation super easy. You can see a demonstration image of a similar menu in the 3DS/Citra section above. Be sure to enable the PS1 controller profile to access the Quick Menu.

To manage multiple discs, you can either create an .m3u file or you can convert multi-disc PSX games to .pbp file format. Instructions for both are available via the EmuDeck wiki. If you only have .bin files for your PSX games, you can generate .cue files for them using this handy tool.

PlayStation 2

App: PCSX2-Qt (see note below)
File types: .chd .cso .gz .img .iso
BIOS: see below
More info: EmuDeck wiki page

When installing EmuDeck, it will install two different versions of PCSX2: the stable “PCSX2” build and the nightly “PCSX2-Qt EmuDeck”. The latter is the default, and will provide frequent updates and has a nice graphical interface.

PS2 BIOS: There are many BIOS file sets to use with the PS2, I personally use this set from the PS2 slim model. Place all of them directly into the /Emulation/bios folder.


Widescreen hacks: To enable widescreen hacks, open PCSX2-qt and go into Settings > Emulation and turn on “Enable Cheats” and “Enable Widescreen Patches”. You can use the updated hotkeys to cycle the Aspect Ratio for the best fit for your game. Also go into the settings menu of the game itself, many PS2 games had widescreen support built-in.

Faster Fast Forward: By default, PCSX2 fast forward is 500%, but you can remove that limit by going into Settings > Emulation and change “Fast Forward Speed” to “Unlimited”. The default EmuDeck fast forward hotkey is SELECT + R2. If the fast forward hotkey doesn’t appear to work, go into the QAM (“three dot”) settings on your Steam Deck, then Performance > Advanced View > Framerate Limit > OFF.

Improved visuals: If you go into Settings > Graphics you have some options that can improve the graphical fidelity of the PS2 gaming experience. I recommend the following:

Rendering tab / Anisotropic Filtering: 8x
OSD tab / Shade Boost: ON
OSD tab / Saturation: 75
OSD tab / FXAA: ON

Additionally, although EmuDeck is set to a default 2x rendering resolution, a 3x resolution looks significantly better (thanks to an effect known as “supersampling“) and just about every game will play great at that resolution. Press START + UP on the d-pad to increase the resolution while playing a game (and START + DOWN to reduce it).

Controller profile: Some games may have the old-school reversed horizontal camera (like Jak & Daxter) and no option in the game settings to reverse them. Instead, what you can do is go into Settings > Controllers and on the bottom-right there is a button for “New Profile”. Choose that, name it however you would like, and choose to load the current profile (called “Shared”). Then go in and change the right analog stick mapping, and exit out of the window and the app. Now to set this to a specific game, we will use a per-game setting, which is our next topic.

Per-game settings: If you want to tweak something specific to a game, you can open PCSX2-Qt EmuDeck, right-click on the game and select Properties. For example, you can change the default resolution, reduce anisotropic filtering, or load a specific controller profile for that game.

Boot logo: If you would like to see the full PS2 boot logo when starting a game, go to Settings > BIOS and uncheck the “Fast Boot” option.

PlayStation 3

App: RPCS3
File types: /PS3_GAME/USRDIR/eboot.bin or .pkg (and .rap) files installed in RPCS3 (more info below)
BIOS: PS3 firmware
More info: EmuDeck wiki page

BIOS installation: To add the BIOS, you need to download the PS3 firmware update file and install it directly in the app. To do so, open up RPCS3 while in Desktop Mode, then select File > Install Firmware and find the PS3 file you downloaded. After you have installed it, you can delete the downloaded file. For more detailed instructions, check out the RPCS Quickstart guide.

Game files: there are two main types of PS3 game files you can use with EmuDeck, extracted ISO/PSN files, or .pkg/rap files.

  • Extracted ISO/PSN files. These data files will come in a format that looks like (Name of Game)/PS3_GAME/USRDIR/eboot.bin (along with a bunch of other files in the USRDIR folder). To install these, place the (Name of Game) folders in the /Emulation/roms/ps3 folder and when selecting your parsers in Steam ROM Manager, choose the one that is called “RPCS3 (Extracted ISO/PSN)”.
  • Installed PKG files. If you have .pkg files ripped from the PSN store, these will need to be installed directly in the RPCS3 application. Simply choose File > Install Packages/Raps/Edats and find the file, or drag and drop the .pkg file into the main emulator window. This will install the games to the Emulation/storage/rpcs3/dev_hdd0/game/ folder wherever you installed EmuDeck. After they have been installed, you can delete the pkg files. Note that in order to open some pkg installations, you need to install the accompanying .rap files that should be a part of your .pkg extraction. If you don’t have those, you will need to use a tool like PSNDLv4 to find them. Once they are installed, be sure to select the “RPCS3 (Installed PKG)” parser option in the Steam ROM Manager.
  • If you want to dump your own PS3 files from discs or the PSN, check out the RPCS3 Quickstart guide.

If you would like to add your PS3 games to EmulationStation, follow these instructions from the EmuDeck wiki.

Note that many games won’t work properly in RPCS3, and performance on the Steam Deck can be quite limiting. For best results, consult the RPCS3 compatibility list and see if your desired game is running well, or if there are any specific tweaks that could boost performance.


App: Xemu
File types: .iso (xiso formatted, see note below)
BIOS: mcpx_1.0.bin and modified retail “COMPLEX 4627” BIOS (place in /Emuation/bios)
More info: EmuDeck wiki page

Prepare your game files: Xbox .iso files need to be formatted to “xiso” in order to run in Xemu. The resulting file will still be an .iso file, but will now work in the emulator. I prefer to use the extract-iso tool to do this, and there are some excellent instructions on the EmuDeck wiki to set this up.

BIOS files: the EmuDeck installation process will already pre-install Xemu’s Xbox HDD image requirement, but you will need to add the MCPX Boot ROM and BIOS Flash ROM images yourself, directly in the /Emulation/bios folder. Here is more information about those BIOS files. If after adding the BIOS files the emulator doesn’t recognize them, it is likely a naming issue. To fix this, navigate to Machine > System and then point the application directly to your BIOS files.

Performance and compatibility: Xbox emulation on the Steam Deck is unfortunately not perfect. To see whether a game will be compatible with the Xemu emulator, check out their compatibility list. If the game is compatible, is will likely play at an acceptable level when using an Internal Resolution Scale of 1x (the default set by EmuDeck). Some games may run at a 2x resolution; to set this, press SELECT + START to bring up the Quick Menu, then navigate to Settings > All Settings.

Widescreen: Some games support widescreen or 4:3 aspect ratios. By default the Xbox display will be set to stretch the entire screen. You should be able to go into the individual games’ settings and toggle on widescreen support if they have it. For others, you may want to play the game in 4:3 aspect ratio. To set this, press SELECT + START to bring up the Quick Menu, then navigate to Settings > Display Mode to toggle the options.

Note that the white and black buttons are mapped to L1 and R1 respectively on the Steam Deck.

Xbox 360

App: Xenia
File types: .iso (check out my guide on how to rip them from an Xbox 360)
BIOS: none required
More info: Xenia quickstart guide

Xenia is in an experimental stage and not many games will play right now. If you want to install it, it is available via EmuDeck by going to Tools & Stuff > Emulator Guides > Xenia (screenshot below).


RetroDeck is an all-in-one emulation solution that uses EmulationStation as its main interface. Because it is self-contained, it will behave as a single app with all of its emulators pre-installed and configured. This is a great solution if you just want a simple emulation experience that you can access directly from your SteamOS environment. Moreover, the app is available directly in the Discover app via Desktop Mode on your Steam Deck, making the installation process super easy.

This app is in active development and not considered a full release. As such, I would treat it like a beta program until the final build is available, and expect new features to be added and removed as development continues.


Batocera is a custom Linux operating system that is focused on game emulation. It uses EmulationStation as its frontend, and has been in development for many years across many platforms, making it a very refined experience. It is also in active development, with several significant releases every year.

One advantage of Batocera over the others is that it is completely self-contained and bootable from a variety of formats. This means you can load Batocera on a microSD card, flash drive, or external hard drive and boot it from there. As an example, you could use your Steam Deck primarily for PC games, and when you are ready to do some emulation, you can just add the Batocera SD card, boot into the card (see the video above for a demonstration), and start playing games. This is an excellent setup if you want to separate your SteamOS PC gaming experience and your retro game emulation.

Another advantage of Batocera is that it has comprehensive guides thanks to its long development history, and an active discord server for any more challenging issues. For a complete list of systems that you can run on Batocera, check out their systems table list. Note that as of making this guide, Yuzu (Switch) must be manually installed.

Note that Batocera is currently in a beta state on the Steam Deck, but it is very stable and will only get better.


– updated Wii U section to link to WUA compression guide

– added CryoUtilities section
– updated Switch section to further explain SMT and GPU clock control

– added section about re-linking the SD card for use when in Game Mode

– added screenshot of Xenia installation option
– fixed wording about PCSX2-Qt as the default emulator

– added link to ES-DE themes
– added note about fixing the 30fps cap in N64

– added note about N64 image sizes in the RetroArch section

– published guide

Super Console (KinHank) Arcade Stick Setup Guide

Super Console (KinHank) Arcade Stick Setup Guide

Last updated: 06SEP2022

The Super Console Arcade Stick from KinHank is one of my family’s favorite gaming devices of 2022, and so in this guide I will show you how to load it up with a clean copy of EmuELEC 4.3, add your own game library, and then tailor it for the best experience possible.

Buy one via AliExpress or Amazon
Replacement arcade buttons via AliExpress or Amazon

Continue reading “Super Console (KinHank) Arcade Stick Setup Guide”

AYN Odin Starter Guide

AYN Odin Starter Guide

Last updated: 13APR2023 (see Changelog for details)

The AYN Odin is a device that has caught the handheld gaming world by storm — it is relatively affordable, has excellent build quality, and provides performance that surpasses its peers in the same price range. Shipping delays have plagued its launch, but as more units are finally reaching their owners, let’s do a Starter Guide to walk you through the setup process.

This guide will work on the AYN Odin Pro, Base, or Lite model.

The Odin is at a strange junction in the gaming world: its price and performance have drawn interest from those who are not veterans of the emulation community, and some reviews fail to emphasize that this device is not plug-and-play out of the box. This guide is meant to help you along in that initial setup and configuration, so that you can get to gaming.

Android Starter Guide
RetroArch Starter Guide

Because the AYN Odin runs on an Android platform, setting up the device is similar to setting up any other Android device for the purpose of game emulation. I already have complete Android and RetroArch guides on this website, which will serve as the foundation of setting up your Odin. There are some unique setup aspects for the Odin which we’ll cover in this guide, to complement the two guides above, but I would highly encourage you to check out those two guides as well.

Continue reading “AYN Odin Starter Guide”

RetroArch Starter Guide

RetroArch Starter Guide

Last updated: 28FEB2022 (see Changelog for details)

RetroArch is one of my favorite programs to use for retro game emulation, because it can emulate many systems. But it does have quite a steep learning curve. In this guide I’m going to demystify some of the more peculiar things about this emulation frontend, and show you how I set up RetroArch on my own gaming platforms.

This guide is meant to help you get set up with various RetroArch iterations. The video will primarily be done on Windows PC, but the same method will apply to MacOS, Linux, Android, iOS, Vita, and Xbox platforms, and more.

RetroArch really shines on retro systems, particularly PlayStation 1 and below games. For more modern consoles, it is often more efficient to rely on standalone emulators, which are generally more optimized than RetroArch. However, if you are using a system that relies primarily on RetroArch for emulation (like Xbox), or you have a beefy PC that can run well regardless of optimizations, you may find success in emulating higher-end systems in RetroArch, too.

Continue reading “RetroArch Starter Guide”