Proton represents Valve's failure to make Linux gaming attractive to game studios.
Not even those that have Android/Linux NDK builds, bother with porting to GNU/Linux.
Besides blaming Microsoft, look inside into the endless reboots of audio stack, GNOME vs KDE vs XFCE vs Sway vs whatever is cool in Linux Desktops this month, X Windows vs Wayland,...
I was a believer, until 2010, then went back into Windows 7. If it wasn't for gaming and .NET, I would probably be on macOS instead.
Taking care of Linux deployments is part of my job, so I know pretty well how it goes today, don't need the have you tried standard Linux forum replies.
It's not practical for game studios to target Linux natively, the best they can do is ensure their game works fine with Wine (plus, this gets them BSD support!).
I have several games from 10+ years ago from Humble Bundle. The Linux builds all have quirks (my gamepad won't work on any of them). The Windows builds work fine with Wine (the same gamepad works on all of them).
Plus, given the lack of a stable ABI, I can't really run the Linux builds natively either, because they dynamically link some library which doesn't match on my host. I need some special chroot or container (which Steam can manage). Requiring a container isn't any better than requiring Wine.
WINE was not the first Windows on *nix implementation. Sun had Wabi which was Win16 and was also released for AIX, HPUX, and Caldera Linux.
While Linux may be a pain to release software for, had anyone been interested enough, a solution could have been found. No one cared because Windows was the market and everything else was a rounding error.
> Proton represents Valve's failure to make Linux gaming attractive to game studios.
> Not even those that have Android/Linux NDK builds, bother with porting to GNU/Linux.
It is a huge hassle to make a new build to a new platform. You double build system, release management, and testing. Compared to just one plat. Games are complicated, and testing all the dynamic behaviour is also complicated.
Making just a Win32 build really saves resources.
Also Win32 has been a stable api for a long time. Linux apis tend to change, and old games don't get re-built. The win32 build is therefore also provably a lot more long lived, compered to anything you build on linux.
Thats also important because of the Dont Kill Games effort and so on.