November 20, 2023
As of today, NVK, the open-source Vulkan driver for NVIDIA hardware in Mesa, is now an officially conformant implementation of the Vulkan 1.0 API on NVIDIA Turing hardware. You can even find it on the Khronos website under Conformant Products. This is the first time any Nouveau driver has gotten the Khronos conformance badge on any API.
What does this mean? Practically, it means that we can pass the entire Vulkan conformance test suite. From the Khronos perspective, it means that NVK now meets the bar required to claim to support the Vulkan API officially. (There are some legal implications to this which matter to the Mesa project, but most users don't care about them.) From the perspective of users, it means the driver should pretty much work on Turing and later GPUs. There will still be bugs, of course, but those bugs are likely to be app-specific. Most stuff should just work.
This week we also merged the new back-end compiler for NVK. For more information on that, see my XDC talk from October. The new compiler is required for conformance because there are a number of tests that hit bugs in the old compiler. While some of those bugs can probably be fixed, some are pretty fundamental limitations of the old compiler's design and part of why we wrote a new one.
So where do we go from here? Heading into 2024, I'll continue improving the new compiler, both in terms of features and performance. Most of the Vulkan API features we're still missing relative to other drivers are effectively compiler features. We're not very far off from being able to advertise Vulkan 1.3 but it's all compiler work between here and there. There is also a small group of developers working on adding Maxwell support to the new back-end, so we should see improved hardware support soon as well. Once the new compiler is a little more feature-complete, I hope to start taking deep dives into apps, working on app-specific bug fixing as well as performance improvements.
NVK is still labeled "experimental" within Mesa but the future is looking bright!
It is with the utmost excitement that we witness the release of PipeWire 1.0, the first officially stable release of this noteworthy inter-process…
This week, the Debian project takes over Cambridge as MiniDebConf kicks off right in our own British backyard! Organized by Debian project…
As of today, NVK is now an officially conformant implementation of the Vulkan 1.0 API on NVIDIA Turing hardware. This is the first time…