Linux Gaming's Ticking Clock

(Originally posted to Gaming On Linux)

Years ago, when we could still meet in the hundreds in small enclosed spaces, I was speaking to a Valve employee and brought up the topic of integrating Wine into Steam. I was met with something that I assume is taught to all of their employees during orientation - a sly, precise and knowing smile. When performed correctly it’s a smile that offers up no information other than a confidence that there are good things to come. Back then Proton was very clearly something to be held close to the chest, not to be shouted about, at least not for a while.

Now, Proton is all anyone wants to talk about when Linux gaming is brought up. It comes with an argument just waiting to spring out at you - are you for or against? Are you perilously blind to the devastation caused by opening pandora’s box, or are you a stifling traditionalist unwilling to let the platform evolve towards a bright future? I don’t think either of those is a hill worth dying on, but I’ve heard these exchanges enough now that I can tell they’re coming by the hairs on the back of my neck. It’s not that these aren’t important debates to have, it’s just that the angles people take are so often unable to give the pragmatist room to breath, let alone space to get down and dirty with the real issues at hand and how to solve them.

I think I now understand why the Proton cards were kept so hidden, sometimes it’s not worth inciting an angry debate without letting something speak for itself first.

Today there’s an undeniable truth that in a short window of time we’ve gained a wealth of games to play on Linux, but instead of the current dialogue focusing on finding common actions - how to capitalize on that potential, how to generate growth or even how to prevent too much damage being done, it too often ends up distracted in arguments that only focus on the past. These are fruitless. There’s nothing to be gained but the ego boost of a hollow personal victory. “Is Proton good or bad for Linux gaming?” is a tired old question, that was thrown around in slightly different forms long before Proton even existed. There’s a far more interesting topic: “Proton is here, so what next?”. Finding answers to this, collectively, should be our urgent priority, because there’s one thing seldom brought up in all these discussions: Proton’s current success is the child of impeccable timing, and it may not last.

There are many factors to this, the first being the currently extended console generation. In 2019 almost all Windows games were still rendering with DirectX 11, a technology released 10 years prior. DirectX 12 was launched five years ago but we’re only now seeing games start to truly use it. Part of Proton’s success is founded on the fact that Vulkan is a generational leap above the tech current games are built on. It’s not even simply DirectX 12, which is a mostly solved problem on Linux, the incoming generation is going to leapfrog that directly into entirely new technologies like Ray Tracing, DLSS and Nanite. You can see hints at the impact of the generational jump that’s about to happen in NVIDIAs recent DLSS video, Epic’s Unreal Engine 5 Reveal or the jaw-dropping Marbles RTX demo.

These new technologies may well have great compatibility with Vulkan and Proton, but not if Vulkan can’t keep up - it may be that games start requiring them sooner as a baseline, and there could be significant unavoidable performance hits in a translation layer just like in the old days of DirectX to OpenGL. Because of this, Vulkan adoption and wide-spread use are vital to keeping Linux capable of cutting edge graphics tech. Supporting the use of Vulkan not only massively helps Proton, but it also helps Khronos stay at the cutting edge, making future native ports a much simpler prospect.

The potential success of Stadia could be a key factor in this - the more Google looks to push the boundaries of graphics hardware, the stronger Vulkan will need to be when put up against DirectX. Desktop usage of Vulkan is growing, with Vulkan renderers being added to games like Red Dead Redemption 2 and Rainbow Six Siege while Android use is on the rise as well, the success of both of these will be another factor in keeping Vulkan at the forefront. There was some doubt only a few years ago about whether Vulkan would end up as another OpenGL, an unwieldy, rarely-used-on-desktop API with dodgy driver support and lacking widespread expert knowledge, but I’m hearing those doubts less often these days. One situation that might play into all this is if Microsoft brought DirectX to Linux which, while farfetched, doesn’t seem so insane anymore as it’s coming to WSL, though the implications of a move like that are beyond anyone’s fortune-telling abilities.

