Tomorrow marks a special occasion, as Steam Play celebrates its first birthday! A good time to reflect on how it’s impacted Linux gaming.
Steam Play is a feature of the Steam client on Linux that enables you to play Windows games just like you would with any other Linux game. It’s a feature that was long requested by users, with multiple tickets being opened on Valve’s steam-for-linux bug tracker, like this one, all the way back in 2012.
Announced officially on this day back in 2018, Valve shook the very core of Linux gaming and they’ve certainly made things interesting. What they came up in partnership with the team at CodeWeavers is called Proton—the name given to the software behind Steam Play. It takes Wine with some extra patches and bundles it together with other projects like DXVK. Proton is open source too, available to see on GitHub.
Linux users have used Wine for many years to run all sorts of games and applications from Windows on Linux. An issue with Wine usage is that developers see you as another Windows user in their statistics. Steam Play does help to solve that issue, as your purchases do count and show up as a Linux sale on Steam.
Hard to believe it has already been a year since it was introduced! I remember the intense excitement when Valve announced it, my heart was thumping pretty hard at the possibilities. Things have calmed down now somewhat with Valve putting out regular updates.
It’s no secret that Linux had seen practically no attention from AAA studios. Even the porting studios that previously gave us a number of bigger games have gradually pulled back. This is why Steam Play is and will continue to be important to the future of Linux gaming. Not necessarily just to give us easier access to brand-new big games as they come out, but also by enabling newer users on Linux to not lose access to their big back catalogue of titles. This is important to keep people on Linux.
As for the progress on Steam Play, it’s amazed me at times. Many games really are just click and play! One particular example that stands out is when Valve shipped Proton 4.2-4 on May 14th which enabled RAGE 2 to work on release day.
In our own community here at GOL as well as across the wider internet, the amount of posts I've personally seen about Proton enabling people to remove Windows is astonishing too. I've honestly lost count of reading things like "Proton is the reason I deleted my windows partitions", which is always fun to see.
Let’s not get carried away though, it has a very long way to go still. Tons of classic titles don’t currently work, some have big performance problems, ALT+TAB can be a problem and new games with various issues are being released every week. Like Linux gaming as a whole, it faces a rather huge mountain to climb but exciting steps are gradually being made.
According to the statistics available from ProtonDB, the unofficial tracker for Steam Play, there’s currently:
- 5,987 "games work"
- 1,129 games rated "Platinum"
- 1,160 games rated "Gold"
- 750 games rated "Silver"
- 406 games rated "Bronze"
- 493 games rated "Borked" (Broken)
Those ratings do always need to be taken with a heavy dose of salt though, as a lot of people don’t really stick to what the rating was originally meant for. There are cases of people reporting things as Platinum, when a bunch of manual steps are needed and things like that. Overall though, it’s still a good measure.
The next big steps for Steam Play will be (in no particular order):
- Easy Anti-Cheat Support
- BattlEye Support
- D9VK by default to speed up Direct3D 9 titles (currently experimental)
- Some kind of presence on the Steam store
The biggest hurdles of course are the anti-cheat systems like Easy Anti-Cheat and BattlEye. Both of these are currently being worked on for Steam Play compatibility. Once they work, the number of titles supported will likely rocket upwards, since there’s a lot of multiplayer games that use them.
For those worried about any possible decline in "native" Linux support, as I’ve said before in a different article: first we need more users, then we can worry about actual developer support. However, we certainly shouldn’t put off developers from supporting Linux if they can. Steam Play is not a replacement for supported titles but a companion. We need to break the cycle of people not wanting to game on Linux due to not having the games they want and developers not supporting Linux because of a lack of users. Steam Play, at least in my opinion, remains the best way to break this cycle.
Something I find interesting is how there’s been quite a number of posts across here, Reddit, Steam and other places with people telling developers to “just support Steam Play”. In reality, that likely won’t happen often if ever. Mainly as that would actually require developers to regularly test builds with Steam Play and so ensure everything they do works with it. With the drama surrounding Rust removing the Linux version, I thought about this point more. Garry Newman mentioned Steam Play and that “it'll be unsupported by us and could break at any time”.
If a game doesn’t work, you do have Valve’s refund option (great) but when so many games are updated way past release (often multiple times a week), breakage can be a major problem. You might wait weeks, a month or more for an update to Steam Play and it might not even include the fixes your game needs. Although, this can possibly be worked around using custom Proton builds but the issue of support then comes up again.
Newer versions of Steam Play breaking games has happened, but thankfully it’s mostly a non-issue as long as Valve continue leaving older versions available.
Not to downplay the progress of Steam Play but officially supported ports, “native” or not, will remain vitally important. They shouldn’t just break, but when they do, you’ve paid for official support and you would expect the developer to somewhat promptly fix it.
That said, Steam Play is brilliant! I do use it and will continue to do so as both a fan of what Steam Play has enabled and someone who is excited about new software and tech. It’s giving us things we couldn’t get easily before and that’s fantastic. It can also give a fresh boost to really old Linux ports, revive long-dead Windows games with better performance and more. Hopefully Steam Play will continue to mature, get more awesome and eventually when Linux takes over the world, not be required for new games. One step at a time though, right? We will be here at all steps of the journey of course.
For another anniversary post, do check out Andrew Eikum’s write up over at CodeWeavers. Always fun to learn a little behind the scenes info, I especially liked this bit "Proton is one piece in the much larger picture of allowing the Linux platform to be competitive with, and even surpass, other platforms.". I also realise at this point, that Eikum and I are now quoting each other in articles which is slightly amusing.
Additionally, Ethan Lee, the developer of FNA, FAudio and tons of Linux ports said on Twitter "The FAudio and FNA communities owe a lot to the Proton project for their development support over the past year. With our partnership we've done really good work for both Win32 preservation and native games for platforms of all kinds!".
Since it gets emailed in often: I’m currently waiting to hear back from Valve about answering a few questions. They have the questions, just waiting on answers. Unsure if it will happen or not, so fingers crossed on that one.