Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
We do often include affiliate links to earn us some pennies. See more here.

Microsoft Build - DirectX and Linux (WSL) plus more

By - | Views: 49,230

During the Microsoft Build 2020 developer conference, Microsoft has raised a number of eyebrows at their Linux plans. We've had a lot, and I do mean a ridiculous amount of people emailing in and messaging across various places about Microsoft. So, to get it out of the way and provide you a place to comment, here we are.

Microsoft put up a developer blog post titled "DirectX ❤ Linux", which is a nice bit of PR bait. In reality, it means nothing for the standard desktop Linux. It's focused entirely on the Windows Subsystem for Linux which Microsoft tightly controls and DirectX itself remains firmly closed source. Not only that, this current implementation relies on pre-compiled user mode binaries that ship as part of Windows itself. Right now it seems to also be focused on CUDA and AI / Machine Learning, however, they also announced Linux GUI applications will eventually be supported on WSL as well.

A Microsoft developer even said on the Linux Kernel mailing list, that there's "no intent" to have people coding for DX12 on Linux. Although another developer also said they "consider the possibility of bringing DX to Linux with no Windows cord attached". That's just words for now though. I wouldn't read much into it.

That's not all, they also announced the Windows Package Manager under an MIT license, which works much like the ones on Linux do in terminal. Better late than never.

Going even further, Microsoft also announced .NET MAUI, an "evolution" of the Xamarin.Forms toolkit which Microsoft said "supports all modern workloads" which once again did not mention Linux anywhere. However, to be properly clear, at least .NET MAUI should work on Linux like Xamarin.Forms but be entirely community supported (as noted on GitHub). Oh and Maui is already used—oops? It's GVFS all over again.

First they embraced Linux doing away with the Ballmer era of "Linux is a cancer", now they're extending a branch saying they were "on the wrong side of history" with open source and now they continue the extending. How long before extinguish phase starts (EEE)? Don't be fooled about Microsoft's stance and their aim here, it's not because they love Linux. They're going where the developers are to continue pulling people to Microsoft services. Nothing more.

If any of it concerns you: I hope you put that energy and effort into continuing your support of the Linux desktop. Help it to grow and prosper. Support your favourite distribution, your favourite application and/or game developer by throwing some money at them.

Article taken from GamingOnLinux.com.
33 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
76 comments
Page: «7/8»
  Go to:

gradyvuckovic May 21, 2020
DirectX is a cancer.

OK that's some strong language so let me walk back a bit from that.

DirectX is a cancer. ... In the sense that, while perfectly capable of performing it's job and technologically 'OK', it's a tool that Microsoft created deliberately to keep developers on Windows and that's still it's job even to this day. It's constantly holding back the success of the open APIs and protocols like OpenGL and now Vulkan that would threaten the dominance of Windows.

Microsoft push DirectX onto developers because they want developers tied to a technology that Microsoft controls, not an open technology that the industry shares.

For this reason, I don't want to see DirectX 'spreading'. I want to see it 'phased out'.

But with DirectX so widespread, 'phasing out' DirectX and transitioning to Vulkan becomes a very tricky balancing act.

DXVK, translating DirectX into Vulkan for Wine, technically allows DirectX to spread further, so the positive impact of DXVK is 'complicated' to say the least. The negative side effect is that we see DirectX running fairly reliably on Linux now, with great performance. The positive side effect, is that the DirectX is being translated into Vulkan, and it's bringing more users away from Windows and to an OS where DirectX isn't natively available, where DirectX is a second class citizen, something that's being phased out with a compatibility solution in place.

Translating old DirectX games into Vulkan while pushing for new games to use Vulkan directly can be thought of as a slow transition. DXVK is open source and can even work on Windows too, so developers could potentially even use it to translate their existing Windows games from DirectX to Vulkan, although I can't think of a reason why they would unless it reliably produces superior performance.

So effectively, DXVK neuters DirectX.

But this 'DirectX <3 Linux' thing is very different.

Microsoft's motives are clear, if they control the technology stack developers use (cough, Github and NPM), they control developers, and if they control developers, they control where the best 3rd party support goes, and they can ensure that it goes to their products and services, not the competitions.

Microsoft created WSL, because if anyone is going to use Linux, Microsoft would rather that person do so in a way that Microsoft strictly controls.. and preferable in a VM under Windows.