Another view on Proton’s impeccable timing would be that Steam’s strong market share on Windows for the last decade is only now hitting some serious competition. The Epic Games Store is the big challenger in the public eye, and while there’s more to be done there (Epic integrating Proton would be special) the fact running it on Linux is a mostly solved problem, for now, has taken it out of focus a little. - we shouldn’t get complacent. The second challenger that may be a far greater threat is the dirt-cheap and expansive Xbox Game Pass, which encourages a lack of game ownership that completely breaks the option of gamers taking their games with them when moving Linux (short of buying an Xbox). It also has the potential to finally transition more games to UWP, a format incompatible with Wine, and we recently heard that Microsoft is working on unifying their executable formats into something new, potentially causing even more problems.

For one flavour of pragmatist Stadia and other streaming services offer up a tangible step towards mitigating those issues by making your OS of choice irrelevant to the games you play. These services will give many Linux users direct access to the best AAA titles on their launch, and in Stadia’s case, they’re delivered using Linux virtually end-to-end. Xbox Game Streaming and Playstation Now may also unlock a huge library of console games without the need to invest in the set-top box. Streaming might not be your cup of tea or could be inaccessible due to your location, but it can’t be ignored as part of the wider picture - a strong way to play games on PC without the need for a specific OS has clear benefits for Linux users.

Another simple counter is that it’s becoming more and more obvious that Proton has far better historical compatibility with games than Windows does, and particularly better than Mac. This situation is likely to continue to improve, and it’s a massive stealthy benefit for many gamers. Game preservation is a worthy shared goal to get behind, and we could look to establish Linux as the platform of choice for nostalgia seekers, tinkerers and modders for the digital age, in the same vein to that cabinet with a well preserved Nintendo 64 and a bunch of old games that some of us keep.

One last piece of the Proton timing puzzle is Anti-Cheat. We’re nearing the end of a relatively long grace period where game developers shy away from going too invasive with protecting their IP. Most DRM and anti-tamper solutions are solvable in Wine, but Windows kernel-level anti-cheat has been around for years and is a much tougher challenge, bringing to a halt the hope of a quite a few games working on Linux. This level of invasive security isn’t just a problem for Wine, it should be seen as a dangerous obstacle for all gamers, but it’s a difficulty that’s unlikely to go away in the short term as we see more AAA developers begin to rely on it, even though other methods have proven viable and are used in world-class esports. The problem is that invasive anti-cheat is now seeping outside of competitive multiplayer games - the latest victim is Doom Eternal, a game who’s single-player campaign while writing this article became inaccessible on Proton due to the addition of Denuvo’s new Anti Cheat.

However, it isn’t all doom and gloom - broader campaigns against invasive anti-cheat are making small steps, Microsoft is granting users the ability to disable anti-cheat for single-player in the MCC, and most recently Denuvo Anti-Cheat is being removed again from Doom Eternal. In other good news, Valve is working with the developers of Easy Anti-Cheat, and Denuvo is working on out-of-the-box Proton support, but standing united with Windows gamers in setting a safer precedent for how companies handle these tools, regardless of Proton compatibility, is something we all should aim to do.

Proton’s timing was its strength, but native ports are another story. It’s probably fair to say that the number of ports has reduced over the last year, and you can’t blame developers for taking the easy route when they find their game works flawlessly under Proton. However, the story in terms of native development is more positive. In the open-source world, Godot has a significant fresh round of funding with its 2020 showreel showing a notable upward trend in quality and quantity, while Blender made a huge leap with 2.80 last year. For the big-name engines, both Unity and Unreal’s support for native game development is improving at a solid pace. Combining these with great progress in the Linux Distribution world for ease of use, installation and compatibility, as well as the multiple manufacturers now providing more high-quality OEM Linux laptops means that native development has never been easier, and keeping it strong helps to counter any damage Proton may do.

It would be easy to have been pessimistic here, but I hope I’ve shown there’s a fair amount optimism just waiting to be had once everything is weighed up. Proton may have come with a strong tailwind, but there are a plethora of other factors at play to help keep Linux gaming fresh. If there’s one action to be taken here it’s not to stick all of our eggs in one basket - we have to stop acting like Proton is the only choice on the table, that’s a massive distraction pulling us away from coming together and solving this puzzle collectively and co-operatively. If we do that right, then next time someone brings up Proton and Linux gaming we can offer them up that same knowing smile, knowing that the future should speak for itself.