Well, Valve and Linux Gaming together have come a very long way since the early blogs posts about getting Left 4 Dead 2 running fast on Linux to the new Steam Deck. But just how far have they come? Let's do a little reminiscing.
The Rise of Steam on Linux
It's hard to imagine that it's now been around 9 years since Valve confirmed that the Steam Client would be coming to Linux, after previously denying it was happening back in 2010 in an interview with GamesIndustry.biz. Things were pretty quiet until much later in July 2012 when it would all be confirmed. Valve opened up their special Linux blog to talk about their plans, where they said Gabe Newell had directly been interested in getting Steam and the Source game engine to Linux.
During July 2012 it was also the time that Valve's Gabe Newell mentioned his intense dislike for Windows 8, saying very clear and bluntly how "I think Windows 8 is a catastrophe for everyone in the PC space.".
After that, their now quite famous (amongst Linux users) blog post titled Faster Zombies! appeared in August 2012 to talk about getting their games performing well on Linux, to the point that they mentioned it ran better with OpenGL than on Windows 7 with Direct3D.
This was felt across the industry, with many taking notice of what Valve were saying, even back then they were a company everyone had a keen eye on. Even Microsoft took interest, as ex-Valve developer Richard Geldreich mentioned in a personal blog post how weeks after the Faster Zombies post that Microsoft appeared and seemed to start taking DirectX seriously again. So not only did Valve's plans for Linux expand to everything we have now, elements of it caused Microsoft to improve gaming too.
What began with a limited Beta that saw over 60,000 people originally sign up for testing back in November 2012, Valve quickly expanded to a fully public release in December of 2012. Things didn't calm down after this, with Kotaku catching up with Gabe Newell in December 2012 on the red carpet at the VGAs who briefly mentioned some sort of hardware plans. This was then backed up by reports quickly circulating in January 2013 about a Valve engineer attending the SSIM 2013 conference where they seemingly confirmed an upcoming Valve console. This was later confirmed in another article on The Verge in January 2013 where Newell talked a little about their plans.
Moving forward to February 14, 2013 and Valve then officially released the Steam client for Linux for everyone as it left Beta. From there, things have changed a lot over the years.
After they released Steam for Linux properly in early 2013, it was a very exciting time to be on Linux. Suddenly so many of us felt this awesome sense of validation that not much else had done before (except, perhaps, early Humble Indie Bundles). A lot more was yet to come. Finally, we could tell our friends "I run Linux!" and not be laughed out of the room. Okay, that didn't happen, they still laughed but at least we could go home and play Left 4 Dead 2 to dry our tears.
You could of course play games on Linux before Steam arrived, however it was few and far between. Being realistic, we had close to nothing worth talking about. Mostly a bunch of open source games, id Software threw out a few unsupported Linux builds like Doom 3 and Quake 4, and certain earlier stuff), there were also a few older ports from the likes of Loki Entertainment and Linux Game Publishing (who both died out some time before) and quite a few Humble Indie Bundles but Steam arriving really helped usher in something of a small golden age for Linux gaming. Even back then the compatibility layer Wine was in some really rough shape and not a whole lot worked and performed well (there was some that did though of course).
Along with the release, when Team Fortress 2 also let everyone on Linux in officially Valve did something a bit amusing. They offered up a "Tux" Penguin in-game cosmetic item, to anyone who joined the game on Linux up until March 1, 2013.
At this point things were going well but why? Sure, Newell disliked where Windows was going but was that enough to suddenly pump resources into a completely unproven market for serious gaming? Was it the upcoming Steambox?
SteamOS and Steam Machines
It really wasn't long before everything would change yet again and we would have some real answers. We come to September 2013, and it all suddenly became rather serious, with Valve finally announcing SteamOS and Steam Machines. Looking back on it a lot of people probably don't remember just how close this announcement was to Steam coming to Linux, a time when everything was so fresh.
A mere 9 months or so between a public Steam for Linux Beta to the Steam Machine announcement. It's actually a little bit crazy to think about how ridiculously quick everything moved back then.
Valve's Gabe Newell famously said "Linux really is the future of gaming" which you can see in the video above. See the full talk from Gabe Newell available on our YouTube Channel.
We did end up seeing specialised porting companies including Feral Interactive, Aspyr Media, Virtual Programming and many smaller developers like Ryan "Icculus" Gordon, Ethan Lee, Knockout Games and others try to get more AAA/AA and indie games on Linux. For a time they succeeded with XCOM, Borderlands 2, Civilization V and VI, Mad Max, Tomb Raider, Company of Heroes 2 and so on plus tons of high quality indie games.
The first of those bigger ports (apart from Valve's own titles) was likely Serious Sam 3: BFE from Croteam which was playable on Linux shortly after Steam arrived. The likes of Civilization V from Aspyr Media didn't come until June 10, 2014 closely followed by XCOM: Enemy Unknown from Feral Interactive on June 19, 2014.
Remember this image?
This banner for The Witcher 3 wasn't live on Steam for particularly long in June 2014, only a few hours, until Valve pulled it down and neither Valve or CDPR ever properly commented on what actually happened. As a side point, Valve's investment into Wine to turn it into Steam Play Proton (along with DXVK, VKD3D-Proton) should help prevent anything like that happening again. We did speak to a few developers back in 2017 on why Linux games saw delays and plenty of it still remains true years later.
It should also be made clear that Valve had a nice hand it the creation of Vulkan too, including early visits from The Khronos Group to Valve's offices. Valve developer Pierre-Loup Griffais was also involved early on too, including doing talks on it back in 2015 at GDC although they were involved earlier than this. One such talk can be seen here with other industry members. Over time Valve developers and contractors (amongst other vendors) have also worked on various Vulkan extensions. Developer Dan Ginsburg did a presentation at SIGGRAPH in August, 2015 about porting Source 2 to Vulkan and then Valve were also one of the earliest companies to showcase Vulkan actually being used in Dota 2.
Everything seemed pretty calm then for a while, we saw a number of ports appear and we seemed to be enjoying quite the heyday. Eventually, Valve released the Steam Machines and SteamOS after a few years in November 2015 and it turned out pretty quiet - there were no major new releases to come along with it. Honestly, the launch was thoroughly underwhelming overall.
Steam Machines were unfortunately pretty short lived for many reasons. The marketing was overall pretty confusing, with multiple vendors appearing (and some never actually went through with making one), there wasn't actually many games and as it turned out there really wasn't a big market for yet another living room box at the time. The point about games was an especially harsh point, with multiple confirmed ports never actually happening. It also didn't take long for things to drop off after the failure of Steam Machines and most companies over time reduced the amount they ported or stopped entirely. Linux gaming was now getting into a tougher spot.
However, it's worth remembering the impact that Steam Machines actually had. They absolutely did trigger something that for Linux users was felt long after they vanished. Linux gaming went from close to nothing, to (currently) near to 8,000 games marked as having a Linux version on the Steam store. Porters like Aspyr Media (original interview) and Feral Interactive (original interview) both mentioning that getting into Linux ports was due to Steam Machines and SteamOS. Not only that, the various game engines that added Linux support too, more apps come to Linux and so on - the resulting improvements were felt everywhere.
No matter what, Linux on the Steam Hardware Survey didn't move a whole lot (some stats). Never managing to break 3% and often hovering around 1% for years. Questions were starting to be asked about Linux and Linux gaming, and how things could improve. What would Valve do now Steam Machines were gone and properly wiped from Steam back in March, 2018. After this though, Valve developer Pierre-Loup Griffais (who has been heavily involved in Steam Machines, Proton and now the Steam Deck too) mentioned in a post on Steam how Valve were continuing to support Linux and they had some plans in motion they weren't yet ready to talk about.
DXVK, Steam Play Proton
What plans? What could Valve possibly be doing? Why were they still investing into Linux gaming? They're not a charity, they're a for-profit business and honestly Linux gaming can't have been making them much money over this time, a drop in the ocean compared with the revenue they get from a cut of Windows games. So why?
Curiously, a project called DXVK appeared back in January 2018. DXVK translates Direct3D 9, Direct3D 10 and Direct3D 11 to Vulkan when used with Wine. This means you get better performance from Windows games played in Wine with it, with the first title it supported being NieR:Automata. It very quickly expanded to cover more games, gain more performance improvements and make Wine gaming suddenly pretty impressive with it. People repeatedly asked the developer how they could support them and donate, which the developer repeatedly denied and just carried on working. Why was it suddenly getting lots of updates?
It wasn't long before we found out why to all of those previous questions.
Rumours started flying once again on August 14, 2018 about Valve possibly adding support in the Steam client for compatibility tools. We speculated they might use Wine and DXVK and even DOSBox and of course we were totally unprepared for what was to come only a week later.
Suddenly on August 21, 2018 we had the official announcement from Valve about a new version of Steam Play in partnership with the company CodeWeavers. Originally, Steam Play was a simple tag/icon on Steam to show that you would buy the game once and have access to all versions of a game (Linux, macOS, Windows) but this tag was actually removed from the Steam store at some point in 2016. Valve had taken the Wine project, added in DXVK (confirming they were funding its development) along with other patches and integrated it into the Steam client to enable running Windows games on Linux with Steam. This began a whole new way to play games on Linux, without fiddling directly with Wine for those titles that didn't have Linux versions and with that something of an explosion in the popularity of Linux gaming with many bigger sites and YouTubers actually taking notice.
You can see our previous interview with the creator of DXVK for some background info.
After the news of Proton we went around to a few developers to find out what their opinion on it was including porter Ethan Lee, Subset Games, and Rémi Verschelde of Godot Engine. Worth noting that porters Ethan Lee and Ryan Gordon have some updated thoughts as of July 2021.
There were a few times when things looked a little dicey. One such example is where Canonical, creator of Ubuntu Linux announced back in June 2019 that they would be dropping 32bit support for future Ubuntu releases. Valve were clearly not amused, stating they would no longer support Ubuntu or recommend it and it wasn't long before Canonical did something of a 180 and decided to continue supply 32bit packages but in a frozen form. Panic over? Phew. Thankfully, it all seemed to be quiet after that.
Valve continued to get more improvements across Linux in a number of ways since the Proton announcement. One of them was the Steam Linux Runtime Container in November 2019, which allows you to put games into a more contained environment that can prevent dependency issues and it gives developers something more solid to test against. Later, Valve then updated Proton to also use the newer runtime contain system as of Proton 5.13-1 in October 2020. A clever and very useful idea, since there's some older ports that end up with some sort of library dependency rot that causes them to break on newer Linux distributions. Even some modern ports have trouble, like Game Maker Studio which doesn't seem to supply the Linux dependencies needed and ends up relying on exactly what ships with Ubuntu (causing libcurl errors) - which Valve now seem to have solved with the latest updates to the Steam Linux Runtime Container as of the last month or two.
Collabora is another company Valve has been working with to improve Linux gaming too. Collabora developers have been involved in the Steam Linux Runtime Container, along with hacking away at the Linux Kernel with "futex2" to try and get new features hooked up to help Wine and Proton - which as of earlier in July 2021 still hasn't been finished and merged into the mainline Linux Kernel. This Kernel work should further help compatibility and performance with Windows games and Proton.
This overall Linux improvement work continued apace, with Valve getting work done on AMD GPU drivers to improve performance even further with the announcement of a new Mesa shader compiler "ACO" in July 2019. The idea was to reduce shader compile time for games, and help to increase overall FPS while reducing some stutter too. No guessing needed on why they focused on AMD GPUs, as they have open source drivers so Valve had the ability to actually do something about it directly.
Even more was coming. Valve forked the VKD3D project as VKD3D-Proton from the Wine team which, which focuses on translating Direct3D 12 to Vulkan for Proton (which seemed to appear properly around July 2020). This was Valve clearly preparing for the next wave of Windows games, which would increase the number using Direct3D 12 and plenty would likely not have options for earlier versions so they needed to do something. It's worth noting here that the original creator of Wine's VKD3D died back in 2019. So now they had the ability to quickly bring up Direct3D 12 support for Proton without relying on the Wine team.
That wasn't the last of it, there's many other things across Linux that Valve has helped funding. Like the Zink driver for example, which runs OpenGL on top of Vulkan as Valve has been sponsoring developer Mike Blumenkrantz to work on it too.
One big question remained: why were Valve doing all of this? What was the point? Much like when we wondered with previous announcements, there needed to be a goal. Linux was still not gaining any notable ground on Steam. Finally, the real answer came on July 15, 2021.
Nearly a decade later we come to the Steam Deck (see also: our early thoughts), the culmination of all the work Valve and their contractors and partners have put in to usher in the possible next golden age of Linux gaming. It's truly hard to imagine just how much a difference it will make right now, but hardware is absolutely the key to gaining more market share and getting users and developers to properly pay attention.
At last, your Steam library can follow you around everywhere and taunt you on how much of it you haven't yet played.
The Steam Deck has the chance to really get everyone and their dog to pay attention to Linux in some way. Not only is it a handheld gaming device, it's also a full Linux desktop too. Powered by SteamOS 3, which is based upon Arch Linux under the hood if you hook it up to an external monitor, and you've got yourself the full Linux experience. At last, "btw I use Arch" will no longer be just a meme but a reality for many people (and lots won't even realise it still) and perhaps now it will turn into Arch Linux gaming on the toilet, or the train - whatever.
It's been a long 9+ years for Valve and Linux.
With thanks to win8linux for the title idea.