Steam Deck Info

Written on 2022-03-19, Updated 2022-03-27

Preface

This webpage aims to compile some basic information and observations about the Steam Deck, as I found the official website lacked detail and information about the software. While this is not a review of the Steam Deck, I’ll comment on things if I feel they need context.

I’m also gearing this to be understandable to a moderately tech-savvy PC gamer. While I expect you to know what things like “SSD”, “key bindings”, and “anti-cheat” mean, I’m not expecting you to know what “POSIX API”, “immutable filesystem”, or “desktop environment” mean.

Disclaimer

I am not an expert on the Steam Deck, nor do I have any hardware/software expertise relevant to the Steam Deck. I’m obviously not trying to mislead anyone, but it’s possible that I’ve gotten some details wrong or oversimplified something.

Introduction

The Steam Deck is a handheld gaming PC designed by Valve. It was originally slated for a December 2021 release but ended up being delayed until February 25th, 2022. As of writing, orders have an “After Q3 2022” shipping estimate.

Photo of the Steam Deck

The device is shaped like a landscape tablet with inputs along the left and right sides. It features a 7-inch touchscreen and typical controller buttons and capacitive sticks, as well as two laptop-style trackpads, four rear grip buttons, and a gyro. It runs on a custom AMD APU, with 4 cores/8 threads for the CPU and 8 compute units for the integrated GPU. All models come with 16 GB of RAM which is used by both the CPU and GPU. There are three options for storage: 64GB eMMC, 256GB SSD, or 512GB SSD. The higher storage models offer faster storage speed, but all models can install games to a microSD card.

Despite the gaming focus, the Steam Deck ships with a customized Linux distribution (SteamOS) rather than Windows. While this means that the Deck has some major software compatibility hurdles to overcome, it allows the device to run with less overhead and with a tightly integrated software experience.

The Steam Deck is certainly not the first handheld PC, and not even the first one oriented for gaming. The GPD Win and the Aya Neo have been on the market well before the Steam Deck, though neither have offered nearly as polished and integrated software experience as the Steam Deck has through the newest iteration of SteamOS.

Hardware

The form factor is very similar to the Nintendo Switch, but is a little taller, significantly wider, and thicker. Unlike the switch, the controller inputs along the sides do not detach. However, they do have a more ergonomic handle along the back, at the cost of making the device even more thick.

Photo of the Steam Deck next to the Nintendo Switch
The Steam Deck compared to a Nintendo Switch.

The Deck runs on a custom AMD APU. This means that the Steam Deck uses integrated graphics rather than a discrete GPU. However, the integrated “RDNA 2”-based graphics are sufficient for modern AAA titles, albeit at medium settings and 30 FPS. The APU even includes raytracing support, though enabling it in a game is often too taxing for the Deck’s hardware.

The IPS touchscreen has a resolution 1280x800, making the aspect ratio 16:10 rather than the typical 16:9. Not all games support 16:10, and in those cases, the game will just run at 720p and will have black bars along the top and bottom. The screen is limited to the typical 60Hz refresh rate and doesn’t support variable refresh rate (VRR). However, the Deck typically runs games with VSync by default, mitigating screen tearing. I haven’t noticed any input lag due to it.

The I/O ports on the Deck are limited: it has a single USB-C port, a 3.5mm audio jack, Bluetooth, and a microSD card slot. The USB-C port is primarily used for charging. Alternatively, it can be used to output to a monitor, connect to a dock, or the (unreleased as of writing) official Steam Deck dock.

The Deck comes with an integrated microphone for voice communication. However, it lacks any sort of camera either in the front or rear. It also lacks conventional rumble—instead it can use the haptic feedback on the right and left trackpads as a substitute, but it feels weak compared to a typical controller rumble. The Deck does have two front-facing speakers, which are generally regarded as being decent enough for gaming.

