Games run faster on SteamOS than Windows 11, Ars testing finds
78 comments
·June 25, 2025haswell
0x38B
Side note, Niri is a fantastic WM. When I saw the Phoronix article on HN talking about the addition of overview mode and more, I finally took the plunge and spent an afternoon converting over from Sway.¹ Anecdotally, I've seen less hangups on Niri around fullscreen games and floating windows, perhaps thanks to X11 running in xwayland-satellite.
1: the hardest part was finding a bar that supported i3status-rs; not a fan of GTK bars that eat up CPU. I settled on i3bar-river.
haswell
I've been so happy with Niri after many many years bouncing around other WMs. It addresses the main issues I've had with other tiling window managers and has been such a joy to use.
The scrollable aspect just feels so natural and intuitive to me.
thewebguyd
Interestingly enough, I've had games that had both a native Linux port and Windows version, and the Windows version through Proton ran better than the native Linux version. This ended up being true for Civ5, Civ6 and Cities Skylines (1).
With those admittedly limited examples though, I don't experience the same ranking in performance, but I attribute that to my non-gaming hardware vs. any problem with Linux or Proton/Wine. I play on a laptop with an Nvidia 3050 laptop GPU, and I get much better performance in Windows still. In Cities Skylines, for example, I'll get ~20 fps on Linux via Proton (but I do experience what you said, it's consistent no major spikes or drops) while on Windows I get between 45-60fps up until about 15k population or so.
Other games, despite working, remain unplayable to me due to performance. I can play Diablo 4 on windows no problem on medium settings, but even on low it's just too unresponsive on Linux.
Anyway, just my anecdotal experience. Those with dedicated gaming rigs will be more than fine with Linux, but those of us on underpowered hardware still seem better off with Windows, unfortunately.
nialv7
Linux port if there is one is usually done by a third party porting studio, which is not necessarily at the same quality as the original codebase. Also the devs just don't have the manpower/bandwidth to spare for Linux users given how small this community is.
It's better value for money for both the gamers and the devs if the devs just choose to engage with valve and get their game running perfectly under proton.
egypturnash
But maybe figure out how to start getting those third party Linux porting studios paid to work on Proton...
unaindz
To be you should compare the windows version on windows, no proton against the Linux version. DXVK, which proton uses, makes some games run better in windows than "native".
whoisthemachine
I have a laptop with the same GPU, and Diablo 4 runs really well out of Lutris. Graphics version 570, and the CPU is an AMD with a Radeon 680M integrated. I often play games with FSR on, which probably keeps performance higher?
umbra07
> Anyway, just my anecdotal experience. Those with dedicated gaming rigs will be more than fine with Linux, but those of us on underpowered hardware still seem better off with Windows, unfortunately.
On the other hand, Linux (or more accurately, the Linux desktop ecosystem) doesn't support a lot of high-end PC gaming features well: HDR, Nvidia GPUs, VR, etc.
_aavaa_
To the extent that Linux doesn’t support nvidia gpu it is actually Nvidia not supporting Linux and keeping their drivers proprietary.
dcl
Doesn't support NVIDIA GPU's!? Is this a display or gaming specific thing?
All the ML people are using NVIDIA GPU's on Linux.
weiliddat
AFAICT HDR is supported, like on the Steam Deck
thfuran
Can you even watch decent Netflix on Linux yet?
haswell
> Those with dedicated gaming rigs will be more than fine with Linux, but those of us on underpowered hardware still seem better off with Windows, unfortunately.
That’s interesting and good to know. I’m running an 10th gen i9 with an RTX 3090, so I have plenty of headroom performance wise. I’ve been wondering about Linux gaming on lower end hardware for my younger brother’s sake, and hadn’t assumed it would be worse.
One thing to note: I’ve had all kinds of issues with power management impacting performance. If I let the computer sleep/standby, I’ll get 50% slower framerate until I reboot.
Given the fact that you’re on a laptop, I wonder if power management has contributed to the slowness.
hedora
I have a 65 watt ryzen 9 system on chip (8945hs, I think) minipc and make heavy use of it for linux gaming.
My guess is that Nvidia’s linux video drivers are still substandard.
jekwoooooe
The last missing piece for full Linux gaming is anticheat. Last I looked into it, the major vendors don’t want to support it due to lack of kernel security and the ones that do, game devs refuse to allow it (destiny for example)
One we can play AAA games I am literally ditching windows forever. Steamos is the best thing that has happened to gaming
TheCraiggers
Anti-cheat today is a stop-gap measure at best. For various reasons such as improved OS security and security concerns with this software, ring zero anti-cheat won't be around forever. Besides, it's a cat and mouse game where the vendor is the mouse.
We already have the technology now to do it better. A combination of only sending what info a client should have, and server-side checks. As soon as something like UT ships with that built in we can hopefully forget about this horrible hack we currently have to check for cheats.
armada651
> Besides, it's a cat and mouse game where the vendor is the mouse.
The goal of anti-cheat isn't to stop the world's most advanced cheaters. Those are already unstoppable because they now use Direct Memory Access over the PCI-E bus, so the cheats don't even run on the same computer anymore. However since those cheaters are few and far in-between they can be handled through player reports.
The goal is to stop the mediocre cheater who simply downloaded a known cheat from a cheating forum. If you don't stop those you'll get such a large wave of cheaters that you can't keep up with banning them quickly enough.
jsolson
> Those are already unstoppable because they now use Direct Memory Access over the PCI-E bus, so the cheats don't even run on the same computer anymore.
Working on mostly server platforms, I had forgotten that IOMMU enablement (and, where relevant, enforcement) was not the default.
Consumer hardware and software is terrifying.
hypeatei
As long as games are running on user hardware/OS, you'll always deal with cheating. Server-side checks and computation can only go so far.
For example: in competitive shooters (where cheaters are most prevalent) you can't have things appearing out of thin air. The client needs to know about things ahead of time to play sounds and to give other environmental hints.
armada651
Exactly, nothing short of streaming the entire game fully rendered from the server will stop cheats. And even then you can probably still do aimbotting with modern day computer vision.
jay_kyburz
I've always thought the line about whats cheating, and what's not is unfair and arbitrary. How is it ok that some players can play 4k 200fps and others 1080p at 30fps.
The only way to be really fair is for everybody to Stream the game at the same res, frame rate and latency.
bloqs
so consoles are better
Cloudef
Multiplayer games without dedicated servers is dead end anyways. I dont need a "anti-cheat" daemon hooking into kernel scanning files and other memory while playing a game. Communities in dedicated servers are much more efficient at moderating the player base than centralized match making ever will be.
SchemaLoad
This is where I'm at with gaming. Even outside of cheating, it's not fun to me to be dumped in a game with screaming children/manchildren. If I'm playing a game I want it to be with my actual friends. And then I don't have to worry about them running cheats because I trust them.
Once you get to match making, global ranks, etc it's just getting too sweaty and ruined by cheating/low trust/etc.
ThatPlayer
Communities with dedicated servers include anti-cheat though. Most people aren't interested in spending time moderating a player base: they'd rather just play the game. So server admins use anti-cheat.
You can see this in existing games with current games with community servers. GTA V's modded FiveM and CS2 Face-IT include more anti-cheats, not less.
kgwxd
Yeah, but it's very time consuming/impossible to find similarly skilled players for a fun lobby. The only competitive game I care to play on Linux is Rocket League, which is nearly impossible to cheat at, so it doesn't currently have anti-cheat, but I wouldn't be surprised if Epic decides to put their beloved EAC in it at some point anyway, maybe even just because they hate Linux so much.
0x38B
This is problem for me and my brother right now. He's up at a remote job site and we want to play Siege or Apex together¹, but both require anti-cheat and don't support Linux. And I'm loathe to devote space on my SSD to Windows.
¹: Rainbow Six: Siege and Apex Legends, respectively.
boston_clone
interestingly, I have no issues with the anti-cheat within Marvel Rivals; however, games that embedded an anti-cheat prior to the steam deck popularity don’t work as you described (PUBG, apex legends).
lenerdenator
When SteamOS and Ganoo/L00nockz become first-class gaming citizens, that's when I'm building a gaming PC for the first time since 2012.
I'm a Mac guy now mainly because of my job and I like UNIX-y stuff now, but of course, gaming is even more lacking than Linux.
We're so close. Once AAA releases and GPU drivers get there, it's over the cliff, and I could see that being in the next five years.
runako
Back in the Windows XP days, I discovered that running Windows in a VMWare VM, hosted on Linux, was faster than running the same version of Windows bare on the same machine.
I never came up with a good explanation for that.
userbinator
Cache.
Disk cache, to be precise.
PaulHoule
Might be unfair to call Proton a "translation layer" because the Win32 API is not defined in terms of system calls but rather a set of functions exported from a DLL.
Proton supplies a DLL that implements the Win32 API using Linux syscalls. Windows supplies a DLL that implements that Win32 API using Windows syscalls that you're not really supposed to use directly.
homarp
https://www.winehq.org/ calls it a compatibility layer that translates calls on the fly.
so 'translation layer' is not that unfair.
PaulHoule
If it is forwarding to libc() as opposed to syscalls directly than maybe ‘translation’ is fair.
delusional
I think that's how it started out, and also how a lot of developers still conceptualize it. Wine has had to massively expand that scope to reach the maturity it has now. I think it's kind of straddling the line between "Implementation" and "translation".
Philosophically its still a translation layer though. It doesn't really care about correctness if the no apps depend on it. Success is in meaningfully running client software. The implementation of the Windows Libraries are just a way to get there.
Cloudef
Proton/wine also implements many of those NT syscalls because windows programs do use them directly as well
randomNumber7
Does it implement sscanf() with accidental complexity of O(n^2) for compatibility?
shmerl
Wine is translating Windows ABIs (not APIs) into underlying Linux OS and userland. Translation simply means that normally Windows ABIs are meant to be used on Windows, they aren't native on Linux.
jajuuka
Seems more like a test of the hardware than Windows 11 and SteamOS since they ran into driver issues immediately. Not to mention those frame rates are terrible across the board. Just not very good hardware.
vel0city
It's the same hardware on each test. The only difference are the drivers and OS in question. Lenovo has been slow to officially ship updated GPU drivers for this device, but the exact same SoC is used on a number of handhelds.
As for the performance, its a 15W handheld trying to play games that 600W PCs and 300W consoles struggled with just a few years ago.
sitkack
Given that Windows games run faster via Proton on SteamOS, developers should prioritize targeting SteamOS APIs—not Windows. This ensures compatibility with Windows while maximizing performance. Game engines like Unity and Unreal must adopt SteamOS as the primary target, with CI systems rigorously testing both platforms. SteamOS, not Windows, should be the baseline for optimization.
Does Valve run a SteamOS CI/CD farm? I could see a Rust based template and library for calling into this set of APIs that you could upload your well structured project and it would build and test for all platforms. Rust would just be the skeleton, your game logic could be in anything Rust could link to.
SchemaLoad
I'm not sure that makes sense since the Windows API is the source of truth for how something works. If you make a game that works on Windows but not in Proton, Valve will push a fix that makes Proton work the same as Windows. But if you make your game work with Proton, but not Windows, you are relying on some quirk of Proton which isn't guaranteed to work in to the future and as soon as something else needs it to work the same as Windows, your game will break.
Test your game to make sure it works on the Steam Deck and avoid features that don't work on Proton, but you still have to primarily target Windows.
sitkack
You would need to test on both of course. I am arguing that one should target the fast happy-path on Proton as Proton is a subset of the Windows APIs that runs faster than Windows.
SchemaLoad
Proton isn't a subset of the Windows APIs though. It's very likely that you could end up depending on behaviors which only exist in Proton.
MindSpunk
Ignoring that, you know, 99% of users are running Windows and not SteamOS. Test on what your users run. Proton is just an implementation of Win32, you're still just targeting Windows.
Jach
Only 95.45% now (https://store.steampowered.com/hwsurvey) but yeah.
TheBozzCL
I’ve been gaming on Linux for quite a while, and it’s overall been a great experience.
I mean, at least until last week, when I bought myself a new top-of-the-line laptop. I’ve been distro-hopping trying to find something that works and everything failed in its own annoying way. Part of it is because I stubbornly decided to stick to Wayland because I really wanted to use my laptop’s HDR display to the fullest.
Nobara KDE had serious issues handling hybrid GPU mode. The SDR color profile of my built-in display got completely borked - worked fine in HDR or plugged in to a display. But then I had serious graphical artifacts when I plugged in my display with VRR disabled! They went away when I enabled VRR, but the flickering was really bad. All of this went away if I switched my laptop to dGPU mode, but grub stopped showing anything and I couldn’t reach the UEFI anymore unless I removed the SSD.
Next I tried Garuda Dragonized Gaming. The styling is atrocious IMO, but I really liked the OS management tools. Unfortunately I couldn’t get it to recognize the dGPU, so I moved on.
Next I tried Bazzite. I was very impressed by how well everything worked and performed! Atomic Linux made some of my regular setup more complicated, but the challenge was interesting. But then I decided to unplug it from my dock, and I discovered that the kernel was rebooting the built-in keyboard constantly, making it impossible to type anything.
I decided to go back to my go-to safe choice, Pop!_OS. Installation went smoothly as usual, I even followed a tutorial to use Btrfs which I really like. Everything worked great until I plugged in my monitor and the whole system started stuttering.
I decided to give up for now, I installed Windows again and applied Atlas OS to it to trim down the annoying stuff. After some tweaking I got the battery life to something that seems reasonable. Games work as expected, and I’m mostly done finding alternatives to some of my personal setup quirks.
I want to be clear: my switch to Windows is temporary until fixes for the issues I experienced start to surface. My laptop model is very recent, and I don’t have the know how or time to dig deeply into all of these issues. I’ll probably be sick of Windows in 6 months, ready for round 2.
mwkaufma
Better headline: "Lenovo Windows Drivers Bad for Gaming"
Havoc
Recently switched as well (Arch not steamOS, which is arch based) and it's been pretty solid.
Not out of box - games require mild tweaking but nothing wildly challenging. Add parameter to launch command line etc. The proton database & comments on there usually explain what tweaks the game needs
Don't think I'll switch back
mrcsharp
On the one hand I hope with the proliferation of such articles and sentiment that Microsoft would start paying more positive attention to Windows as an Operating System instead of an AI and Advertisement Machine.
But then I remember that it's Nutella at the helm over there and he'll gladly give up ground to focus more on hype and share price.
What a waste.
In my purely anecdotal experience over the last few years, performance ranking is as follows:
1. Steam on Linux via Proton + Wayland (Niri)
2. Steam on Linux via Proton + X11 (Xfce)
3. Steam on Windows
4. Games on Linux launched via other means (it's possible I was missing out on certain flags/optimizations, but this is just about the average experience)
The biggest thing I noticed when switching to Linux was an improvement in framerate consistency, i.e. I'd have fewer situations where the framerate would drop momentarily. Games felt more solid and predictable.
The biggest thing I noticed when switching from X11/Xfce to Wayland/Niri was just an overall increase in framerate. I'd failed this jump many times over the years, so it was notable when I jumped and stayed there earlier this year.
It does feel like games take longer to launch on average, but this makes sense given the fact that it's launching via Proton/Wine.