It's no different to how we on the Linux side of the fence regularly try to convert Windows gamers to Linux:
Quote"Switch to Linux, you can play those old Windows gamers under Proton!"

Why do we say that?

Because we want those gamers to be using Linux "most of the time", and only interacting with Windows software in situations where there's no native Linux version available, and where that lack of support would result in a loss of users for Linux. It's a very careful balancing act.

What Microsoft's now announcing with DirectX coming to WSL only, I find very concerning.

Effectively Microsoft are now attempting to do something which will fragment Linux. There will be one version of Linux available to a HUGE number of people across the world, everyone with access to WSL (think about how many Windows users there are in the world) will have access to a version of Linux that can directly access a reliable high performance version of DirectX.

To make matters worse?

OpenGL will be translated to DirectX (sound familiar?) and Vulkan is in a limbo state of "It might happen one day", but by the sounds of it, it won't be a first class citizen like DirectX on WSL.

Then there will be the 'Non-WSL' version of Linux that won't have that access, the version of Linux we all use. This effectively fragments Linux into two groups, keeping in mind WSL has 'potentially' a larger userbase than ours.

Software written for 'WSL' that uses DirectX won't work on regular Linux.
Software written for regular Linux that uses Vulkan won't work on WSL.

Think about that: Microsoft is encouraging the creation of Linux software won't work on any version of Linux except for a version of Linux only available on Windows in a VM.

To make things even worse?

Our only response to this, if it results in a significant drop in users to regular Linux, would be to effectively create a DXVK like compatibility layer on Linux that allows the same DirectX API access available on WSL, but translates it into Vulkan. But the performance and reliability would never be on par with that in WSL. Again achieving Microsoft's goal of controlling the technology stack, and thus controlling the developers and where the best third party support is, back on Windows.

Microsoft hinted at the 'possibility' of bringing DirectX to Linux, but don't for a moment think that means they will open source it.

Maybe some would say I'm over reacting, but after watching Microsoft for a very long time, all I see is the same ol Microsoft as ever, new year, new marketing, but same tactics. Stuff like this is why we absolutely need for Vulkan to replace DirectX on Windows, we need to kill DirectX, not let it spread further, and why we need to get the Linux marketshare higher.
Shmerl May 21, 2020
Exactly. DirectX was used as a lock-in tool for decades, so it's as toxic as it gets.


Last edited by Shmerl on 21 May 2020 at 3:38 am UTC
damarrin May 21, 2020
View PC info
  • Supporter Plus
gradyvuckovic is so right it hurts.

MS is saying you don't need to go through the hassle of getting a Linux machine or installing it in a VM, it's right here all done for you, keep using Windows. It's also saying you don't need to learn OpenGL or Vulkan, you can just keep using DirectX.

WSL's capabilities or fitness for a particular purpose or technical merits right now are irrelevant. It'll evolve over time and the marketing message is already out there: you don't need Linux, you just need Windows. Plus the whole we love Linux thing, it's just meant to convince people MS isn't evil any more, MS has changed, come use our products.

MS isn't evil or good, it's a publicly traded company whose only purpose is to generate shareholder value. And they've been doing a very good job of it considering they're still around and they have a desktop OS and office software monopoly.

So this whole exercise is just meant to reinforce the general conviction that you can do everything in Windows, everything else is inferior because you can't do everything there. And they're right.
damarrin May 21, 2020
View PC info
  • Supporter Plus
Oh, and one more thing. If there's a problem with WSL, if it runs slowly or something doesn't work, the perception will be it's Linux's fault, not Windows'. And yes, if someone writes something in DirectX or anything else that'll only work in WSL, the system requirement will immediately be "Linux in WSL".

This is exactly what happened with Java. MS started shipping Extended (as in the second E) Java with Windows and everyone immediately started writing exclusively for it, to the point Sun's Java became useless. This in turn meant that in practice you could only run the thousands of pieces of (the theoretically portable and cross-platform) Java software on the web if you were running Windows and IE. And that's what's happening with Linux right now.


Last edited by damarrin on 21 May 2020 at 6:09 am UTC
psy-q May 21, 2020
Quoting: MohandevirMicrosoft Wayland Compositor