The on-board storage is the only major difference between the Steam Deck models[1]. The 256GB and 512GB models both use NVMe SSDs for storage with the 512GB model offering the fastest storage speeds[2]. The 64GB model uses eMMC storage, which has similar performance to an SD card. For all models, the on-board storage is slotted into an M.2 PCIe slot. This means that you can replace the internal drive with another 2230-size SSD, though Valve does not officially sanction doing this[3].

The battery life has been one of the most contentious parts of the Steam Deck. Valve has given the 40Whr battery an estimate of “2 to 8 hours of gameplay”. This is an awfully wide range with a concerning lower limit. Running the Deck at full tilt can indeed eat through the battery in two hours, and sometimes even faster in some edge cases. Granted, the Deck lets you tweak GPU settings to extend the battery life and lowering in-game visuals will also help massively. In my experience, I’ve played older games like E.Y.E. Divine Cybermancy and have seen the deck give a projected 4 hours of battery life even when running at full resolution and with the 60 FPS cap.

As a final note, Valve is partnering with iFixit to supply replacement parts for the Steam Deck. You can look at iFixit’s teardown of the Steam Deck to see how to disassemble it. They show that the analog sticks and SSD would be easy to replace, but the removing battery would give you trouble.

[1:] The 512GB model also gets “premium anti-glare etched glass” for the screen and a slightly nicer carrying case. Oh, and some exclusive Steam Community cosmetics are thrown for the SSD models.

[2:] I can’t find any numbers regarding the relative speed between the 256GB and 512GB SSDs, though Valve claims that the 512GB SSD is faster. While I believe them, I also think the difference would be negligible when gaming.

[3:] They warn that putting in an off-the-shelf SSD may cause interference, particularly with the Wi-Fi module. The stock storage drives are surrounded with EMI shielding.

User Interface

The Steam Deck ships with SteamOS 3.0, now based on Arch Linux rather than Debian. Like its predecessor, SteamOS 3 boots directly into Steam running in full-screen view. This is what Valve calls “Deck UI” or “gaming mode”, and it is set to eventually replace the old Big Picture Mode. While you can use the device with a standard desktop interface, using gaming mode gives you a more suitable UI and enables extra features that are unavailable in the desktop mode.

UI: Gaming Mode

Staying in the gaming mode is ideal, and not just for the slicker interface. While you’re in game, the “Steam” button brings up the Deck UI at any time while keeping the game running. The Quick-Access button lets you see recent Steam notifications/messages or mess with the (surprisingly extensive) performance options.

Screenshot of the Quick-Access menu appearing while in-game
The Quick-Access Menu can be brought up at any time.

Gaming mode also enables the quick suspend feature, which lets you put the Deck to sleep at any time by pressing the power button. Pressing it again will instantly wake the device up and resume your game.

The Deck UI will also instantly recognize any installed Steam games on a newly-inserted microSD card. This lets you hot-swap SD cards without needing to reset anything on the Deck, though you obviously shouldn’t swap cards while playing a game on one.

While gaming mode will only display one game or app at a time (everything is shown full screen), it does still allow multitasking. For example, you can have Discord running in the background while playing a game[1]. You would do that by launching Discord, pressing the Steam button to go back to your library, then launching whatever game you want. You’ll be free to bring up the other application (Discord) by pressing the Steam button and selecting it.

There are a couple of notable features missing. You can’t download games while the system is asleep, and I’ve noticed that there’s no option to livestream via Steam Broadcast. There’s also no quick way to bring up a web browser other than launching Chrome as a non-Steam game[2].

[1:] To run Discord in gaming mode, you first need to enter Desktop mode and install it via the Discover app and then add it as a non-Steam game. Then you can launch it from gaming mode. In my testing, receiving a message while having something else in the foreground caused it to freeze. Additionally, it was sometimes interfering with the controller binds and audio for other games.

[2:] This is especially odd since there’s clearly a native browser within Deck UI that pops up at various points, such as bringing up the Steam Community Hub page of a game.

UI: Desktop Mode

