Oh no, you're thinking, yet another cookie pop-up. Well, sorry, it's the law. We measure how many people read us, and ensure you see relevant ads, by storing cookies on your device. If you're cool with that, hit “Accept all Cookies”. For more info and to customize your settings, hit “Customize Settings”.

Review and manage your consent

Here's an overview of our use of cookies, similar technologies and how to manage them. You can also change your choices at any time, by hitting the “Your Consent Options” link on the site's footer.

Manage Cookie Preferences
  • These cookies are strictly necessary so that you can navigate the site as normal and use all features. Without these cookies we cannot provide you with the service that you expect.

  • These cookies are used to make advertising messages more relevant to you. They perform functions like preventing the same ad from continuously reappearing, ensuring that ads are properly displayed for advertisers, and in some cases selecting advertisements that are based on your interests.

  • These cookies collect information in aggregate form to help us understand how our websites are being used. They allow us to count visits and traffic sources so that we can measure and improve the performance of our sites. If people say no to these cookies, we do not know how many people have visited and we cannot monitor performance.

See also our Cookie policy and Privacy policy.

This article is more than 1 year old

DirectX comes to Linux (via WSL2): Microsoft unveils tricks needed to flash a GPU at a penguin

Driver code open-sourced

Build Microsoft has followed up the crowd-pleasing announcement of GUI and GPU-enablement for Linux apps running on Windows Subsystem for Linux (WSL) 2 with details of the tweaks needed to make the magic happen.

The team has been busily developing client GPU virtualization technology over the last few Windows releases, integrating the toys into the Windows Display Driver Model (WDDM) from version 2.5 onward.

Referred to as WDDM GPU Paravirtualization (GPU-PV), the tech had been limited to Windows running in a VM or container, but with WDDM 2.9. the team is extending a hand to Linux guests via a new Linux kernel driver to expose GPUs to Penguistas.

It's a neat trick. The new driver, dxgkrnl, mimics the native WDDM D3DKMT kernel service layer on Windows and uses the VM bus connection to get at the GPUs. "There is," said Microsoft, "no partitioning of resources between Linux and Windows or limit imposed on Linux applications."

Microsoft has also made the code of the driver open source, and insists that the Linux dxgkrnl is a "clean room implementation."

The change has also meant that the Redmond gang has been able to bring the DirectX API to Linux (in WSL2) as well. "This," boasted the Windows giant, "is the real and full D3D12 API, no imitations, pretender or reimplementation here," although it does admit that there is no presentation integration as yet. WSL is, after all, a console experience. While the D3D12 API is good for offscreen rendering, those pixels cannot, as yet, be flung onto the screen.

As well as D3D12, Microsoft has also ported its machine learning API, DirectML and is working on OpenGL and OpenCL to WSL. Support for CUDA in WSL 2 will also turn up in NVIDIA's WDDM 2.9 driver. The gang is, however, remaining tightlipped about its plans for Vulkan.

Microsoft was also uncharacteristically open about when Windows Insiders would get their mitts on the new toys. Fast Ring Insiders are currently on the Manganese (Mn) branch and can expect support for DxCore, D3D12, DirectML and NVIDIA CUDA to arrive in June, when the Fast Ring should switch to the Iron (Fe) branch.

Support for GUI applications and the long wished-for Year of Linux on the Desktop will come a little later. ®

 

Similar topics

TIP US OFF

Send us news


Other stories you might like