Cracking Windows Open: Porting RADV to Win32
collabora.com
collabora.com
Why not? Fully open-source Windows GPU drivers would be great. Incidentally, this sort of "glue code" is probably something LLM assistance could help greatly with much of the grunt work.
(E.g. there is already a generic framebuffer driver for Win3x/9x: https://news.ycombinator.com/item?id=47646363 but one of the ideas I have --- which anyone else with the time is more than welcome to attempt --- is to port the existing open-source Linux drivers for AMD/NVIDIA/Intel to early Windows versions that never even had closed-source drivers available, giving them full 2D/3D acceleration. Theoretically, something as crazy as CUDA on Windows 95 is possible, and perhaps some vibecoding can turn that into reality. After all, as I write this comment, https://news.ycombinator.com/item?id=49089814 is on the main page.)
I’m sure there are more open source examples. A newer one is https://github.com/namazso/PawnIO/tree/master I guess?
Getting your driver signed seems like a pain these days, yeah
Also got a BSOD in vgk.sys, and it left a bunch of junk in my EFI partition after I uninstalled it. Fun times.
Are you thinking of the add-on 3D accelerator cards that did VGA pass-through from your 2D accelerator? It might've been true for them...
In theory, it should be feasible to provide a "shim" to bridge the API gap between Linux and Windows internal APIs. The catch here is that Linux is a moving target.
AMDGPU (the Linux kernel module) has its roots in a shared Linux/Windows codebase from AMD, so hopefully it didn't get _too_ tightly integrated (I know some parts got integrated, IIRC it used to ship its own i2c driver).
Porting Linux drivers to anywhere is generally hard. It either makes your kernel very Linux-like (and lots of manpower to translate the abstractions), or forces you to put Linux on it. There are bazillions of projects to put recent Intel drivers on 9x and none suceeded, for example.
Plus my recent observation that for Haiku it was easier to port the out-of-tree nvidia driver and fork Mesa, than it was to port the Linux amdgpu one.
So, in order to write their own KMD, they'd either have to also write their own DX12 driver, which they probably have no interest in, or reverse engineer the existing AMD KMD interface to the point where they can reimplement it basically completely so that AMD's proprietary DX12 driver runs on it.
I doubt they're saying it's impossible, it's more of a pick your battles situation.
You mean Vulkan driver. We can run DX12 on Vulkan.
Again, not impossible, just picking your battles.
... they are both RDNA3?