NVIDIA GPUs Get NVK, A Brand New & Open-Source Mesa Vulkan Driver

There’s a new Open-Source Mesa Vulkan Driver in town and this one is specifically targeted at NVIDIA GPUs, known as NVK.

NVIDIA NVK Is An Open-Source Mesa Vulkan Driver Ready For Modern Green GPUs

The driver was sprung to life by Jason Ekstrand, along with Karol Herbst and Dave Airlie at Red Hat. Currently, there’s only the nouveau drivers for NVIDIA in Mesa and while they are there, they don’t exactly work all that great. As Jason puts it, the nouveau drivers have several features missing, run buggy, and don’t even support certain cards. As such, there’s a need for a new open-source driver that works well and also supports a bigger stack of modern hardware, that’s where NVK comes in.

Simply put, NVK is an open-source Vulkan driver for NVIDIA hardware (GPUs) in Mesa. It’s similar to RADV (Radeon Vulkan) which are AMD’s open-source Mesa Vulkan drivers. Jason & his team’s goals are set to make NVK the new reference Vulkan driver within Mesa and for that purpose, they are going to make NVK as modern as possible.

Long-term, the hope is for NVK to be for NVIDIA hardware what RADV is to AMD hardware. However, that’s a pretty high bar. RADV is a quite mature driver with a lot of features and fantastic run-time performance. There’s a lot of work between where we are now and RADV-level driver quality, but it gives us a goal.

Jason Ekstrand

Talking about the progress of NVK, the team states that the drivers have been in development for a few months now and are passing 98% of the Vulkan CTS with a very basic feature set. RADV runs at 50% so the overall progress is around 20-25% as of right now in terms of features. The architecture is also said to be in pretty good shape and we can hope that the final version takes its time to offer the best possible performance.

The NVK (NVIDIA Vulkan) drivers will be targetting GeForce RTX 20 (Turing) GPUs and beyond so RTX 30 (Ampere) and RTX 40 (Ada Lovelace) are also planned. There are patches for older GPUs such as Kepler, Maxwell, and Pascal but those are still incomplete.

Can I try it out?

Sure! Trying out NVK is no different than any other Mesa driver. Just pull the branch nvk/main branch from the nouveau/mesa project, build it, and give it a try. However, as much as we welcome people playing around with the driver and contributing, please don’t file bug reports asking for additional hardware support or about specific apps not working. We’re well aware that there are lots of missing features and bugs. The driver should still be considered alpha-quality for a while. Once things are more stabilized, helping to find app bugs would be great, but for now we’re still focused on fixing CTS tests and closing the feature gap, those kinds of bug reports aren’t helpful.

Can I contribute?

Absolutely! The project lives in the nvk/main branch of the nouveau/mesa repo on freedesktop.org. You can find and file merge requests here. You can also join us on the #nouveau-vk channel on OFTC.

If you do wish to contribute, I strongly recommend getting a Turing or newer GPU. Fortunately, the GPU shortage seems to be over and, since Turing is 4 years old now, they’re pretty easy to get your hands on these days.

What’s going to happen to the OpenGL drivers?

First off, no one is going to be deleting them so they’ll continue working as well as they ever have. However, there are some significant issues with the current gallium drivers and, as is the story with the rest of the nouveau stack, no one has put the time into fixing them. Many of those issues aren’t obvious when using nouveau to drive a desktop and a few simple applications. Once we get re-clocking sorted on Turing+ with GSP firmware and people attempt serious gaming, those bottlenecks will quickly take center stage. We will need a solution to this long-term.

NVK hasn’t been upstreamed to Mesa yet but given the amount of work that’s been put into it, we aren’t that far away from it happening.

The post NVIDIA GPUs Get NVK, A Brand New & Open-Source Mesa Vulkan Driver by Hassan Mujtaba appeared first on Wccftech.