HeadlinesBriefing favicon HeadlinesBriefing.com

Valve Funds AMD RADV Driver Port to Windows

TechPowerUp News •
×

The AMD RADV driver is an open-source driver in the Mesa 3D graphics library optimized for running Vulkan games and software. RADV is the default Linux graphics driver on many AMD-powered Linux systems. Until now, Windows has had no open-source drivers for any GPU maker, but Valve is apparently looking to change that by funding development of the AMD RADV driver for Windows. The actual driver porting is being done by Collabora, who often works with Valve on low-level software development, but Valve has sponsored the first phase of the project, according to a recent blog post by Collabora. The development outfit explains that it has managed to run Counter-Strike 2 on the new driver, but that there are still challenges that need to be solved.

One of the biggest challenges the developers behind RADV on Windows face is the lack of an open kernel-mode driver to interface with. The current AMD Windows kernel-mode driver is full of opaque blobs of code, which make it difficult to reverse-engineer support for a different user-mode driver. There are also no publicly available troubleshooting tools or documentation, and the way the kernel-mode driver and the user-mode driver interface has also presented problems.

The biggest open question for making this production-ready is the interface to the proprietary kernel driver. Developing our own KMD is not really an option, so we need to communicate with AMD's. Right now, doing so relies on reverse-engineered knowledge of private data structures—which is inherently fragile. To make matters worse, the UMD and KMD ship together as a matched pair with no backward-compatibility guarantee, so these structures can change between driver versions with no notice. It's unclear whether development will continue on the open-source Vulkan driver for AMD cards on Windows, as this work more or less serves as a proof of concept more than anything, but Collabora has left its work on the project available on Git Lab for developers or anyone else who may be interested.