The Stack Tracer

SteamDeck

I prefer to leave SteamOS untouched on my Steam Deck. No dual booting. Instead I keep SD cards with different OS's around for occasional use.

I tried unsuccessfully to install Windows to a SD card from an USB pen-drive, but failed each time. The installation simple fails with the error “The installation has failed”. Thanks Microsoft. Presumably it happens right before it tries to restart for the first time, maybe a bit before.

My theory is that it really doesn't like the SD card reader hardware. I tried with version 23H2 instead of 24H2, and it couldn't even see the card in the first place. Neither could the latest Windows 10 ISO I could find. For reference, I had no trouble installing Fedora or Ubuntu using this strategy. This is purely an issue with Windows.

I tried many different workarounds, including the following:

  • Using a different USB dock
  • Booting from different USB drives (one of them being an actual SSD in an external closure)
  • Removing other USB devices not needed for installation
  • Using an external SD card reader (instead of the built-in Steam Deck card reader)
  • Other versions of windows
  • Different parameters for booting into the Windows installation media

But none of that made a difference.

That's when I stumbled over a simple concept that I had never considered: Install to a virtual machine and flash it to physical hardware. It so simple and it just works.

I have outlined the steps below.

Installation steps

1. Download the official Windows 11 ISO

You can download it for free from Microsoft. Pick the x64-version, not the ARM-version, and whichever language your prefer.

2. Install VirtualBox on your current OS

I'm using Fedora 41, but VirtualBox runs everywhere. Download it for your OS of choice and install it. On Fedora, I had to update the kernel and install some kernel headers for it to install correctly. Something on the line of:

$ sudo dnf install make time perl gcc dkms kernel-devel kernel-headers

I also had to disable KVM kernel modules as they collided with whatever makes VirtualBox tick. In my case, this did the trick:

$ sudo rmmod kvm_amd
$ sudo rmmod kvm

I believe getting VirtualBox to run in Windows is much simpler, but I didn't have Windows at hand—hence this guide.

3. Install Windows 11 in a Virtual box container.

This part was straight-forward. Just create a new container and boot the ISO. A few notes worth mentioning:

  • I picked the very first option which was Windows 11 Home edition.
  • You need to enable EFI for your container. I didn't do this, but I suspect it was the default for the version of VirtualBox I was using anyway.
  • Naming the container “Windows 11” automatically switched the guest OS to Windows 11.
  • It was pretty slow to install on VirtualBox on a Fedora 41 running from an Micro SD Card on the Steam Deck. But it worked out fine. I used 8 GB of memory and two CPU cores for the container.
  • Don't bother with drivers or Guest Tools. The purpose is to run this on real hardware later on.
  • Don't allocate too much space for Windows. It needs to fit on the SD Card later. I only used 80 GB.

4. Update everything, boot it up, check that it works. Now shut it down.

As the title says. If you believe you have a functioning Windows 11 install that boots, go to the next step.

5. Convert your VDI-file to a raw IMG file

Locate your vdi-file somewhere in your home-folder or similar. This is the volume of your Windows container.

Use the following command to convert it to a raw image. “win10.img” is your output file. Change “Windows 10.vdi” to whatever your input file is named.

$ VBoxManage clonehd "Windows 10.vdi" "win10.img" --format RAW

This took a while on my Steam Deck, maybe 20 minutes or so. And while it did it, it stuck to 0% on the progress bar. Then in the last five seconds or so, it went to 100%, and that was it.

Just wait it out. It will get there :–)

6. Use dd to write the image file to media

You can use this command with any physical media really, including SSDs and harddrives. My Micro SD Card happened to be “/dev/sdc”, so this is what I used below. Use the command lsblk to see what devices you have to choose from, or install “gparted” to get a better overview of what you have got to work with.

$ sudo dd if=[win10.img] of=[/dev/sdc] bs=4M status=progress

This one also took a while, but the progress bar was very precise.

7. Clean up the partitions

You need to resize the main partition to take up the full space of the SD card. Otherwise you will only have the amount you picked in VirtualBox earlier. I used “gparted” for this, but presumably “KDE Partition Manager”, pure fdisk, or any other similar tool would also work.

This was a bit challenging, since the main partition was followed by a small 600 MB partition, and then the rest was unallocated space. Moving the 600 MB partition to the end of the disc wasn't an option.

Turns out, the 600 MB partition is simply a Windows Recovery Partition, and you are unlikely to ever need this. It can be safely deleted.

So, in summary: 1. Delete the last partition (around 600 MB). 2. Resize the big one to take up all the unallocated space left on the SD Card.

8. Windows Drivers on the Steam Deck

You can pick what to boot on the Steam Deck by holding down “volume up” or “volume down” when you power on the system. One goes directly to the boot menu, and the other one allows you to check BIOS settings among other things.

