NVK Driver Nearing Vulkan 1.1 For NVIDIA GeForce RTX 20 & Newer

Written by Michael Larabel in Nouveau on 28 November 2023 at 11:25 AM EST. 27 Comments
NOUVEAU
It was just last week NVK developers were celebrating Vulkan 1.0 conformance while now this open-source NVIDIA Vulkan driver within Mesa is preparing to expose Vulkan 1.1 support.

A merge request has been opened that exposes Vulkan 1.1 support with the NVK driver. The caveat is that this Vulkan 1.1 support is just for Turing GPUs and newer, a.k.a. the GeForce RTX 20 series and newer when it comes to the consumer GPUs. Additionally, the Rust-written NAK shader compiler must also be part of the Mesa build.

Faith Ekstrand wrote in the pending merge request:
nvk: Advertise Vulkan 1.1 on Turing+

We actually trigger on whether or not NAK is used for everything. If so, we claim 1.1, otherwise claim 1.0. We need NAK for subgroup ops and other advanced shader features in later Vulkan versions.

At this point, our Vulkan 1.1 pass rate is about equivalent to 1.0. There's a few memory model tests we're failing which are all due to an issue with memory barrier instructions and then pretty much the same tests we're faling on 1.0. I think it's good enough to flip the switch. This will make app testing a lot easier. Among other things, once the ICD json file claims 1.1 or above, the Vulkan loader will start looking for vkEnumerateInstanceVersion() and stop assuming 1.0 so MESA_VK_VERSION_OVERRIDE=1.3 will work.

This code will presumably be merged shortly, well in time for making it into the Mesa 24.0 release.

NVIDIA graphics cards at Phoronix


With being limited to NVIDIA Turing GPUs and newer, you need to be using the NVIDIA GSP support found in Linux 6.7 to (slightly) improve the experience with the Nouveau kernel driver. I'm currently running tests of Linux 6.7 Nouveau with NVIDIA GSP versus without both for NVC0 Gallium3D and NVK Vulkan, but so far the performance still is disappointing in comparison to the proprietary NVIDIA Linux graphics driver.

Update [18:25]: The code was merged this evening already for now exposing Vulkan 1.1 with NVK on Turing and newer hardware.
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