There are many older games I can't install on Linux anymore, because they used an older SDL1 or some particular X11 version or some GPU driver that's no longer available for the current kernel.
The exact same game, Windows version, can be installed and runs flawlessly on both Linux and Windows.
So, native Vulkan executables? Sure, if they can continue to run in 20 years.
Those games did weird things. Every distro still ships SDL1, x11 didn’t really break API, and requiring a specific driver is obviously broken from the start. I won’t say none of this happens but the platform isn’t to blame there.
I never understood why glibc needs to break ABI. It should not be allowed to. Ever.
You are not reinventing the wheel. Just maintain the damn thing and keep it running as is. As Linus once said "If there's a bug that people rely on, it's not a bug, it's a feature.".
os/2 2.1 was free during some periods in the 90s, I and several friends got it just for the free floppies. Though none of us paid for windows either, I guess it was free as well.
What do you mean? There is a whole library of thousands of win32 games spanning more than 2 decades and the community is tracking and reporting bugs in each and classifying their level of performance.
That’s one of the most successful computer projects I’ve heard of.
Targeting DirectX and Win32 has become targeting Linux with how good Wine/Proton have gotten. I am able to play brand new games with no Linux support absolutely perfectly through proton. These games run better than games that had linux support actually ran on linux.
Ironically, Win32 has sometimes become more universal than native Linux binaries. For example, Baldur's Gate 3 released a native Linux version only supported on the Steam Deck, whereas the Proton version is verified for Linux almost everywhere. Win32 became the stable Linux gaming ABI.
Same with warhammer, where the developers are claimed to make an actual effort to support Linux with native binaries, but the windows version are more stable than the native Linux version. Ironically.
When I played Hollow Knight some years ago on my Steam Deck, I had to switch to the Windows version under Proton because the Linux native version was giving me random graphical glitches that made it impossible to see what was going on until I moved to a different screen and came back.
You're assuming no game studio would test their windows executable on proton, just because they develop on Windows. If there's non-trivial market share to capture by being "Deck verified" I don't see why that would be the case. Game devs develop on Windows for PlayStation, Switch, mobile etc. At least with proton they don't even need to cross compile.
Microsoft test on and make considerations for Proton for a bunch of their releases. Sony do too. Cyberpunk has specific graphics presets, Baldurs Gate 3 has a native executable, indie games often do too.
There's outliers, it'd be fair to say EA don't give a damn. But a lot do and you can't handwave away Microsoft and Sony as small fish either.
I wouldn't go that far, I would suggest that any game studio interested in the next 10 years of PC gaming will need to at least start doing testing through Proton/Wine to ensure there's no clear/prominent bugs. It doesn't take a lot of vocal users to elevate or kill a game, and Linux usage has passed that mark at this point... Generally seismic shifts in politics are around the 8% mark in terms of overall population, and Linux usage in the Steam survey is close to 4% and some other metrics have Linux usage over 6%.
Literally half the gaming/hardware focused channels I watch have run at least one, if not several Linux Gaming videos and tests this past year... mostly in the past 4 months and mostly praising the state of Linux gaming. It's not going away.
> Thus making Linux irrelevant as target to game studios.
For them DirectX and Win32 is what matters
I don't think so. I rather do believe that many game developers would actually love to give a more native approach for writing GNU/Linux games a try (to make this point more plausible: game developers are very used to game-console-native SDKs).
But what these game developers really demand is a very stable user-space API for everything that is necessary for writing games, which will work reliably on basically every GNU/Linux distribution, and will be supported for at least 20 years.
Android NDK shares many APIs with regular GNU/Linux, in many cases it could be a simple recompile, yet no studio bothers to do so, because the incentives aren't there.
Clang can target windows just fine afaik, although I'm sure the whole process could be improved.
That said, as long as windows is the bigger more profitable market I wouldnt expect a switch, unless the dev tooling situation becomes dramatically better on linux
The only thing that will make native executables attractive is users. A lot of users. Much more than Macos, seeings as few bother with Mac clients either and there's not even a Wine equivalent.
nothing stopping them from developing on Linux workstations, cross-compiling to Windows, and testing with Wine/Proton. saves them Windows license fees too.
I don't see what the problem is with game studios buying Windows licenses.
Sure, the platform is enshittified spyware, but that only impacts the game devs on their work machines (which are probably locked down to protect secret IP anyway). Microsoft has basically lost control over their own platform at this point. The game studios have been refusing to migrate to new APIs until after they're working well in Wine.
If the rest of us can run something decent at home, that's a > 99% solution to the problem.
Put another way, for a long time, you needed to buy an SGI workstation or whatever to make assets for PC games. That didn't hold the DOS ecosystem back.
As for the ABI:
The Linux kernel has started adding syscalls to enable native-like execution of Windows binaries, and game devs are testing with Linux at launch. In the worst case, these are only used by Wine. In the best case, some good ideas from the Windows kernel will be exposed to regular Linux user-land.
I don't see how it really matters if the binaries are targeting libc, musl, or an opensource win32 / win64 layer. It's free software regardless. End-users are getting better backward compatibility under Linux than Microsoft is supporting under Windows. That one victory goes a long way towards winning the entire war.
On top of that, Linux is starting to show better framerates than Windows in the same hardware. It's not 100% of the time, but it's enough that you should run the game in both places if you really care to get that extra few percent out of the hardware.
Frankly, WINE/Proton are likely more consistent targets for game dev/testing... I wish they'd at least do that much more often than not. At least smooth out any rough edges.
I would say it's a lot different, since it's an API implementation, not hardware emulation.
The goal has to be to make native Linux attractive, so that they actually bother to create native executables, using Vulkan and co.
Until then it is no different from playing arcade games with MAME on Linux.