The new Windows Subsystem for Linux (WSL 2) uses virtualization based on Hyper-V with a Linux kernel that Microsoft maintains themselves. (Yes, Microsoft ships Linux within Windows).
Because WSL 2 basically runs as a VM the only way to do this, was to paravirt a GPU device.
On top of that they apparently wanted to reuse as many parts of their own windows stack as possible for this.
This linux driver is just a plumbing layer, that afaik even rebuilds the Windows API
Microsoft wants this dxgkrnl to be included in the mainline Linux kernel in the long run. The only way this happens is, if the Linux maintainers actually agree on merging the code base. So Microsoft has to comply with their technical demands
The latter is a hard requirement for mainline/upstream inclusion.
This happend in the past with drivers for ML accelerators by Habana Labs for example.
Now even Greg Kroah-Hartman changed it's mind on that matter, and also thinks this was a bad idea.
That alone would imho be a huge win for open source. But it may just even get better than that.
With that, both the Windows and Linux dxgkrnl will probably diverge quite significantly.
But Microsoft is also planning to support GUI-Apps within WSL 2, and for this to work they need technology from the DRM stack of Linux
This is apparently already build and working internally at Microsoft, as they have shown at #MSBuild
"We have consider(ed) the possibility of bringing DX to Linux with no Windows cord attached (...) DX would be running on top of DRI/DRM on native Linux.
lore.kernel.org/lkml/MWHPR21MB…
And as I pointed out before, this is most probably only happening with an open source user space, since this is a hard requirement.
So far Microsoft is publicly saying they are willing to uphold this difference.
So allow me an opportunistic look into the bright open source future at Microsofts WSL-Support.
If Microsoft were to truly embrace Open Source they would than just rebuild their Windows drivers and APIs to model what they did on Linux.
With this they can have a unified stack and API.