I got a Steam Deck.

Only took me a year or so of contemplating getting one, and trying out HoloISO, the unofficial SteamOS installer finally convinced me to get one.1

It took another year to actually get down to writing down my thoughts on it.

This post is written from the perspective of a software developer who used to play video games a lot as a teenager, less so as an adult, and as someone who dabbles with Linux as a hobby.

Overview

The Steam Deck OLED exists now, but back when I got my Steam Deck, it came in three flavours, and in the interests of my budget I opted for the cheapest option that came with only 64 GB of storage (eMMC based).

Steam Deck, the packaging, and cat.
Steam Deck, the packaging, and cat.

I also got a 512 GB microSD card to hold all the games. All in all, this setup cost about 470 EUR. Certainly cheaper than the 512 GB NVMe SSD model that sold for 679 EUR at the time of writing. The shipping estimate to Estonia was about 1-2 weeks, and mine arrived in almost exactly 1 week, which was nice. And in one piece as well!

Half a terabyte of games, all in that small microSD card.
Half a terabyte of games, all in that small microSD card.

I don’t have the official Steam Deck Dock (try saying that 10 times in a row), but what I do have is a vertical laptop stand and a Dell WD19TB dock. As long as you leave a gap for airflow, then this combination works quite well if you want to use the Steam Deck in a docked mode. The combination of this dock and the Steam Deck also works nicely, the 3440x1440p ultrawide monitor gets picked up fine and even the gigabit Ethernet port works at the rated speed.

However, it seems like the Steam Deck USB-C compatibility can be dependent on your monitor and dock choice. While the Dell WD19TB dock worked great with an ultrawide monitor, a Lenovo Thinkpad USB-C dock would fail to output anything to the same monitor quite often. Turning on the setting to enable safe resolutions for the external display and setting the resolution manually usually fixes it, but it’s still quite annoying.

Steam Deck docked.
Steam Deck docked.

It’s booting Linux!

Not long after I set the Steam Deck up, I switched to desktop mode and opened a terminal window to confirm that yes, this thing is running Linux. Arch Linux, in fact, or at least a modified version of it.

btw I run Arch
btw I run Arch

But in all other aspects, it’s just like a normal computer, with an actual UEFI setup that you can browse. With the Steam Deck, you get the polished experience of a gaming console and the freedom to do whatever you want to with the software and hardware.

You can also boot any x86-based Linux distro, like Fedora Linux.

If all my other computers stopped working, then I could totally work out of a Steam Deck.
If all my other computers stopped working, then I could totally work out of a Steam Deck.

Or if SteamOS 3 is too limiting for you, then check out projects like Bazzite. The experience will be very similar, but it’s easier to tweak the setup to your liking. Bazzite also allows you to format storage as btrfs with compression enabled, meaning that you can fit more games on your device with a very slight increase in CPU usage. I’m sticking with the official Steam Deck experience for now, but I’m tempted to try Bazzite for the btrfs aspect alone.

The desktop experience on the Steam Deck is quite nice. You can easily boot into it from the graphical interface, and it runs on KDE Plasma. The design language of KDE is an eyesore, but it makes up for it with the responsive UI.

The touchpads are not that big, but they’re plenty good for clicking around. Manually popping up the on-screen keyboard by pressing STEAM + X is a bit annoying at first, but it gets the job done.

Installing software can be done in the graphical environment via the “Discover” app that ships with the desktop environment. One thing you’ll probably notice is that the selection of software is a bit limited, and that’s mainly down to how the Steam Deck is set up by default. All the apps you install are installed via Flatpak and while the selection of apps that are available as a Flatpak grows with time, not everything is yet present there.

I was surprised to see that the Steam Deck Desktop FAQ actually has useful information for an enthusiast like myself, even mentioning what a flatpak is.

Peeking under the hood

During the first couple of months I went the tinkerers’ path, enabled the SSH server, unlocked the root partition for modifications and automated the setup of my Steam Deck. While this thing is running a flavor of Arch Linux, it’s not really designed for these types of manual modifications. I had to mess around to get the Arch default package manager pacman to work, but at one point messing with pacman and running commands that I didn’t know much about, I blew up the OS by force-installing some packages and throwing out a crucial dependency. Whoops.

Well, at least the Steam Deck OS recovery setup is quite straightforward. Download the OS recovery image, put it on an USB stick, boot it on the Steam Deck and re-image the OS. There are also options to attempt repairs or open a terminal window in case you know how to fix the mess you’ve created.

One downside of the SteamOS recovery setup became apparent when Valve released a buggy software update around summer/fall of 2023. The update was buggy for many users, including myself, with games crashing or running poorly. On my Deck the SD card was also automatically reformatted for some reason so I had to redownload all the games I had on that. When I went to download the recovery image, I discovered that you could only go back to the current, buggy version of Steam Deck OS.

