Oh, easy: it’s so games written for DX12 on Windows—that are currently run on Linux using Wine—can have a direct, low-overhead GPU driver path, rather than Wine needing to translate DX12 calls into OpenGL/Vulkan calls first.
Of course, if you’re a game-engine developer, you know you can achieve the same by just writing your engine to target Vulkan instead of DX12.
But if you’re e.g. Steam, you’d love to see more games “automatically made” multi-platform (with comparable performance), so that you can sell them to your Linux userbase.
Microsoft themselves are—maybe surprisingly—in the same boat as Steam here. The various game studios they own publish multi-platform games. Those platforms don’t necessarily include Linux, but they do often include Android. And merging code into the upstream Linux kernel is one way to get it to appear in Android.
—————
This change would also allow the graphics of Linux programs running in a VM on Windows to be accelerated through virtualization (i.e. having the X/Wayland server on Linux act as a Windows DX12 client.) It’s analogous to the reason that some VM software offers special-purpose “host-guest filesystem” drivers to the guest, that allows the guest to just pass through filesystem requests at a high level, rather than needing a virtual block device or a networked-filesystem protocol.
This is the reason Microsoft themselves offered. I feel like there’s a lot more money on being able to easily port Windows games to Android, though.
The linux community seems to believe that the world will just naturally bias toward open systems given enough time. Maybe Vulcan will own the world in a hundred years; we'll wait it out. But there's no evidence that this is the case. People just want their problems solved; they want working games, or a freakin' powerful office suite, or whatever. That's why Linux succeeded in the server in the first place; it wasn't (mostly) its libre licensing; it was just better at a lot of things, which led software to be written for it, which entrenched its position.
We can solve problems and push for openness at the same time. Linux can have DX and HyperV and whatever, while we still make open solutions better. Vulcan may actually own the gaming world one day; its very good. But I doubt LibreOffice will; Microsoft Office is just too good. Why not try to do both?
When my employer moved from Mac servers to Debian it was mostly slower performing and less obvious with the lack of a GUI.
>> Oh, easy: it’s so games written for DX12 on Windows—that are currently run on Linux using Wine
And why does Microsoft give two shits about that?
Make no mistake: any time an Xbox title isn’t explicitly chosen to be a “console exclusive” for marketing purposes, Microsoft would love nothing more than to port it to every system imaginable. Look at what they did with Minecraft.
Microsoft proprietary APIs are not and can not be part of a free software platform, that is a contradiction. They can be part of a new MS-Linux platform masquerading as the real thing until support for the real thing dries up.
(Why? Because the original studio is busy making other new games. Or because the publisher got the game produced as a one-off work-for-hire, so the original studio has no ongoing contractual relationship for the publisher to lean on. Or, sometimes, because the studio is defunct, but customers are still interested in getting new ports of the game, so "you gotta do what you gotta do.")
Publishers can't change what engine a game is written in; and there's certainly no positive ROI in a ground-up rewrite. They just have to cope with the game's codebase as-is, relying on combining small tweaks with techniques like emulation/virtualization to get the port shipped. Pushing to get the target platform to natively support the APIs the game uses, is just another such strategy.
> Microsoft proprietary APIs
What is a "proprietary API"? APIs aren't IP. Even in Oracle vs. Google, the copyright case had to focus on plagiarism of header files, not of the API.
The moment there's more than one (popular) implementation of an API, its original creator loses de-facto control over it. Third parties interested in using that API will almost always focus on the lowest-common denominator subset of the API supported by both implementations.
Which is to say that, if anything, Linux implementing DX12 would be bad for Microsoft's control over DX12, since it means that Linux could "hold DX12 features hostage" by refusing to implement them. Just like Chrome and/or Safari are currently holding a lot of HTML5 features hostage from appearing in most web-apps, by being a hold-out on implementing them.
Oh my god, the horror. Are you suggesting that I could, I dare to think it, pay Microsoft some money for a working operating system that meets all of my needs? Someone needs to call the EU and get this shut down, this is unacceptable behavior.
Look, this fear out of the linux community is why I'm hesitant to immerse myself in it. Lets say I decide to build a linux app that is dependent on Microsoft APIs, as you fear: what's stopping you from just not using it? If Microsoft allows this, and we're legal with the licensing, what gives you the right to (1) control how I build the software I want to build, and (2) control what kinds of software my users want to use?
Well, I think if we dig deep enough, the reason is some variant of "because then developers will take the easy route and use the generally pretty good and well supported Microsoft APIs, and the open linux APIs will flounder". Which is a weird combination of 'not invented here' and self-loathing from the linux community that is startlingly unhealthy. Microsoft is making an effort toward openness and interoperability here; we can argue their intentions all day, maybe they're good or bad, but its (some members of) the linux community who's saying "no, we don't want to be open, we want to live in Linux world and pretend like no one else exists." Sounds a lot like 90s-00s Microsoft.
And what's the worst case scenario? Microsoft suddenly removes their mask and admits they were the evildoer we all feared them to be, like a scooby-doo villain? Ok? They tried pulling that with the browser ecosystem, and Office, and Java, and the world is still spinning. Linux is healthier than ever.
You are free to do that now. Maybe Linux meets your needs, or maybe Windows, or something else.
>> Lets say I decide to build a linux app that is dependent on Microsoft APIs, as you fear: what's stopping you from just not using it? If Microsoft allows this, and we're legal with the licensing, what gives you the right to (1) control how I build the software I want to build, and (2) control what kinds of software my users want to use?
Nothing gives me that right. The problem isn't about you or your users. The problem is that longer term, developers like that end up using MS APIs on Linux and then all Linux users are forced to use MS APIs and we all end up paying for it. I don't pay MS anything these days, I use Apple and Linux systems and I don't want MS and other developers to ruin one of my options.
Fortunately the Linux Kernel folks are well aware of this type of thing and don't allow GPL licensed shims that serve no purpose other than supporting proprietary binary blobs.
M$ knows this.
It's time the Linux community starts to realise it too.
It's even more stupid when you consider that microsoft is going in the data collection business like facebook/google/etc. Not just their ever expanding "telemetry", taking more and more control away from the users but their acquisitions like linkedin, github, etc ( which are fundamentally data extraction companies ).
The amount of "love" microsoft/bill gates/etc gets here is rather disappointing. I'm sure it's part paid PR and partly people making a living on the windows/microsoft stack, but still sad.
Billionaires are evil, but don't you dare say anything bad about saint gates. He is here to save the world. Eerie. Facebook, google, etc are evil and people should stop using it, but I need microsoft in my life. Strange.
No, The OS is not their main money maker anymore. Even the team designing the windows OS has become much smaller ( inside sources). The focus is on the money maker - Cloud.
No, don't. That seems to be what they want. It's not about running linux apps on Windows. It's about blending the two so that even Linux apps are dependent on Microsft APIs and such. What is the point of bringing native DX12 to linux if not that? BTW they floated that a while back and the kernel folks said no.
It's the "extend" phase they are in now. Once they extend linux and you jump on with that gui, then the work to extinguish the other options, or just dont care because they get to take in money for every user of MS/linux hybrid.
This is painfully obvious and a bunch of people on here are saying "STFU" unless you have proof of their intentions, which is a stupid argument given the history and current efforts to "extend".