Before you boot up Windows, get the drivers and put them on an USB pen-drive (or copy them directly to the partition, if possible).

Installing all the drivers is straight-forward. You can get them all here:

https://help.steampowered.com/en/faqs/view/6121-ECCD-D643-BAA8

9. Afterword

Congratulations! You managed to install Windows 11 and move it to a physical drive and boot it up.

A few notes on usage:

  • Don't expect great drive performance, even with high-end Micro SD cards. Turns out playing The Sims 4 while Windows 11 is updating in the background (or whatever it was doing) makes the system crawl to a halt, if The Sims 4 is also loading a lot of assets. But for light usage and most games, this shouldn't be too much of an issue.
  • I never entered a product key for windows. I skipped it during installation and was never asked again. I wonder if it will ask at some point later on.
  • If you leave the SD Card in during boot of the Steam Deck, it will pick Windows automatically. For SteamOS, you need to pick it manually from the boot menu each time.

#SteamDeck #Windows11 #Tinkering #VirtualBox #BootFromSD

I bought a Steam Deck OLED in 2024, and it has been a joy to toy around with. It's obviously a pretty neat device for handheld gaming, but it's also a fantastic mini PC for hackers. It has completely replaced my main desktop PC at home (though I still use a Lenovo ThinkPad for actual work).

Someone playing on their Steam Deck

Main reasons why hackers should seriously consider owning a Steam Deck:

  • It runs Linux natively
  • It's easy to repair. Most parts are available on iFixit
  • Storage can be upgraded
  • Booting from a MicroSD card is easy and fun
  • It supports Windows
  • Performance is surprisingly good for it's price and power usage
  • DisplayPort Alt Mode docking

It's unsurprising if you didn't know most of this. Marketing obviously focuses mostly on the gaming capabilities, and most communities online prefer to debates its merits compared to alternatives like the ASUS ROG Ally X or Lenovo Legion Go.

But let me break down why it's also a hackers dreams.

Linux support

Linux just works, if you use a recent kernel. SteamOS has a neat desktop-mode that will suit most users just fine. In addition to SteamOS, which is based on Arch Linux, Fedora 41 also works fairly well. Only the built-in speakers are unsupported in Fedora at the time of this writing. Other mainstream Linux distributions will likely gain support for the hardware as well in future releases (Ubuntu LTS still lacks WiFi support, for instance).

Easy to repair

Go to YouTube and find a video on how to open the device and replace a button or the speakers. You will see how easy it is compared to a modern smartphone. iFixit even sells all the tools and parts for cheap.

Storage can be upgraded

Yes, you can replace the SSD just like on an ordinary PC. You then just boot SteamOS recovery or any other OS from an USB pendrive and flash it from there. Easy peasy. Replace SteamOS with your OS of choice, if you like (though only Linux and Windows is officially supported).

iFixit demonstrates how easy it is to replace the SSD

Booting from a MicroSD card is easy and fun

This is part of what makes tinkering so fun! It's easy to pop MicroSD cards in and out of the slot at the bottom of the device—just like cartridges in a gaming console. And you can boot from them! I have one card with Windows 11, another with Fedora 41, and a third with some additional Steam games I couldn't fit on the device itself. It makes it easy to experiment and try different OS's without the hassle of partitioning or replacing SSDs—or the limitions of modern live-cds (flashed to USB pendrives).

It supports Windows

Windows 10 and 11 works fine, though you need to manually download the drivers directly from Valve. Hardware support and performance is on par with Linux, though it lacks optimization to battery life and UX.

Performance is surprisingly good

Single core performance won't blow your socks off, but for gaming and most ordinary tasks, the system feels quite snappy. Graphics performance especially is pretty good for a handheld at this price point. It obviously can't compete with my top-off-the-shelf ThinkPad for serious work, but for anything else, it's more than adequate. And it only uses 15 watts for it's CPU/GPU at most. 25 watts in total for the full system.

DisplayPort Alt Mode docking

This is the secret sauce that makes it all come together. I mean, the official dock is also an option, but being able to simply connect my Steam Deck to my modern ultra wide monitor using a simple USB-C cable and have all the following connected at once is quite something:

  • My mouse and keyboard
  • Webcam
  • External SSD
  • The monitor itself
  • Built-in monitor speakers
  • Full charging

At the end of my work day, I simply remove my ThinkPad and plug in my Steam Deck instead. This is what technological progress is all about.

Small desk with my monitor and Steam Deck setup

Conclusion

If you like the idea of some handheld PC gaming, a small mini PC to tinker with, and its price point, then I think the Steam Deck is a pretty good purchase, as long as your don't expect it to replace a full workstation or high-end laptop.

#steamdeck #minipc #handheldpc #tinkering