NVK Mesa Drive: Vulkan 1.4 Supports NVIDIA GPUs

The Khronos consortium, known for developing graphic standards, has officially recognized the full compatibility of the open driver NVK with the Vulkan 1.4 specification on systems with NVIDIA GPUs based on the MAXWELL, Pascal, and Volta architectures. This recognition comes after the driver passed all tests from the Khronos Conformance Test Suite (CTS) and has been included in the list of certified drivers. This certification allows for the official declaration of compatibility with graphic standards and the use of related Khronos brands.

Starting with the Mesa 25.1 Vulkan Driver, NVK will now be used by default for NVIDIA GPUs using the Maxwell, Pascal, and Volta architectures. In Mesa 25.2, OpenGL support for these GPUs will switch by default from the Nouveau driver to Zink in conjunction with the NVK Vulkan Driver. Zink provides Opengl 4.6 implementation on top of Vulkan, allowing for robust Opengl on devices that support the Vulkan API. Zink’s performance is comparable to native Opengl implementations.

Prior to this, NVK offered Vulkan 1.4 compatibility for newer NVIDIA GPUs based on the Turing (GEFORCE GTX 16XX, RTX 20XX, and Quadro RTX), Ampere (GEFORCE RTX 30XX and RTX A2000/4000/5000/6000), and Ada architectures. Efforts are ongoing to provide support for NVK on GPUs based on the Kepler and Fermi architectures, although this support will be limited to Vulkan 1.2 due to hardware constraints.

The NVK driver was developed by a team including Karol Herbst, a Nouveau developer from Red Hat; David Airlie, a DRM subsystem from Red Hat; and Jason/Fay Ecden Ekstrand, an active developer at Mesa from Collabora. The development process involved using official header files and open-source modules published by NVIDIA. While some components of the Nouveau Opengl Driver were utilized in the NVK code, differences in the Nouveau and NVIDIA headers required many modifications and new implementations.

The development of NVK was focused on creating a new reference Vulkan driver for Mesa, with the intention for the code to be shared for the creation of other drivers. Throughout the development of NVK, the team aimed to leverage their experience in Vulkan driver development, maintain an optimal codebase, and minimize code borrowing from other Vulkan drivers. This approach prioritized optimal and high-quality performance rather than blindly copying implementations from other drivers.

/Reports, release notes, official announcements.