NVK Driver Lands New Platform Abstraction - Working Toward Allowing Other Kernel Drivers

Written by Michael Larabel in Mesa on 9 July 2024 at 09:00 AM EDT. 12 Comments
Merged for Mesa 24.2 is a massive set of patches providing a new platform abstraction for NVK, the open-source NVIDIA Vulkan driver. With this new platform abstraction it begins to open the door toward running the NVK driver on alternative kernel (DRM) drivers.

Faith Ekstrand of Collabora has been working through the nearly four dozen patches touching several thousand lines of code for NVK. Faith explains in the merge request of this new NVK platform abstraction:
"This MR totally refactors NVK to use a new, fully pluggable platform abstraction. This abstraction doesn't leak any DRM or nouveau.ko details into the driver, allowing us to potentially add winsys implementations to run on other kernels. It also provides a nice cleanup of a number of the interfaces. As a side-effect, the arbitrary limits we had before on bind, signal, and wait counts are now gone. The new code handles arbitrarily many of these."

This platform abstraction is important for being able to run on other kernel drivers should new winsys implementations materialize. This is important given that the Rust-written "NOVA" kernel driver is materializing as a modern Direct Rendering Manager driver leveraging the NVIDIA GPU System Processor (GSP) in aiming for nice support of RTX 20 "Turing" GPUs and later. This platform abstraction will be utilized when it comes to enabling NOVA kernel driver support by this Vulkan driver and potentially even if Mesa developers pursue trying to get NVK running atop NVIDIA's open-source but out-of-tree kernel driver.

NVK Platform Abstraction

All of this new platform abstraction code for NVK is now in Mesa Git ahead of Mesa 24.2-devel that should debut in August.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week