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 breathe, 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 (shown below).
Direct Link
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 whose 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.
Direct Link
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.
One thing going for Vulkan over DirectX 12 is the rise of cross platform game titles. DirectX is Windows and Xbox only, while Vulkan could appear on any platform. That didn't used to matter much, but so many titles are released for multiple platforms these days that Vulkan is looking like a more inviting approach.
The thing that kept OpenGL alive, but not really a competition for Direct3D in the gaming market, was that it was still commonly used in CAD applications the entire time. Of course that not only reduced interest in its development compared to Direct3D, but influenced the development that did take place to focus on things that were a boon for CAD more than things that were a boon for gaming.
Personally, I haven't taken advantage of Proton so far. This is mostly because I have enough native Linux games to more than take up the little time I have for gaming these days.
I’ll give you an example of Witcher 2. It’s a native port in name only, written by Virtual Programming. To try and run this on a modern machine will have me searching forums to try and figure out which dynamic libraries it used to link against, the performance was bad when it was Wine with OpenGL, it just got worse in comparison. This is because no one went back and patched the executable to work on modern Linux machines. I don’t see how it will improve with time, but I do see that using Wine + DXVK will get better and better.
The trick here is that because you’re taking the control from the full binary and giving it to the Wine runtime, you are effectively making an openSource interpreter for a proprietary language. The developers only have to worry about making it work on Windows, and proton takes care of the rest. And I think that’s what Carmack meant in his age-old 2012 post about GOL. By making native ports with bad user experience we are only going to turn people off of running Linux.
A word on stadia. While I do think that it may have some negligible beneficial impact, the best it can do is dethrone Windows. Google has a track record of loving Linux, and creating walled gardens of openSource tech that could not possibly be used with Linux. I expect Stadia to become a competitor to GNU/Linux, and far worse than Microsoft. At least with Microsoft we could have a technological edge... we can’t possibly win against a competitior that uses the same tech as you.
What needs addressing and pronto is perception and market share. I think the only way for this to happen is millions into marketing, like what Apple did in the noughties. Idk who might be persuaded to put down the money. Maybe someone prominent in Linux with a proven advertising track record could start a crowdfunding campaign.
Quoting: damarrinLinux is in pretty good shape, barring some snags for new users (e.g. the complete mess with snaps, flat packs, native packages and appimages).
What needs addressing and pronto is perception and market share. I think the only way for this to happen is millions into marketing, like what Apple did in the noughties. Idk who might be persuaded to put down the money. Maybe someone prominent in Linux with a proven advertising track record could start a crowdfunding campaign.
I’d say Bryan Lunduke, but he’ll probably pocket the money.
What next?
Next, we try to convince "fresh blood" that if they truly want proper support they need to adhere to Linux-native releases from now on in order to create more noticeable pressure for developers/publishers, IMO.
After all, "+1 for Linux" is useless if you've already given your money for Windows version to them.
Quoting: appetrosyanThere are very few truly native ports out there.Not true.
Quoting: appetrosyanEven Feral interactive are usually taking a windows code base and add a few minor changes through SDL and only recently began making use of Vulkan. The biggest problem with all of these ports is that neither of them is open source, and you end up with a hard-coded out-dated binary. This is not the case with Proton.That is definitely the case with Proton™. Only now on top of the closed-source Windows™ binary (unpredictably changing patch over patch) you have the imperfect WINE wrapper.
Quoting: appetrosyanI’ll give you an example of Witcher 2. It’s a native port in name only, written by Virtual Programming. To try and run this on a modern machine will have me searching forums to try and figure out which dynamic libraries it used to link against, the performance was bad when it was Wine with OpenGL, it just got worse in comparison. This is because no one went back and patched the executable to work on modern Linux machines.Ah, I see what you've done here!
Nice try, but no. You are trying to sell the "Let's Abandon Native in Favor of Windows-as-a-Target-With-a-Wrapper" by presenting one (and only one!) extreme example ("Witcher 2") as some sort of common practice.
By doing this slap-in-the-face job of "porting" the game "Virtual Programming" has effectively trashed its reputation and now has no hope of returning to Linux business. As it should be, because instead of using "Witcher 2" as an excuse for not making Linux versions we must (and we do!) punish so-called "porters" for bad job. Granted, in case of "Witcher 2" CDPR also had its share of hate, and maybe just a little too much, but honestly, where was their Quality Control back then?
What we need are actual "Day-1" native releases made with Linux in mind from the get-go (or by using Linux-friendly game engines), not some three-years-later "ports" (of games everyone else managed to forget already) with 30% less performance and most of effects disabled.
Quoting: appetrosyanI don’t see how it will improve with time, but I do see that using Wine + DXVK will get better and better.And I see it gets so good that it stops working after a publisher adds "Denuvo AntiCheat" (or basically any anticheat for that matter) or uploads a patch breaking "Proton Compatibility". And all that with impunity because you on Proton™ was given no guarantees at all.
Quoting: appetrosyanThe trick here is that because you’re taking the control from the full binary and giving it to the Wine runtime, you are effectively making an openSource interpreter for a proprietary language. The developers only have to worry about making it work on Windows, and proton takes care of the rest. And I think that’s what Carmack meant in his age-old 2012 post about GOL. By making native ports with bad user experience we are only going to turn people off of running Linux.And they will do just that!
Are you using Proton™? Not our problem! So long and thanks for your money!
Last edited by Alm888 on 22 May 2020 at 7:42 am UTC
Proton(/Wine): The negative side effect is that we see Windows software running fairly reliably on Linux now, with great performance. The positive side effect, is that it's bringing more users away from Windows and to an OS where Windows software isn't running natively, Windows software is a second class citizen, something that is being supported with basically a compatibility solution to help users phase out Windows from their lives, not to endlessly keep using Windows software.
So effectively, Proton neuters the disadvantage of Windows platform lockin, by taking away one of Window's benefits, the Windows game library. But it does so at the cost of making Windows software more universal. This in theory reduces the incentive for Linux native game development.
However the catch is.. Right now there isn't enough incentive for Linux native game development anyway. That's exactly the problem we face. Because there aren't enough gamers on Linux, there's not enough incentive.
Now that could change, in theory there could come a time when there are more than enough gamers on Linux to incentive Linux native game development, but due to Proton's availability and effectiveness, we could see those native games not happen.
However!
In my opinion, that won't happen, and here's why:
Right now Proton is a benefit due to the lack of Linux native game development. This is because of the lack of Linux gamers. The only reason why there'd be incentive for Linux native game development is if the number of Linux gamers increased.
If the number of Linux gamers increased, say to 5% of the market, game developers would have more, not less, incentive to ensure their games run on Linux. Whether that is via Proton or a native game, the game developers would choose which method is most cost effective, but regardless of which they choose, the requirement is the same: The game has to run on Linux.
That being the case, you'd see more games running more reliably on Linux. More games running more reliably on Linux means more Linux gamers. More Linux gamers means more incentive for game developers to ensure their games not only run on Linux, but run well.
Proton is, and always will be, in my opinion, an imperfect compatibility solution. It will never produce optimal results. I could foresee a time when game developers may invest small amounts of effort into ensuring their game runs "Semi reliably" via Proton to maximise their sales, but if Linux marketshare reached the point where the cost/benefit analysis of Linux support equates strongly to profit, that would mean game developers would want to upgrade to "Strong reliability".
Proton is a complex machine with lots of moving parts, it changes regularly, and so does Windows, leaving it up to Proton to provide your game support is a risky move and would not result in the 'Strong reliability' that developers would want to maximise their sales.
Bottom Line: It would be far easier to debug a native Linux game on Linux, than to debug a Windows game running via Proton on Linux.
So Proton is in my opinion a winning ticket and will have a net positive impact for years to come.
The question is really, is it enough?
Reading over everything you wrote Liam about the different platforms competing, I don't think there should be any doubt that the way every major player in this market is competing right now, is with a strategy of platform lockin.
It's the name of the game. Every platform wants exclusives, or a subscription model, or at the very least to lock players into their platform with huge libraries of games, or a sense of dependency on a particular feature set, or 'something'.
And that's common sense. Think about trying to convince someone to switch from one platform to another. What's the first response you get from the person you're trying to sway?
"Why?"
Each platform needs a reason to convert people to it, each platform needs a reason to keep people on it.
Even retail shops selling clothes have customer loyalty programs, because they don't want a customer to come into their store to buy just one pair of pants. They want the customer to come back every month to buy something else.
Sure you can compete on price and quality, but when you got 40 clothes stores in one supermarket alone, and you're all importing your clothes from the same overseas countries anyway, there's only so much you can do to compete on price and quality.
That's business, and whether we as the 'Linux gaming community' wish to acknowledge that reality or not, when we're trying to get more gamers to come to Linux, we're competing in a market full of very large and aggressive companies and corporations, and that is how this 'game' is played. It's a dirty fight that doesn't respect software freedom.
Linux, by it's nature, as a gaming platform, is the only platform that isn't fighting dirty. Our way of competing is to 'open all the things'.
Look at how we compete:
- Improve Linux Desktop UX
- Pro-consumer behaviour
- Wine
- Proton
- DXVK
- Vulkan
- Godot
- Lutris
- Flatpak
Everything we do is all about breaking down the walls others have erected, or genuinely improving Linux to make it a better platform those who might come use it.
Now look at how Microsoft competes:
- UWP
- Exclusive Games
- DirectX
- Buying game studios
We can, and do, work all day until the cows come home, trying to 'open all the things' to neutralise the 'platform lockin' tactics used by those fighting dirty. We can improve Wine, improve DXVK, promote pro-consumer buying activity to encourage developers to support Linux, we can build emulators for console games, open source PS4 remote play clients, etc etc..
At the end of the day, that's like a clothes store honouring the loyalty program of another store, it neutralises the advantage the other store might have.. but it's not actually creating an incentive to come to 'our shop' is it?
What I'm saying is: We're playing strong defense, but we got no offense.
These are all 'reactive' responses to the disadvantages as they emerge and they often take a lot of time too, meaning we're always years behind the actions of our competitors. The early bird gets the worm, gamers want stuff now, not in 4 years. Yes we'll eventually get DX12 to work on Linux 'almost perfectly'. But will every DX12 game work on Linux on day 1? ... No.
So looking forward, the biggest question in my opinion is, how do we get ahead of the curve?
We can 'open all the things' all day long, but what can we do that creates an incentive for either developers to target Linux, or for gamers to switch to Linux?
Arguably we have one constant incentive that works in our favour: Linux is free.
That's good! No other competitor in our market has the ability to say that, this is a good and proper incentive to bring people to Linux. (Microsoft neutralised that advantage for this very reason, when they made W10 free for several years.)
That's one incentive. We need more than that.
What do we do?
There's one advantage we have that other platforms don't have. We have very loyal 'users'. Many Linux gamers are very loyal to the cause. Perhaps our secret weapon is to organise ourselves more. Companies respond to demand. We can fuel demand by coordinated action.
Last edited by gradyvuckovic on 22 May 2020 at 6:38 am UTC
To be fair, I actually love that after getting out of Windows, my machine was truly my own, and even if I couldn't play all the games I wanted, that also mean I was less prone to buy games on pre-orders or at launch unless I REALLY wanted to support said developer, since Wine/Proton are not perfect.
Now... If both Wine and Proton reach a point where they can run the great majority huge chunk of windows executables in a safer environment (I know there are plenty of ways to do it, but what I mean here idiot-proof out-of-box safer), we get the best OS out there. Using a popular OS is fine, having native stuff is cool and being at the bleeding edge of game is something people might want, but me? I just want to be happier using my computer and, right now? Linux is doing a damn good job at it.
Quoting: GuestDo you remember two years ago when proton came out and people on this site seriously thought linux gaming numbers were going to radically grow because of it? :)Yup. I was one of them. At this point about the best you can say is, Proton may be one reason Linux gaming numbers haven't significantly shrunk after the demise of the Steam Machine.
Quoting: appetrosyanI heard this speech a thousand times and will probably hear it again. There are very few truly native ports out there.Few truly native ports, true. But there are a fair number of games designed cross-platform in the first place, which would more or less include games made with Unity.
The problem is not so much with numbers, really. What have we got, a bit under a third of games released for Linux (really pretty amazing considering our market share)? In terms of raw numbers, Feral's releases are a drop in the bucket. And a lot of the smaller, indie ones are genuinely native.
The problem is with the bigger games coming from big studios with their own engines. Very few of those are truly native.
See more from me