You’re expected to spend most of your time in Deck UI, as it provides a polished experience for navigating the system with the Deck’s controls. However, if you want to install software not available on Steam or perform other desktop tasks, you’ll need to enter desktop mode by holding down the power button and selecting “Switch to Desktop”. Entering and exiting desktop mode seems to perform a quick restart, so don’t expect to keep your games running while swapping modes.

Screenshot of the Steam Deck in desktop mode, showing off KDE Plasma's application menu
KDE Plasma is shown after switching to desktop mode.

After you load into desktop mode, you’ll find that Valve went with the KDE Plasma desktop, lending it a traditional Windows-like layout with a taskbar and an application menu. You’ll also find that, unfortunately, desktop mode is a lot less intuitive to control. Still, the trackpads will let you move the cursor, and you can bring up a (not very good) virtual keyboard if you need it. The touch screen can be used to click things, but the small icons make it suboptimal. Connecting a keyboard and mouse is a good idea if you’re going to use the desktop mode for an extended period.

On most Linux systems you can install software through the command line, but you’ll find that doing so on the Deck will give an error. Instead, you’re supposed to install desktop software via the Discover app (Flatpaks), as Valve has chosen to lock down the core system files by default[1]. Steam does provide a command to disable the filesystem lockdown, but they recommend against it and warn that updates may overwrite any changes that you make.

[1:] Steam has the system files locked down not only to prevent the user from modifying system files, but also to prevent other programs from doing so as well. It’s a lot to explain, but the simple answer is using software only via the Discover app/Flatpak keeps the system files untouched and reduces the chances of something going wrong.

Gaming

When it comes to playing games on the Deck, there a few ways to do so. The most obvious is just installing the game from your library and hitting “play”. This will generally run the Windows version of the game with Valve’s “Proton” tool, but it may run the native Linux version if it exists. ProtonDB is a 3rd party website that takes in user reports of how well games run under Proton, and they currently rank 66% of the top 100 Steam games as gold-tier or better, and 11% being completely “borked”. In short, though game compatibility certainly isn’t perfect, playing a random game in your library on the Deck should have a fair chance of working.

Screenshot of Halo Reach's campaign running on the Steam Deck, along with the performance overlay in the corner
Though multiplayer is non-functional, Halo Reach's campaign mode runs great.

Gaming: What is Proton?

As a bit of background, the Steam Deck uses a tool called Proton to run most games. Proton is a “compatibility tool” (not an emulator[1]) that lets PC games that were only designed to work on Windows to also run on Linux. Because Linux versions of games are uncommon, Proton is a vital part of getting most Steam games to run (at all) on the Steam Deck.

On the more technical side, Proton is a fork of Wine. Wine uses software tricks to make unmodified Windows executables (.exe’s) to run on Linux without the need for explicit Linux support. Proton improves compatibility on top of Wine by adding tweaks relevant for gaming, bundling in extra software (such as DXVK), and even adding in bespoke patches for certain games (most recently, the Proton patch for Elden Ring).

Proton is co-developed by Valve and CodeWeavers, who are a major contributor and sponsor of the Wine project.

[1:] Note that Wine, and by extension Proton, are not technically “emulators”. From the user’s perspective, it does behave similarly: it gets software designed for one platform to run on another. However, unlike an emulator, Wine isn’t creating a virtual machine and having all the associated overhead. Instead, Wine just intercepts any parts of the original software that uses Windows-specific functionality and replaces it with the Linux equivalent. There’s more to it than that, but the gist is that Wine and Proton can have comparable performance to a game running natively in Windows.

Gaming: Software Compatibility

Software compatibility is the biggest challenge for the Deck. Most Steam games cannot run natively on Linux, and I’ve found that even native Linux ports of games can be broken due to neglect. While Proton can get many games to run flawlessly, others can be buggy, and some games just won’t work at all.

Screenshot of E.Y.E.: Divine Cybermancy's main menu, showcasing scuffed text rendering
E.Y.E.: Divine Cybermancy has a weird text rendering issue.