By fiddling with the download link I could navigate to a web directory where older recovery images were present. Those weren’t much help though. Although you could boot into an older version during the initial Steam Deck setup, it would auto-update to the newest version automatically, with no obvious way to bypass it.

The real workaround would have been to manually boot into the older version of the OS that sits on the other partition and not update for a while. I unfortunately discovered that after I had re-imaged the Steam Deck, which formats the whole drive.

I’ve now stopped with the tinkering. I still have an SSH server running on it, but it’s there so that I can install my favourite applications as flatpaks and deploy the backup script, via Ansible. That’s it.

It’s booting… Windows?

Cursed Steam Deck.
Cursed Steam Deck.

Don’t worry, Valve doesn’t even officially support running Windows on this thing, and while you can do it, I don’t really recommend it. You’ll be giving up all the nice things about SteamOS while also taking on the hassle of running Windows, including unexpected Windows updates.

Games are too damn big

512 GB of storage on something as small as a fingernail was something I would have never expected to see 10 years ago, but here we are. There are even bigger microSD cards out there, but those also cost a lot more.

And even with this marvel of technology I ran into issues when installing games. Install GTA V, Forza Horizon 4, and God of War, and just like that about half of all that storage is gone.

The 64 GB internal drive was also quite limiting, especially due to shader cache and compatibility layer (Proton) related files taking up a majority of it. The situation has improved now, but I still went ahead and replaced it with a 1 TB M.2 2230 NVMe SSD that I ordered online for 74 EUR in May 2023, which still makes it a cheaper option than the 512 GB model sold at the time.

The new SSD works well, it’s fast and doesn’t seem to affect battery life negatively. Changing it was quite simple, all you need is an appropriate screwdriver, good fingernails or a plastic spudger to get the case off, and some delicate care when working inside the Steam Deck.

Before I replaced my SSD, I tried all sorts of wild-ass ideas to fit more games on my Steam Deck.

First, I tried Nextcloud. The idea is simple: I’m not going to be playing all my games all the time, so it makes sense to offload some of those to my home server and retrieve them over the fast local network whenever I want to play them. This idea makes even more sense if your internet speeds are not that great.

The results were mixed. The syncing part was working surprisingly well with the transfer speeds capping out at 1 Gbit/s over Ethernet and actually being faster than the microSD card itself at times. However, the usability of this setup is not that great. You can select which folders to sync in the Nextcloud Client application, but Steam will still believe that a game is installed even if the game files are missing as long as the app manifest file is present. This can lead to annoying situations where you try to play a game and discover that the games files are not present on your Steam Deck.

The second solution I tried out was iSCSI. I followed this guide on Reddit. Getting iSCSI to work was tricky even for someone like myself who should be able to do this technical stuff properly, but I ended up getting it working. I formatted the iSCSI device as ext4, mounted it and made it a Steam library folder in Steam desktop mode.

The benefit of this solution is that as long as you have access to the server, the iSCSI storage device will show up on your Steam Deck as any other drive and games will just work. If your network is good enough, you can play games that are stored on your server, which might make a lot of sense for games that you generally play in docked mode. Transferring games to your internal storage is also simple, performant and can be done entirely within the Steam UI. The iSCSI setup is not that great mainly due to the technical complexity of the setup, making it a no-go for the more casual audience. The performance over Wi-Fi was also lousy, and it’s also difficult to justify having a good chunk of your home server storage being permanently held up by Steam games.

After all that hassle, I went with the solution that most people would have gone with already: store games on an external SSD. Duh. It has the same benefits as the iSCSI setup, but it’s faster and you can bypass a lot of the technical complexity. The external SSD is also automatically mounted when you connect it to the Steam Deck if it’s formatted as ext4, making it a very convenient option for docked play.

Not as janky as you'd think.
Not as janky as you'd think.

If you happen to have a fast desktop PC with plenty of storage, or a home server, then consider using the Steam local network game transfers. You won’t fit more games onto the Steam Deck, but redownloading them will be much faster.

We really need to start decoupling high resolution textures and other high quality assets from the base game at some point because the current approach is just silly. For a device like Steam Deck you’re rarely going to run those games with the highest quality settings, meaning that those assets will just sit there on the disk taking up space.

A free optional DLC could work well in theory. In practice I’m sure that game publishers would quickly turn a high quality texture pack into a paid DLC.

The part where I play games

Enough about the part where I tinker with the system. Let’s talk about the games.

"art of rally" is a great game to play on the Steam Deck.
"art of rally" is a great game to play on the Steam Deck.

I had some idea about the game compatibility when I tried out HoloISO. I’m happy to report that the game compatibility is even better on the Steam Deck. This fact alone is a minor miracle. Some years ago I was convinced that the only way to properly play games on Linux was to set up a VM with Windows installed in it.

