Don't tell my boss, but a PlayStation 2 JRPG almost derailed my Steam Deck review. I was prepared to put in some long gaming hours to write about gaming on the Deck, but I wasn't prepared for 15-year-old games to keep distracting me away from my Steam library. I had to tear myself away to play other games on the Steam Deck, and every time I returned to Persona 3 I got a new jolt of excitement because it just worked so damn well.
Last year I talked to emulator developers about the raw potential of the Steam Deck's hardware, and sure enough, it delivers the power and performance we hoped for. But more importantly, getting emulators running on the Steam Deck is trivially easy—even if you don't know a thing about Linux. The software experience is better than I could've hoped. While Valve is focused on getting as much of the Steam library as possible to run well on the Deck, I'm psyched to use the Steam Deck as a portable vessel for the last 30 years of console games. It really is a phenomenal emulation device.
Setting up emulators on the Steam Deck is really easy
If you don't use Linux, you probably think of it as a complicated—or at least tedious—operating system. I don't blame you if you don't want to use the command line to install programs or fix problems (though I promise Linux is not actually that scary). But here's the good news: you don't have to go anywhere near a terminal to install emulators on the Steam Deck or to get them working within Steam itself.
Holding down the power button on the Steam Deck brings up a small menu that includes a "Switch to desktop" option. This leaves behind the SteamOS interface and plops you down on a classic desktop running on top of Arch Linux. I started looking up terminal commands to install programs in Arch before finding out I was completely wasting my time. This desktop comes with a pre-installed app store just like macOS and Windows (except everything here is free). It's called Discover, and it's conveniently pinned to the taskbar.
And all the emulators I wanted are in there, installable with a click:
- Dolphin, for GameCube/Wii
- DuckStation, for PlayStation 1
- PCSX2, for PlayStation 2
- PPSSPP, for PlayStation Portable
- Yuzu, for Nintendo Switch
- bsnes, for the Super Nintendo
There are some other emulators available in Discover, too, including mGBA for the Game Boy Advance and Citra for the 3DS. The best bit is that these aren't just one-off executables you're installing—when new builds of the emulators are released, you can update with a single click, too. It's honestly a godsend. Because of the way Valve set up the partitions and file permissions on the Deck, installing emulators or any other software via the terminal is pretty locked down unless you have some serious Linux skills.
Once I had my chosen emulators installed, I launched the desktop version of Steam and used the "Games > Add a non-Steam game to my library" menu to add each emulator to Steam so that I could access it from the SteamOS interface. (One note here if you're also installing Duckstation: it has two interfaces, and "DuckStationNoGUI" is the one you want to add to Steam. It's built to play nice with controllers.)
That's almost everything you have to do on the desktop. The last step is to copy over whatever games, BIOS files, memory card saves, etc. you want to use on the Steam Deck. Then you can reboot the system and jump back into SteamOS.
Using emulators in SteamOS
Once you're back in the Steam Deck's primary interface you'll find the emulators in your library, where they more or less work like any other game. Most importantly, this means they can take advantage of the Steam Deck's biggest perks:
- Most of the emulators will automatically recognize your gamepad, making input bindings easy or outright unnecessary
- The Steam controller configurator provides all the extra customization you need
- You can press the power button at any time to put the Steam Deck to sleep and your game will still work when you wake it up, even in an emulator
- The Steam menu and quick settings overlays still work
- You can press the Steam button + R1 to take screenshots
Of the ones I installed, Duckstation and PPSSPP have controller-friendly interfaces, so I could use the D-pad and face buttons to bounce around the menus as soon as I booted them up. For Dolphin, PCSX2 and Bsnes, I launched the emulators and then customized a Steam controller profile to allow me to use mouse input to set things up. Here's my basic setup:
- Gamepad with Mouse Trackpad
- Back Grips enabled
- Back grips set to Left Mouse Click, Right Mouse Click, and Middle Mouse Click
This lets you use the right trackpad as a mouse and the grip buttons on the back of the Steam Deck as your mouse clicks for navigating the emulator menus. And this way there's no conflict with the controller bindings you'll want to set for each emulator.
If you want to get fancy you can add a keyboard binding to the last open back grip and the left trackpad, or even configure an "action set" where you hold one button down to give a whole bunch of other buttons secondary keybinds. If you want hotkeys for saving and loading savestates to multiple slots, for example, that's doable with a little extra work.
One other thing you'll need to do in each emulator is make sure that games are set to open in fullscreen. In Dolphin, I ran into an issue where the game render window and the Dolphin menu window were fighting each other for control, leading to a really annoying flickering problem. Easily fixed: Under Config > Interface Settings, check the "Keep Window on Top" box for the render window.
My emulation gaming experience has been great so far
There are some retro games I love emulating on my PC and rendering at 4K because their graphics hold up so incredibly well—look at how amazing the Wii's Super Mario Galaxy 2 and Zelda: Skyward Sword are at hi-res, for example. I took these screenshots via Dolphin on my PC years ago.
This from a system that could only render at 480p!
Many old games can't upscale that well, though. Increased resolutions can break the cohesion of a game's art style, sometimes giving you super sharp 3D against blurry 2D backgrounds, for example. The Steam Deck's screen size and resolution is perfect for those games. In Dolphin and PCSX2 I'm running at 2X native resolution with added anti-aliasing and anisotropic filtering, which means games are running at about the native resolution of the 1280x800 display. The Steam Deck's GPU could probably handle running most PS2/GameCube emulation at a much higher resolution for added sharpness, but on this size screen I doubt I'd notice a substantial difference, and I'd just be burning battery life by making the GPU work harder.
On Dolphin I spent the most time playing Metroid Prime, which runs at a stable 60 fps and still has incredible atmosphere 20 years later. I sure wish I could use the right stick to look around, though—maybe a year from now I'll be emulating the Switch version of a Metroid Prime HD port that adds twin-stick controls?
On PCSX2 I put a dozen hours into Persona 3 FES, which also ran at a perfect 60 fps. Emulation, at least of these older systems, is one place where the Steam Deck's battery life is not an issue. Here's the takeaway from these two games:
5:30 predicted battery life at ~60% brightness
About 9 watts power draw (10 watts in a large boss fight arena)
90%-100% typical GPU usage
20-30% typical CPU usage
Persona 3 FES
6:30 predicted battery life
About 7-8 watts power draw
Fluctuating GPU usage, often ~80%
20-25% typical CPU usage
If you primarily use the Steam Deck as a retro emulation machine, I'd guess that four hours of battery life is going to be your floor, with up to eight hours of battery life for even older systems or lower brightness levels. When emulating PS1 game Dr. Slump through Duckstation, the Steam Deck predicted 7:30 hours of battery life at around 60% brightness.
Not every game I tried was a complete success. Mario Galaxy 2 unfortunately couldn't run at full speed—it's known for being one of the Wii's most demanding games. At 2x internal resolution the game would slow down from about 60 fps to 45 fps, leading to unplayable stuttering; at 1x internal resolution it was better, but still slowed down to ~55 fps in the opening scene. Those kinds of framerate fluctuations are fine in a PC game but in an emulator, they mean massive slowdown.
Based on talking to a couple Dolphin developers, I think there's a good chance Galaxy 2 isn't butting up against a raw power ceiling on the Steam Deck. Driver optimizations may be able to speed up performance enough for the game to hit a stable 60 fps, but that's going to take time.
I ran into a few other issues here and there that were simply quirks of emulation and not unique to the Steam Deck, but on the whole it's been as smooth as I could've hoped. The one emulator I didn't test is Yuzu, simply because I don't have any Switch games ripped (guess I have some jailbreaking to do). But I now have Super Nintendo, PS1, PS2, PSP, GameCube and Wii games on a portable device with the power to play (almost) all of them, and this is before emulator developers have a chance to test the Steam Deck themselves. It's a damn good start.