|
|
|
|
|
by kmeisthax
1038 days ago
|
|
This is only possible because of a very specific quirk of Linux: the interface between the kernel and user mode halves of the GPU driver is considered as sacrosanct as normal Linux syscalls[0]. If you want to get a graphics card driver in kernel you have to get your driver's UAPI approved by the kernel maintainers because it will be supported in Linux until the end of time. No other operating system does it this way, nor will this work on Nvidia proprietary drivers. Everywhere else, the point of demarcation for graphics is OpenGL, DirectX, Metal, or Vulkan entrypoints in userspace. To be clear, there IS a UAPI here too - hardware isolation demands it - but it breaks constantly and nobody bats an eye. If you were willing to deal with that fragility, you could do the same trick on Windows or macOS. [0] For those unaware, Linux has a very explicit policy of never breaking userspace. That means no ABI changes whatsoever. |
|
And when someone tries to do it - Linus gets very angry. https://lkml.org/lkml/2012/12/23/75