Comment by pjmlp
18 days ago
I feel relying on WINE and Proton instead of building a proper GNU/Linux ecosystem will eventually backfire, it didn't happen already because thus far Microsoft chosen to ignore it.
However as Steam vs XBox slowly escalates, Microsoft might eventually change their stance on the matter, forcing devs to rely on APIs not easier to copy, free licenses for handhelds, taking all Microsoft owned studios out of Steam, see which company has bigger budget to spend on lawyers, whatever.
WINE and Proton piggyback on Microsoft's guarantees of Win32 stability. As long as that remains in place (which should be for all intents and purposes forever given MS's customers) they can't really do anything about it.
So, next time you hear the joke about Win32 ABI being the only stable ABI on Linux, remember it's funny because it's true!
Don't forget Windows finally made Year of the Linux Desktop(tm) a reality, Windows is the best desktop Linux distro (Android gets the mobile Linux distro crown).
Windows' desktop environment is much too lackluster for that. It's uniquely inconsistent (many distinct toolkits with irreconcilable look-and-feel, even in the base system), has poorly organized system configuration apps that are not very capable, takes a long time to start up so that the desktop becomes usable, is full of nasty dark patterns, suffers an infestation of ads in many versions.
Besides the many issues with the desktop itself, Windows offers piss poor filesystem performance for common developer tools, plus leaves users to contend with the complexity of a split world thanks to the (very slow) 9pfs shares used to present host filesystems to guest and vice-versa.
And then there's the many nasty and long-lived bugs, from showstopping memory leaks to data loss on the virtual disks of the guests to broken cursor tracking for GUI apps in WSLg...
6 replies →
If all one wants it to run games that use the Win32 API as defined today, surely.
If all one wants it to run games that use the Win32 API as defined tomrrow, anyone's guess.
If the API only has additions, then Microsoft would still need to convince game devs to actually use them (and Valve will point out that if they do, their game will not work on Steam Deck, so there's a clear downside).
If some APIs are removed, it breaks older Windows games. I can't think of any historical API that has been completely removed in this way - even stuff like DirectDraw and DirectPlay is still there even though it has been deprecated for decades.
4 replies →
Note this is a huge improvement from 'binary is guaranteed to not work in the future, probably not too distant' of the standard model of Linux distributions.
If Linux gaming picks up and it gains significant market share then that is not an issue. Game developers will not use APIs that don’t work on the machines of ~20% of their users (or won’t make it mandatory, anyway)
Considering the alternative (ie. the native approach) would result in having very few games on Linux anyway that doesn’t seem that bad.
There's a good chance that if that if Microsoft doesn't act soon enough, and a lot more devices running Steam OS are released, Proton might become the de-facto platform against which many new games are developed, and which engines target.
At that point, there is nothing Microsoft can do.
Agreed. I actually think it might be too late at this point since it takes so long to turn the aircraft carrier.
Microsoft can't realistically deprecate/remove Win32, so all they could do is entice with new APIs. That will work for some games, but especially with the frameworks in place, they'll have to be really good to get people to abandon Steam Deck compatibility to use them.
They already control enough studios, PC and XBox market.
SteckDeck compatibility relies on "emulating" Windows ecosystem.
Remember DR-DOS, OS/2 and EEE PC.
6 replies →
Microsoft controls Windows and DirectX, Valve only gets to play until Windows landlord allows it.
DR-DOS, OS/2 and EEE PC.
Lets see if SteamOS makes the list as well, this is after all round two, Steam Machines didn't go that well.
The Steam Deck is basically the successor to the Steam Machines. The actual hardware didn't go that well, but they laid the foundation in software for what we have now.
So, in a way, the Steam Machines were a great success.
Also, Valve has (for better and worse) far more power and control in the gaming ecosystem than most companies Microsoft has to deal with.
1 reply →
Microsoft tried to put their games on their own store but they crawled back to Steam.
Honestly Windows is more open than MS haters give it credit for.
4 replies →
> Microsoft controls Windows and DirectX, Valve only gets to play until Windows landlord allows it.
DirectX has to stay reasonably close to Vulkan. And Vulkan is not an afterthought for graphics card manufacturers, quite unlike OpenGL of yore.
And Win32 (sans Vulkan/DX) is mostly feature-complete for gaming purposes. Manufacturers can just target the current state of Win32 for a decade more, if not even longer.
3 replies →
On the other hand building Linux binaries and keeping them running for years without maintenance has proven far more difficult than emulating Windows.
For an example track down the ports Loki games did many years ago and try to get them running on a modern machine. The most reliable way for me has been to install a very old version of Linux (Redhat 8, note: Not RHEL 8) on a VM and run them in there.
Naturally it means GNU/Linux will never improve until being forced upon.
It just means Microsoft has put more emphasis on ABI compatibility. This makes sense. In the open source world ABI compatibility is less of an issue because you can just recompile if there are breaking changes. ABI compatibility is far more important in a commercial closed source context where the source may be lost forever when a company shuts down or discontinues a product line.
5 replies →
It didn’t for decades (in this specific regard) why does you think it could change?
People running Linux hate software shipped as binaries due to various technical and ideological reasons. Why would this change?
> I feel relying on WINE and Proton instead of building a proper GNU/Linux ecosystem will eventually backfire, it didn't happen already because thus far Microsoft chosen to ignore it.
Microsoft can't do shit against WINE/Proton legally, as long as either project steers clear of misappropriated source code and some forms of reverse engineering (Europe's regulations are much more relaxed than in the US).
The problem at the core is that Linux (or to be more accurately, the ecosystem around it) lacks a stable set of APIs, or even commonly agreed-upon standards in the first place, as every distribution has "their" way of doing things and only the kernel has an explicit "we don't break userspace" commitment. I distinctly remember a glibc upgrade that went wrong about a decade and a half ago where I had to spend a whole night getting my server even back to usable (thank God I had eventually managed to coerce the system into downloading a statically compiled busybox...).
They surely can, and Valve got lucky UWP didn't took off as they feared.
Microsoft can easily do another go at it.
That is the problem building castles on other vendor platforms.
As reminder,
https://www.extremetech.com/gaming/127475-valve-confirms-ste...
Microsoft is going the opposite of what you're suggesting. Their games are coming to Steam, Playstation and Switch. Also, their game division isn't exactly thriving right now. They have a ton of studios, but they are not selling hardware very well right now.
The more that time goes on, and the more entrenched steamOS/Proton becomes, they will not have any sort of easy time trying to lock-in to Windows. Even now in the earliest days of steamOS, there is blow-back when a game does not support the Steam Deck (which means Proton).
3 replies →
Games aren’t going to suddenly start targeting only updated copies of windows 11 though… if they target even win 10 then they need to be API compatible with what’s currently there in windows. It doesn’t matter what new stuff comes out. Just like how we had to keep using ie6 compatible code for ages for the 5% of people still on windows xp even though it kept us from using modern web tech for everyone else.
5 replies →
> They surely can, and Valve got lucky UWP didn't took off as they feared.
So what, assuming it had taken off it would just be yet another set of crap APIs to develop wrappers for.
2 replies →
> forcing devs to rely on APIs not easier to copy
Would that still not be easier than developing something stable and finding ways to force 3rd party developers to support Linux? (when you can offer them anything in return)