Microsoft Has Another Go At Their DirectX Linux Kernel Driver
Microsoft on Tuesday posted a third iteration of their "DXGKRNL" Linux kernel driver for DirectX / Hyper-V compute support for use within Windows Subsystem for Linux / Windows Subsystem for Android.
This kernel driver is part of Microsoft's work for GPU acceleration within WSL and since originally being published back in 2020 has been met with resistance by upstream Linux kernel developers.
Back in January Microsoft posted a reworked DXGKRNL driver for supporting the Hyper-V compute devices for WSL/WSA and to allow the likes of OpenGL, OpenCL, Vulkan, OpenVINO, oneAPI, and CUDA to be accelerated. Besides the kernel patch series being "rebuilt from the ground up", opening the door a bit to it being potentially mainlined is at least the fully open-source Intel Compute Runtime stack can work atop the DXGKRNL stack. Initially only closed-source user-space drivers were available while at least now there is an "open-source" user-space driver available to address what otherwise would be a blocker for mainline inclusion. Microsoft also has the open-source libdxg library as an interface to their compute device abstraction.
Out this week is now the DXGKRNL v3 driver. This driver is now up to 30 patches (the v2 was at 24 patches) and comes in at 16,190 lines of new kernel code for this driver.
The v3 patches bring various low-level refinements over the prior round of patches. However, it still will be a struggle getting the code accepted to the mainline kernel. Prominent Linux kernel developer Christoph Hellwig already commented on the series with:
This kernel driver is part of Microsoft's work for GPU acceleration within WSL and since originally being published back in 2020 has been met with resistance by upstream Linux kernel developers.
Back in January Microsoft posted a reworked DXGKRNL driver for supporting the Hyper-V compute devices for WSL/WSA and to allow the likes of OpenGL, OpenCL, Vulkan, OpenVINO, oneAPI, and CUDA to be accelerated. Besides the kernel patch series being "rebuilt from the ground up", opening the door a bit to it being potentially mainlined is at least the fully open-source Intel Compute Runtime stack can work atop the DXGKRNL stack. Initially only closed-source user-space drivers were available while at least now there is an "open-source" user-space driver available to address what otherwise would be a blocker for mainline inclusion. Microsoft also has the open-source libdxg library as an interface to their compute device abstraction.
Out this week is now the DXGKRNL v3 driver. This driver is now up to 30 patches (the v2 was at 24 patches) and comes in at 16,190 lines of new kernel code for this driver.
The v3 patches bring various low-level refinements over the prior round of patches. However, it still will be a struggle getting the code accepted to the mainline kernel. Prominent Linux kernel developer Christoph Hellwig already commented on the series with:
This still does not address what native API this matches.
As lonk as this is a just a shim to call functionality not natively availabe on Linux: NAK.
32 Comments