Dual-booting SteamOS next to Windows 11 is often framed as a taste question. In practice it is an inventory question, and you can answer it with a handful of commands before you delete anything. I spent 60–90 minutes on this at an intermediate level, and the whole decision came down to two lists: what my firmware supports, and which games I actually launch.
Below is the order I worked in, with the checks that stopped me from making the one expensive mistake (pointing an installer at the wrong disk).
What you need before you start
- A PC with UEFI firmware, with Legacy/CSM mode turned off.
- An elevated PowerShell session:
Win+X, then Terminal (Admin). Several cmdlets below read TPM and Secure Boot state and fail without elevation. - One USB stick of 8 GB or more per system you plan to install. Both will be wiped.
- A backup of everything you cannot re-download.
- A second SSD, or at least 64 GB of unallocated space, if both systems should live in one machine.
- Some idea of how long your current Windows install stays supported.
Writing the media differs by platform too: on Windows you use Rufus or balenaEtcher, while the Windows 11 installer itself comes from Microsoft's Media Creation Tool (8 GB+ stick in both cases).
Step 1: read the firmware state instead of guessing
Open the elevated terminal and capture four values.
Get-ComputerInfo | Select-Object CsManufacturer, CsModel, BiosFirmwareType, WindowsProductName
Get-Tpm | Select-Object TpmPresent, TpmReady, TpmVersion
Confirm-SecureBootUEFI
Get-CimInstance Win32_VideoController | Select-Object Name, DriverVersion
Then list the disks, because this is where people destroy their week:
Get-Disk | Select-Object Number, FriendlyName, PartitionStyle, @{n='SizeGB';e={[math]::Round($_.Size/1GB)}}
BiosFirmwareType tells you whether the machine boots in UEFI or Legacy mode — both modern Windows and SteamOS installers expect UEFI. Get-Tpm and Confirm-SecureBootUEFI confirm the two firmware features Microsoft requires for Windows 11. The disk list tells you which device is Windows and which one is fair game.
What passing looks like: BiosFirmwareType prints Uefi, both TpmPresent and TpmReady are True, Confirm-SecureBootUEFI returns True, and PartitionStyle on the target disk is GPT. A False or a Legacy here means you go into firmware settings and fix it before continuing.
Step 2: let your game library make the call
For every game you genuinely play, look the title up on ProtonDB (protondb.com). It aggregates user reports on whether a game runs under Proton — the compatibility layer that translates Windows calls — and whether its anti-cheat survives.
Sort the results into two columns:
- runs on Proton per ProtonDB
- kernel-level anti-cheat or Windows-only
Proton handles most single-player Windows titles fine. The usual blocker is kernel-level anti-cheat: drivers that load before the game and are frequently refused on Linux. If your daily games sit in the second column, SteamOS becomes a secondary system, not a replacement — and you should know that before you repartition, not after.
A strategy and single-player library usually lands almost entirely in column one. A competitive shooter with a kernel anti-cheat driver lands in column two.
Step 3: shrink the Windows volume and write the stick
Hibernation leaves hiberfil.sys, an unmovable file that blocks shrinking. Turn it off first, then ask Windows how small the volume can get.
powercfg /h off
Get-PartitionSupportedSize -DriveLetter C
If the supported minimum is close to your current size, unmovable files are in the way and the resize will fail. Disabling hibernation and moving the page file are the standard fixes. When the number looks sane, shrink:
$target = 200GB
Resize-Partition -DriveLetter C -Size $target
Get-Partition -DriveLetter C | Select-Object DriveLetter, Size
200GB in PowerShell is a numeric multiplier, so it resolves to bytes for you. Afterwards, confirm the freed space is actually unallocated:
Get-Disk | Get-Partition | Select-Object PartitionNumber, DriveLetter, Type, Size
Now write the SteamOS image (grab the current one from Valve's official page) with Rufus or balenaEtcher. From Linux or macOS the equivalent is:
lsblk -f # identify the USB by size and model, e.g. /dev/sdb
sudo dd if=steamos.img of=/dev/sdb bs=4M status=progress oflag=sync
lsblk -f is the only reliable way to identify the stick — check size and model, not just the letter. oflag=sync forces the write to finish before the command returns. Run lsblk -f again afterwards: the stick should now show the image's own partition layout instead of your old filesystem. A 32 GB drive that read FAT32 /dev/sdb1 will show the SteamOS partitions instead.
Step 4: boot, verify, and smoke-test both sides
Boot from the USB, install onto the empty disk, then check the result from inside the new system rather than trusting the installer's final screen.
cat /etc/os-release
uname -r
lsblk -f
df -h /
/etc/os-release confirms which system actually booted, uname -r shows the running kernel, and lsblk -f proves the installer wrote where you intended. Compare the NAME and VERSION strings with the download page — the exact text depends on the image, so don't match against someone's screenshot. Critically, lsblk -f should still list an ntfs partition of your previous Windows size. If it doesn't, stop and fix that before anything else.
Next, get Windows games running: in Steam open Settings → Compatibility, enable Enable Steam Play for all other titles, and pick a Proton version. Without that toggle, titles Valve hasn't whitelisted simply appear unsupported and the Play button stays greyed out. Launch one game from your "runs on Proton" list and play for two minutes — reaching the main menu is the pass condition; an instant return to the library means troubleshooting.
Finally, a work smoke test. SteamOS desktop mode is KDE Plasma, so open a browser, install a Flatpak app, and confirm the vendors you depend on actually support Linux. Corporate VPN clients and Microsoft 365 installers are the usual sticking points; if your work software is Windows-only, that alone settles the question.
Where each system wins
| Decision factor | Windows 11 | SteamOS |
|---|---|---|
| Firmware requirement | UEFI + TPM 2.0 + Secure Boot | UEFI; Secure Boot state is reported by the installer |
| Official hardware target | Any PC on Microsoft's supported CPU list | Steam Deck; behaviour on other PCs is not officially documented |
| Game compatibility | Native Windows builds | Native Linux builds plus Proton |
| Kernel-level anti-cheat | Supported by most vendors | Frequently blocked — check ProtonDB first |
| Work software | Native installers, Microsoft 365, corporate VPN clients | KDE Plasma desktop, browsers, Flatpak apps |
| Install media | 8 GB+ USB via Media Creation Tool | 8 GB+ USB via Rufus or balenaEtcher |
Takeaway
The safest configuration I found is boring: keep Windows 11 on its own disk and put SteamOS on a second SSD. Never install SteamOS over the disk holding your Windows partition — a second drive is the only zero-risk path, and a full backup is not optional either. If your library has kernel-level anti-cheat titles, or your work needs Windows-only software, Windows 11 stays the primary system and SteamOS is the fun second boot.
This article was originally published on AI Release — https://ai-release.org — where the full walkthrough lives; there is also a channel at https://t.me/ai_release1 if you want new guides as they land.
That's it. Run the four PowerShell commands first, build the two-column game list second, and the SteamOS-versus-Windows 11 argument mostly answers itself.
Top comments (0)