Cracking Windows Open: Porting RADV to Win32
Posted by zdw 5 days ago
Comments
Comment by userbinator 5 days ago
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.)
Comment by AshamedCaptain 5 days ago
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.
Comment by atq2119 4 days ago
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.
Comment by happymellon 4 days ago
You mean Vulkan driver. We can run DX12 on Vulkan.
Comment by atq2119 4 days ago
Again, not impossible, just picking your battles.
Comment by ZiiS 5 days ago
Comment by pjmlp 5 days ago
Comment by MayeulC 5 days ago
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).
Comment by LoganDark 5 days ago
Comment by Almondsetat 5 days ago
Comment by userbinator 4 days ago
Comment by Maakuth 5 days ago
Comment by not_a9 5 days ago
Getting your driver signed seems like a pain these days, yeah
Comment by nananana9 5 days ago
Also got a BSOD in vgk.sys, and it left a bunch of junk in my EFI partition after I uninstalled it. Fun times.
Comment by inigyou 5 days ago
Comment by not_a9 5 days ago
Comment by LoganDark 5 days ago
Comment by ChocolateGod 5 days ago
Comment by not_a9 5 days ago
I’m sure there are more open source examples. A newer one is https://github.com/namazso/PawnIO/tree/master I guess?
Comment by grim_io 5 days ago
Comment by pjmlp 5 days ago
Comment by nananana9 5 days ago
Comment by kg 4 days ago
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...
Comment by pjmlp 5 days ago
Comment by leonmeng 5 days ago
Comment by Sweepi 4 days ago
... they are both RDNA3?
Comment by madhu_ghalame 5 days ago