If a game employs anti-cheat software, Proton will usually be flagged by it and will be blocked from online play. The good news is that Easy Anti-Cheat and BattleEye, two of the biggest anti-cheat services, have recently added support for Proton. However, both services require the game developers to opt-in, and for whatever reason, many haven’t. For example, Halo: Master Chief Collection runs great on the Deck, but multiplayer is a complete non-starter as Easy Anti-Cheat will boot you out.

While Proton massively improves compatibility, it’s still helpful to know what runs well on the Deck ahead of time. Valve has created the Deck Verified system to rate games on how well they work on the Deck. Games are sorted into four categories: verified, playable, unsupported, and unknown. Steam has a webpage to see which games in your Steam library that are Deck Verified. It’s not a perfect system, and even verified games can have issues[1], but Valve is constantly updating the list and rating new games. Update: Valve has added an opt-in feedback system, where users can report their experiences with Deck Verified titles.

There are times that a game will need some tweaks to run better on the Deck. While the default Proton settings work best for most games, you may get better results by switching to a different version of Proton or by setting some specific launch options in Steam. While I’ve yet to do either on the Deck, I have done both on my desktop (running Linux) and found that it may improve performance, fix glitches, or even get a non-functioning game to run. The best way to find what tweaks to use is to look up a game on ProtonDB and see what other people recommend. Steam offers an easy way to switch between major Proton versions on a per-game basis, and sometimes the “experimental” version can have new fixes that will help things. You can also set up the extra-experimental “Proton-GE” fork of Proton, but you’ll have to manually download and install it as Valve has no affiliation with it.

The last option—the nuclear option—to get an incompatible game to run on the Deck is to install Windows 10. Valve has recently released (most) of the hardware drivers for the Deck to work properly in Windows. If you go down this route, you’ll be able to run games natively which should improve compatibility. I have not tried this myself, but the consensus is that using Windows on the Deck is very janky. On top of that, it seems the performance is suspect[2], and you’re certainly not getting the nice features from the Deck UI like the performance overlay, Steam Community integration, etc.[3]

[1:] Linus from Linus Tech Tips noted that he had seen major slowdowns and crashes when playing Horizon Zero Dawn, a Deck Verified game. He suspects that the verification process may not have been thorough enough as the issues cropped up later in the game. See: https://youtu.be/uNt_ReLwk40?t=845

[2:] I couldn’t find many benchmarks regarding Windows vs. SteamOS performance that were done on the actual Steam Deck. A LinusTechTips video showed SteamOS outperforming Windows and noted SteamOS as more consistent. Tom’s Hardware ran benchmarks that showed performance going either way depending on the game.

[3:] I think using Windows on the Deck only makes sense if you want to play a game that won’t run at all on SteamOS. If I was in that situation, I’d just install Windows to a microSD card along with the relevant game, then boot into the microSD card when I wanted to play that specific game.

Gaming: Remote Play

The other way to play an unsupported game on the Deck is to not run it on the Deck at all. Instead, you can use Steam Remote Play to run the game on your Windows desktop and stream the gameplay to the Deck. While this requires your desktop to be available and your Deck to have a good (preferably LAN) connection to the desktop, this can be compelling option.

In my experience, the input latency wasn't an issue when playing over 5GHz Wi-Fi[1], but the default settings gave me a blurry image on the Deck until I enabled “Advanced Client Options” under the Remote Play settings[2].

Comparison of two screenshots; showing Remote Play's quality at default settings and its quality when 720p is manually set
For some reason, Remote Play defaults to a very low resolution (right side). Even reasonably sized text is hard to read.

I’ve noted some other issues that I couldn’t resolve:

[1:] Streaming over the 2.4GHz Wi-Fi resulted in intermittent stutters along with the audio cutting in and out. Not playable. If you want to take advantage of Remote Play, make sure that your Wi-Fi router/access point supports 5GHz and that that the 5GHz signal reaches the location you want to play.