OK, I'm ready for the old folks' home. I no longer understand the world. You all come visit me one day, OK?
Purple Library Guy May 21, 2020
Quoting: Dunc
Quoting: Purple Library GuyThat's Embrace, Extend, Extinguish. It's part of how they (briefly) won the browser wars. It is not how they got rid of Lotus 1-2-3, for instance.
Fair enough, but my point was really that the precise EEE strategy is just a specific manifestation of a general mindset at Microsoft.
Not gonna argue with that.
ckonte May 21, 2020
QuoteDon't be fooled about Microsoft's stance and their aim here, it's not because they love Linux. They're going where the developers are to continue pulling people to Microsoft services. Nothing more.
Come on Microsoft is just doing what every single other company contributing to Linux is doing: their own interest.
Don't be naive, it's not different from Google, Intel, Valve, they all want to make money using Linux in many different ways, they are not charities.
Is that bad? Not necessarily, it will just increase the choice that we have in my opinion.
I think that the new Microsoft is not interested anymore in the OS market, since they are mainly into services now, so it makes perfectly sense.
Purple Library Guy May 21, 2020
Quoting: gradyvuckovicDirectX is a cancer.
Aye, true.
QuoteOK that's some strong language so let me walk back a bit from that.
No, that's fine.

QuoteWhat Microsoft's now announcing with DirectX coming to WSL only, I find very concerning.

Effectively Microsoft are now attempting to do something which will fragment Linux. There will be one version of Linux available to a HUGE number of people across the world, everyone with access to WSL (think about how many Windows users there are in the world) will have access to a version of Linux that can directly access a reliable high performance version of DirectX.
This I disagree with, though. This isn't fragmenting Linux. These people aren't using Linux. They're using Windows, which already has DirectX. Nearly all of them aren't even aware that there's a Linux in there, and those who are, aren't using it to play games, with or without DirectX.
Everyone who would have been considered a Linux user before this announcement is unaffected by it; they were lacking DirectX as compared to Windows users before, and they still are. This seems to me a pretty minor development.

QuoteSoftware written for 'WSL' that uses DirectX won't work on regular Linux.
Software written for regular Linux that uses Vulkan won't work on WSL.
If anything, that just makes WSL less useful. I mean, surely one of the major points of WSL must be to be able to test things that you're writing in Windows but intend to run in production on Linux. Another might be to run Linux software that doesn't run on Windows. If neither of those are going to work what's the point? It's not like anyone's going to deploy production software designed to run on WSL, surely. Nobody's going to have cloud servers running Windows so they can use the Linux VM inside it.
Purple Library Guy May 21, 2020
Quoting: ckonte
QuoteDon't be fooled about Microsoft's stance and their aim here, it's not because they love Linux. They're going where the developers are to continue pulling people to Microsoft services. Nothing more.
Come on Microsoft is just doing what every single other company contributing to Linux is doing: their own interest.
Don't be naive, it's not different from Google, Intel, Valve, they all want to make money using Linux in many different ways, they are not charities.
Is that bad? Not necessarily, it will just increase the choice that we have in my opinion.
I think that the new Microsoft is not interested anymore in the OS market, since they are mainly into services now, so it makes perfectly sense.
That's like saying 20 years ago "the new Microsoft is not interested anymore in the OS market, since they are mainly into office software now". One major point of the OS is that you can leverage that desktop monopoly to push other software and services. If MS didn't control the platform they'd have a much harder time selling the rest of their stuff.
ckonte May 21, 2020
Quoting: Purple Library GuyThat's like saying 20 years ago "the new Microsoft is not interested anymore in the OS market, since they are mainly into office software now". One major point of the OS is that you can leverage that desktop monopoly to push other software and services. If MS didn't control the platform they'd have a much harder time selling the rest of their stuff.
No, it's different now. I'm not talking about software like MS Office, services are a completely different beast.
That's what I'm talking about https://www.zdnet.com/article/microsoft-developer-reveals-linux-is-now-more-used-on-azure-than-windows-server/
Microsoft just wants to make money with Linux, there's no interest in the "extinguish" part of EEE, and the same applies for other companies like Google, Intel and Valve.
Don't get me wrong btw, I've always been against the "old" Microsoft behavior and I don't install Windows on my PCs since a decade at least.


Last edited by ckonte on 21 May 2020 at 8:45 am UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.