With the Steam Deck, you download the game and run it. Simple as.2

The Steam Deck is not the most powerful machine in the world, but it has a decent CPU in it. The GPU is more akin to integrated GPU-s that ship in modern AMD Ryzen based laptops, it’s still plenty of power to run games at the native 1280x800 resolution.

God of War (2018) did stutter a bit, but in most situations you can expect around 40-60 FPS.

GTA V was running fine as well, although the game is CPU limited at times and can drop to around 40 FPS in certain sections of the map, especially in GTA Online.

Teardown runs alright after you lower the settings, and it’s best played in docked mode due to some fun mods being designed around keyboard controls. It’s really fun, but it will bring the Steam Deck to its knees when you do some heavy destruction. Totally playable though, and I’ve had a lot of fun with this game.

Wreckfest runs well with medium or high settings. I feel the framerate dropping a bit when heading into the first corner and being part of a 24-car pile-up, but in all other situations it’s smooth enough.

Need for Speed Hot Pursuit (2010) runs very well and is an absolute blast on the Steam Deck. Crank the settings to maximum and enjoy the thrilling police chases.

Need for Speed Most Wanted (2012) is also great on the Steam Deck.

Need for Speed Rivals (2013) runs well after you apply the tweak that forces the game to run at 60 FPS. The game is a bit buggy even on Windows, so expect some bugs and crashes.

More modern Need for Speed titles, such as Need for Speed (2015), Need for Speed Payback (2017) and Need for Speed Heat (2019) are playable, but will typically run anywhere between 40-60 FPS. The handy framerate capping feature of the Steam Deck will help a lot in those cases since a stable 40-45 FPS is a much better experience than a wildly fluctuating and unstable framerate.

More lightweight games run like a charm while using very little power. This includes titles like Vampire Survivors3 and Donut County.

What I really like about the Steam Deck is that performance tuning is very accessible. You can toggle mangohud with various levels of detail to narrow down any performance troubles, and you have great control over the CPU and GPU speeds. All of this can be done while the game is running.

It's like MSI Afterburner overlay, but built-in and all set up for you.
It's like MSI Afterburner overlay, but built-in and all set up for you.

The APU in the Steam Deck tries its best to share the limited power that the system can pull between the CPU and GPU, and in most cases it works well, but there are games where the CPU or the GPU demands can fluctuate a lot. In those scenarios it helps if you lock the GPU clock speed to an amount that keeps the GPU usage to around 80% or less. Being able to play with settings like this is one of the reasons why I got Forza Horizon 4 to be playable within minutes of tinkering.

Forza Horizon 4 on the Deck runs surprisingly well after you tweak a few settings.
Forza Horizon 4 on the Deck runs surprisingly well after you tweak a few settings.

There are a few games that I like to play but aren’t working well on the Steam Deck, such as GTA III or Vice City, but that is pretty much it. Over the one year that I’ve had the Steam Deck, a lot of games have gained support, either by Valve improving the Proton compatibility layer, or game publishers releasing updates that make the game work on the Steam Deck.

One such example is FlatOut Ultimate Carnage, which seems to have been bought by a new publisher that removed the “Games for Windows Live” mess and got the game “Steam Deck Verified” in the process.

The performance of the Steam Deck was actually quite surprising in a lot of games. For example, I’ve never seen GTA IV run so well on any machine that I’ve owned before.

The best GTA IV experience I've ever had.
The best GTA IV experience I've ever had.

If you want to see if your favourite games are compatible with the Steam Deck I recommend you check out ProtonDB for a detailed overview. YouTube is your friend if you want to see some specific games being tested on the Steam Deck.

When it comes to emulating PS1, PS2 and PSP games, the Steam Deck is fantastic. There’s plenty of performance to emulate those consoles well, and for whatever reason playing the childhood classics on the Steam Deck feels so right. With PSP the comparison is even more apt as it’s basically a bigger PSP but with a much better battery life.

Steam Deck and the whole PSP game library is a great match.
Steam Deck and the whole PSP game library is a great match.

More intensive games can discharge the battery in about 2-3 hours, but when playing emulated games for older consoles you can expect up to 7-8 hours of gameplay.

Non-Steam PC gaming

It’s clear from the name that this console is set up around Steam. As long as all your games are purchased on Steam, you’ll have a great time.

I do have some games from other sources, such as GOG.

There exist community-supported launchers, such as HeroicGamesLauncher. They work, but might require a bit of setup and fiddling to get things like cloud synced game saves to work properly. In the case of art of rally on GOG, you’ll also lose out on multiplayer daily/weekly challenges.