[2:] My first thought was that Remote Play was just doing a poor job of down-sampling the video stream to 720p for the Deck. However, setting it to 720p manually looked way better. I’m convinced that this is a bug where Remote Play defaults to 480p instead of 720p if you don’t enable Advanced Client Options.

Gaming: Steam Input

Another obstacle that the Deck needs to work around is the mismatch between the Deck’s inputs (its controller buttons and sticks) and the typical inputs used on a desktop computer. PC games are primarily designed for a mouse and keyboard, and the Deck has neither. That said, many modern games support Xbox-style controller input, which can work well enough for the Deck. However, controller support for PC games still isn’t universal, and sometimes isn’t configured well when it is present. Steam Input and its Controller Configurator helps address those situations.

Steam Input was designed for the Steam Controller to let users rebind any input on the controller (button, stick, etc.) into any output (another controller button, a keyboard key, or mouse inputs). This was important for the Steam Controller’s mission of being compatible with all PC games, not just ones that had controller support. Even though the Steam Controller never took off, Valve continued to work on Steam Input and expanded it to be compatible with other controllers, such as Xbox or Nintendo controllers, so that those could also remap their buttons to arbitrary functions[1].

Screenshot of Steam Input's Controller Configurator, binding keyboard keys to the face buttons of the Steam Deck
Steam Input's Controller Configurator is very powerful.

Steam Input’s Controller Configurator provides an easy way to bind the Deck’s buttons and analog sticks into keyboard keys and mouse inputs. Alternatively, if the game has controller support, you can stick with Xbox-style controller input and tweak those as well. If the game game can accept both gamepad and PC inputs at the same time, you can even combine the two and get the best of both worlds: analog movement with the left stick and precise mouse aiming with the right touchpad.

The downside is that very few games have official Steam Deck configurations. Most need modification (sometimes a lot) from the default templates to feel right for the Deck. The plus side is that there are user-submitted bindings that you can adopt and change, many of which originate from Steam Controller users and work superbly for the Deck.

[1:] Don’t cite me on this timeline. I can’t remember if Steam Controller Configurator supported other controllers when it launched, or if it even launched alongside the Steam Controller, but I do know that they expanded support over time and generally improved functionality.

Gaming: Emulators and Non-Steam Games

While Steam has an expansive library of games, it still doesn’t offer everything. That may be due to a game being exclusive to another platform, or perhaps you’re interested in running an emulator instead. Setting up a different launcher or emulator will take a bit of setup, but it’s still easy to get going and the games should work in gaming mode.

Though uPlay and Origin do not have Linux versions of their clients, I have seen both working on the Steam Deck through the Proton[1]. The Heroic Games Launcher, an open-source alternative to both the Epic Games Launcher and GOG Galaxy, has just been made available through the Discover app.

As far as emulators go, the current selection is whatever you can find on Flathub, which is where the Discover app within desktop mode sources its software. I’m not terribly familiar with the emulator scene so I can’t comment on what is missing (other than MAME). In any case, getting an app from desktop mode to run in gaming mode is as simple as adding it as a non-Steam game.

Screenshot of the KDE Discover app running in the Steam Deck's desktop mode
The Discover app, found in desktop mode, lets you easily download and install non-Steam software.

[1:] MVA on YouTube has put out tutorials on how to get both the Origin and Ubisoft launchers working on the Deck. The launchers seem to be able to install and run games just fine, even in gaming mode. That said, neither were designed to run on the Deck, so there’s no guarantee that it’ll be problem free in the future.

The End

Comments? Feedback?

This page went on for way longer than I predicted, and I’m sure that I’ve left something out. Or maybe there's something I got entirely wrong. In any case, if you have any comments, you can shoot me an email at:

mike[at symbol]ss013r.com

I hope you found this helpful!

Updates

2022-03-27: Reworded several lines and paragraphs. Fixed a few typos. Added a paragraph about Proton tweaks. Mentioned the new opt-in feedback system for Deck Verified titles.

Various Sources and Further Reading: