Am I misreading? It looks like they ported the DirectX runtime to Linux under GPL 2.
>> "This is the real and full D3D12 API, no imitations, pretender or reimplementation here⦠this is the real deal. libd3d12.so is compiled from the same source code as d3d12.dll on Windows but for a Linux target. It offers the same level of functionality and performance (minus virtualization overhead). The only exception is Present(). There is currently no presentation integration with WSL as WSL is a console only experience today. The D3D12 API can be used for offscreen rendering and compute, but there is no swapchain support to copy pixels directly to the screen (yet )."
1. Their kernel implementation is effectively just a paravirtualized proxy to the Windows DX API. So it won't be useful for bare metal users.
2. Only the kernel driver is open source (and presumably that is only thanks to the GPL). The user-mode library is a proprietary component shipped with Windows. I assume this is also DRMed to only work on top of Hyper-V/WSL2, just like many of their VSCode extensions deliberately block usage with unbranded builds (see also: AARD code[1], this isn't exactly new for them).
I agree, it's a good-faith effort on Microsoft's part. I think people have a hard time believing they can operate in a non-adversarial way (which is understandable if you lived through the 90s lol)
3. Linux technically stays an option but is unable to run apps without NT underneath, and nobody writes plain Linux apps because of market effects
Weak because people could still write apps for just Linux, plausible because convincing people to divert effort to the MS way would work and is classic EEE.
Kye|4 years ago
>> "This is the real and full D3D12 API, no imitations, pretender or reimplementation here⦠this is the real deal. libd3d12.so is compiled from the same source code as d3d12.dll on Windows but for a Linux target. It offers the same level of functionality and performance (minus virtualization overhead). The only exception is Present(). There is currently no presentation integration with WSL as WSL is a console only experience today. The D3D12 API can be used for offscreen rendering and compute, but there is no swapchain support to copy pixels directly to the screen (yet )."
https://github.com/microsoft/WSL2-Linux-Kernel/tree/e445d061...
https://github.com/microsoft/WSL2-Linux-Kernel/blob/e445d061...
>> "SPDX-License-Identifier: GPL-2.0"
They're also working on supporting all the standard Linux equivalents according to your link. I don't see the third E here.
Nullabillity|4 years ago
1. Their kernel implementation is effectively just a paravirtualized proxy to the Windows DX API. So it won't be useful for bare metal users.
2. Only the kernel driver is open source (and presumably that is only thanks to the GPL). The user-mode library is a proprietary component shipped with Windows. I assume this is also DRMed to only work on top of Hyper-V/WSL2, just like many of their VSCode extensions deliberately block usage with unbranded builds (see also: AARD code[1], this isn't exactly new for them).
[0]: https://devblogs.microsoft.com/directx/directx-heart-linux/
[1]: https://en.wikipedia.org/wiki/AARD_code
pram|4 years ago
jodrellblank|4 years ago
Because it really doesn't seem like it will affect you or what you can do in any way at all.
yjftsjthsd-h|4 years ago
2. People write "Linux" apps that require directx
3. Linux technically stays an option but is unable to run apps without NT underneath, and nobody writes plain Linux apps because of market effects
Weak because people could still write apps for just Linux, plausible because convincing people to divert effort to the MS way would work and is classic EEE.