• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

DirectX Coming to Linux...Sort of

btarunr

Editor & Senior Moderator
Staff member
Joined
Oct 9, 2007
Messages
47,668 (7.43/day)
Location
Dublin, Ireland
System Name RBMK-1000
Processor AMD Ryzen 7 5700G
Motherboard Gigabyte B550 AORUS Elite V2
Cooling DeepCool Gammax L240 V2
Memory 2x 16GB DDR4-3200
Video Card(s) Galax RTX 4070 Ti EX
Storage Samsung 990 1TB
Display(s) BenQ 1440p 60 Hz 27-inch
Case Corsair Carbide 100R
Audio Device(s) ASUS SupremeFX S1220A
Power Supply Cooler Master MWE Gold 650W
Mouse ASUS ROG Strix Impact
Keyboard Gamdias Hermes E2
Software Windows 11 Pro
Microsoft is preparing to add the DirectX API support to WSL (Windows Subsystem for Linux). The latest Windows Subsystem for Linux 2 will virtualize DirectX to Linux applications running on top of it. WSL is a translation layer for Linux apps to run on top of Windows. Unlike Wine, which attempts to translate Direct3D commands to OpenGL, what Microsoft is proposing is a real DirectX interface for apps in WSL, which can essentially talk to hardware (the host's kernel-mode GPU driver) directly.

To this effect, Microsoft introduced the Linux-edition of DXGkrnl, a new kernel-mode driver for Linux that talks to the DXGkrnl driver of the Windows host. With this, Microsoft is promising to expose the full Direct3D 12, DxCore, and DirectML. It will also serve as a conduit for third party APIs, such as OpenGL, OpenCL, Vulkan, and CUDA. Microsoft expects to release this feature-packed WSL out with WDDM 2.9 (so a future version of Windows 10).



View at TechPowerUp Main Site
 
That's cute, but I'm still not installing Windows and working on WSL. I'll give Microsoft that they've made a lot of progress, but I like developing on the platform that my software actually runs.
 
A reason to finally ditch Windows? i'm in, i prefer free software.
 
That's cute, but I'm still not installing Windows and working on WSL. I'll give Microsoft that they've made a lot of progress, but I like developing on the platform that my software actually runs.

I'm trying figure out if this would be useful for porting Directx to Linux so-to-speak to be used in tandem with something like wine.
 
A reason to finally ditch Windows? i'm in, i prefer free software.

That's not the point here...

Wine is what allows you to run some Windows applications in Linux. WSL facilitates virtualization of a Linux kernel in Windows, on top of which Linux applications can be run in Windows. I don't see how that relates to ditching Windows at all.
 
I'm trying figure out if this would be useful for porting Directx to Linux so-to-speak to be used in tandem with something like wine.

I guess it could be useful if you didn't want to train a DX guy/girl in Vulkan/OpenGL since you know for sure whatever it is you're running/going to run will always run on WSL and will have access to DirectX.

But why would someone run that kind of hybrid? Wouldn't it be better to just go fully Linux + Vulkan/OpenGL/whatever-API or fully Windows + DirectX?

I honestly don't get what's Microsoft's motive for doing this.

EDIT: Adding to the growing list of questions, would it be useful for VMs? Like, have a bunch of Linux VMs running inside HyperV and using this to expose DX features to the VM in a more direct way?
 
That's not the point here...

Wine is what allows you to run some Windows applications in Linux. WSL facilitates virtualization of a Linux kernel in Windows, on top of which Linux applications can be run in Windows. I don't see how that relates to ditching Windows at all.
Seems clear he misunderstood.

I am not impressed. If Microsoft released the DX API for use on Linux that would be amazing. But the subject of this article is simple nonsense. No one wants to run Linux software in Windows. The other way around, hell yes. This is yet another example of Microsoft having it's head firm lodged were the Sun doesn't shine.
 
Seems clear he misunderstood.

I am not impressed. If Microsoft released the DX API for use on Linux that would be amazing. But the subject of this article is simple nonsense. No one wants to run Linux software in Windows. The other way around, hell yes. This is yet another example of Microsoft having it's head firm lodged were the Sun doesn't shine.

You might be underestimating WSL's usefulness. You can currently run almost any Linux binary on Windows (or compile the Linux Kernel) and this brings that a step further by supporting GUI apps. I imagine with this change, you'll be able to develop a game/app with Unity and test both Windows and Linux builds from the same devbox, seamlessly. I also suspect a lot of games/graphical apps that were previously linux-only (are there any?) will run better on Windows since graphics driver support for Linux is notoriously bad.
 
Adding to the growing list of questions, would it be useful for VMs? Like, have a bunch of Linux VMs running inside HyperV and using this to expose DX features to the VM in a more direct way?

I can't think of anymore usefulness to VMs than I can a regular host.

No one wants to run Linux software in Windows.

Maybe not you, but I have to do it all the time.
 
Microsoft is admitting defeat on their own os.. most important things have been for everything else but windows..

While windows gets more brickage
 
Not with how bad v windows 10 has gotten... more friends switching to mac or linux every day,....
 
At least on the 2004 previews, both Throttlestop and XTU are broken when one of WSL's prerequisite virtualization settings is set to enabled. So if you have a premium laptop or ultrabook that relies on TS to stay away from 100C and throttling, but also might make regular use of WSL, it might be time to pick a path. Not that it's a relevant concern to most of us, but it just goes to show how dependent a lot of us laptop owners are on an ancient driver that Microsoft is always keen to break. Which doesn't even explain why it breaks XTU, because it doesn't rely on the same WinRing0.dll as TS; XTU is official Intel software and is usually unaffected when WinRing0 is prevented from functioning, as a result of Core Isolation for example. So Macroshit has really outdone itself here.
 
Last edited:
To be fair to Microsoft, no laptop should reach 100 C. The blame for that is on the manufacturer mostly.
 
To be fair to Microsoft, no laptop should reach 100 C. The blame for that is on the manufacturer mostly.

Well, "should" and "will" are two very different things. :oops: It's pretty much a staple now for all but the bulkiest Intel laptops. The OEMs take most and Intel some of the blame for that, but Microsoft is the one with the reputation for breaking something in every Windows update and using the Windows userbase as its unpaid testing department interns.

I hope this'll be fixed in the 2004 release. I'm pretty lucky that my desktop takes all intensive tasks off my XPS, but not all developers can say the same.
 
Well, "should" and "will" are two very different things. :oops: It's pretty much a staple now for all but the bulkiest Intel laptops. The OEMs take most and Intel some of the blame for that, but Microsoft is the one with the reputation for breaking something in every Windows update and using the Windows userbase as its unpaid testing department interns.

I hope this'll be fixed in the 2004 release. I'm pretty lucky that my desktop takes all intensive tasks off my XPS, but not all developers can say the same.

For reference, AMD's Ryzen Master doesn't work either if you have HyperV enabled. So I don't think it's broken, but rather it seems to be by design that you can't use XTU or TS with virtualization enabled.
 
Very interesting .. it will probably always be a more wonky experience tho

A reason to finally ditch Windows? i'm in, i prefer free software.

Windows 10 is pretty much free. There is tons of ways to get it for free. Microsoft could not care less about the peanuts people pay for Windows 10 anyway, it's all about marketshare, and they continue to dominate here
 
You might be underestimating WSL's usefulness. You can currently run almost any Linux binary on Windows (or compile the Linux Kernel) and this brings that a step further by supporting GUI apps. I imagine with this change, you'll be able to develop a game/app with Unity and test both Windows and Linux builds from the same devbox, seamlessly. I also suspect a lot of games/graphical apps that were previously linux-only (are there any?) will run better on Windows since graphics driver support for Linux is notoriously bad.
I understood that. Just disagree with such a notion entirely. Want to dev for Windows? Run Windows. Want to dev for Linux? Run Linux.
 
Last edited:
For reference, AMD's Ryzen Master doesn't work either if you have HyperV enabled. So I don't think it's broken, but rather it seems to be by design that you can't use XTU or TS with virtualization enabled.
Dev's often and should use virtualization so this would bite them in that regard too.
 
Well, "should" and "will" are two very different things. :oops: It's pretty much a staple now for all but the bulkiest Intel laptops. The OEMs take most and Intel some of the blame for that, but Microsoft is the one with the reputation for breaking something in every Windows update and using the Windows userbase as its unpaid testing department interns.

I hope this'll be fixed in the 2004 release. I'm pretty lucky that my desktop takes all intensive tasks off my XPS, but not all developers can say the same.
3d party software using very old unsupported library (winring0 has not had a code commit or update since 2017 ) is not Microsoft problem

and its by design that you don't have low level access with hyper-v turned on that is literally why it exists

using Linux is basically a continuous unpaid beta test lets not kid our selves there
 
Last edited:
using Linux is basically a continuous unpaid beta test lets not kid our selves there
Sure, if you're using a distro like Arch or Debian sid. Other distros like CentOS, RHEL, and Ubuntu's LTS releases are actually pretty solid and have undergone more testing that you might imagine. I use Ubuntu's LTS releases for a reason.
 
Sure, if you're using a distro like Arch or Debian sid. Other distros like CentOS, RHEL, and Ubuntu's LTS releases are actually pretty solid and have undergone more testing that you might imagine. I use Ubuntu's LTS releases for a reason.
you know what else has undergone more testing
windows 10 LTSB
 
you know what else has undergone more testing
windows 10 LTSB

LTSB no longer exists. Its replacement is LTSC, on 1809.

Neither does it undergo "more" testing in that sense; it is the mission critical computer systems themselves that come as a package and are tested and verified. All LTSC needs to do is double check that those select few whole systems have no compatibility issues. It doesn't make any extra guarantees whatsoever for your built gaming or workstation PC, and shares standard drivers with the consumer editions.

The "unpaid beta testing" label applies to Arch, which most users tend to stay away from because it's the equivalent (if not more) of being on the fastest, most unpredictable Insider ring build. Ubuntu 20.04 LTS and all its derivatives are full featured releases that are neither comparable to insider builds nor LTSC in what they are.
 
Back
Top