I did post my comment in another thread, but this is seriously very very bad:
"Windows could be required to use some Linux apps (Embrace, extend, extinguish)"
-> https://news.ycombinator.com/item?id=23238790
The most important is to look at the following page to better understand the implications:
https://devblogs.microsoft.com/directx/directx-heart-linux/
Here is how I would sum it up:
* They create a new kernel file descriptor: /dev/dxg
* With this, on the Linux of WSL, it is like a direct "pipe" to a Windows host graphical stack.
* So it means that they can put code in Linux application code that will use Windows proprietary graphical stacks, like DirectX through /dev/dxg.
* And so, clearly, this Linux app will not work inside a normal Linux computer that is not a "guest" of Windows.
Now, you can see the "Embrace" and the "Extend"?
And to well understand the article, the following things have to be stressed:
This is not just something to render a Window or something like that, it is a special "passthrough" api to all the things that are provided by Windows GPU stack/drivers.
For example, they give the example of Cuda compute API, but also, they kind of "built" DirectX sdk itself for Linux (debian, ubuntu, ...), but still the proprietary closed blob that "apps" are expected to use, but that will rely on /dev/dxg.
Also, if you want to use anything OpenGL on the Linux WSL, they will ensure that it is translated to DX on Linux side, before going through the same special DirectX api.
The good thing would probably have been to do the opposite side, ensure that Windows has the proper OpenGL support to be able to pass gpu acceleration to the Windows host.