If you have some older games on CD-s, or legally acquired archived copies of PC games, then the situation gets tricky. There exist solutions like Lutris or Bottles, however I never quite had a good experience with those, especially once you deviate from the happy path.

In my experience, if you want to have the best chance at playing your old PC games, then you’ll need to obtain a version of the game that has a no-CD patch applied to it already, add it to Steam and set a version of the Proton compatibility layer. Some legally dubious sources for these games label these packages as “direct play” as well.

There can also be a difference when running games via gaming or desktop mode. Need for Speed Most Wanted (2005) did not work when started via gaming mode, but it started up just fine in desktop mode.

Proton, the compatibility layer, is great for what it allows us to do, but I feel like the concept and technical implementation is something that novice users will never quite understand. This also becomes apparent when you look up discussions online where novice users try to apply mods to their favourite games. It works out of the box on Windows, but you need to grok the way Proton handles things for it to work on the Steam Deck.

I consider myself competent with computers and stuff, but even I need to sit down and think about what’s going on when working in this area.

Backups

I rely on Ludusavi to collect all my game saves, and I use rsync to back them up to my home server.

I made a desktop entry for the backup script. By right-clicking it in desktop mode and selecting Add to Steam, it will appear in your Steam library like any other game or application. This means that I don’t have to quit gaming mode to back up the Steam Deck.

The backup script also updates all the applications that I’ve installed as a flatpak, and shuts the device down after it’s done.

It’s big.

The Steam Deck is big.

This does mean that Valve can pack a lot of compute power and cooling into it, but it comes with the trade-off of it not fitting that well into a backpack. The hardcase that it ships with is great for preventing damage to the Steam Deck, but it takes up a lot of space.

I don’t find the size uncomfortable, quite the opposite actually, but for others it might be a problem.

I’ve had the opportunity to briefly play on a Nintendo Switch Lite. There’s something that feels special about that form factor. The performance is not great compared to the Steam Deck, but I feel like the Nintendo Switch is in its own class of portable gaming consoles.

I wonder how a Nintendo Switch sized Steam Deck would perform.

The controls

The controls on the Steam Deck are good. It takes the best aspects of the Nintendo Wii U and Xbox 360 controllers and smashes them into one polished experience.

The Steam Deck has some extra mappable buttons on the back. They sound great in theory, but I rarely use them. When I do, I find that the L4 and R4 buttons are more easily reachable compared to L5 and R5 (the lower ones).

When I do use those extra buttons, they are invaluable. In Need for Speed Rivals (2013), I mapped L4 and R4 to the two power-up slots, which left my thumbs free to focus on driving and looking around.

Using those extra buttons does require some readjustment. It was difficult to reprogram my muscle memory and remember that I have those extra buttons there.

Steam also provides lots of controller templates, both Valve-approved and community ones. If the game you want to play doesn’t have official controller support, then it’s highly likely that someone else has created a controller configuration that emulates keypresses and allows you to play your favourite game on the Steam Deck.

Sometimes that doesn’t quite work, in which case you can create your own layout, or improve an existing one.

There’s also the gyro functionality, but I’ve only used it in Aperture Desk Job, which itself is like a fancy demo of the controller capabilities of the Steam Deck. Never quite found a suitable use case for this input method in other games.

The fun factor

Based on what you read, you might think that I got the Steam Deck for the tinkering aspect. While that’s certainly part of the rationale behind getting one, it wasn’t the main one.

I got one as an excuse to finally spend more time resting. I have had a bad habit of trying to be productive at all times, which can lead to exhaustion and eventually burning out.

With the Steam Deck I’ve been able to actually spend some time playing games and turning my brain off.

I love it.

And it gives my cats a great opportunity to snuggle up while I do some illegal street racing. Win-win.

There’s something different about playing games on the Steam Deck. Perhaps it’s related to the memories I had as a teenager playing on my PlayStation Portable a lot, or knowing that I can replay all my favourite console games without having to set up the physical consoles themselves.

The sad reality of adulthood

I love using the Steam Deck. However, I still can’t seem to make much time for it when life gets busy.

That’s my only big gripe with it.

Conclusion

If you’ve been on the edge about getting a Steam Deck, then I hope that this post has helped you make a decision. It has some rough edges, but when it works, it feels magical.

If you already have a gaming PC with a modern AMD GPU in it, then consider trying out projects like Bazzite, HoloISO or ChimeraOS to get a taste of the Steam Deck experience.

Even if I can’t put in as many hours as I’d like to, I still love my Steam Deck and don’t regret getting it at all.


  1. this makes Valve’s silence on releasing SteamOS 3 to a wider audience puzzling. Do they not want to sell more Steam Decks? ↩︎

  2. assuming that it’s a Steam Deck Verified title. ↩︎

  3. it’s really addicting, be careful. ↩︎