I’m a bit confused about what’s going on but as far as I understand, due to NVIDIA allowing redistribution of their blobs, nouveau can now set the clock speed of GPUs. This is giving us a huge boost in performance in nouveau.
How exactly do I test this out? Arch wiki does not say anything about NVK, but I see it’s mentioned on everything about this change. Do I need to do anything to get/use NVK other than uninstalling the proprietary driver? And, are we getting a performance boost only on Vulkan?
I’d be curious if there are any equivalent to ProtonDB on both compatibility and performance. The NVIDIA drivers are some of the last closed pieces in an otherwise mostly open system. I know I can get by with nouveau for 2D but if I want to model with Blender or play Baldur’s Gate, even SteamVR games, I remain skeptical not just on absolute feasiblity (will it run) but also performances, i.g can I get more than 5fps.
you mean right now or in the future? because right now, forget about it. it’s substantially better than it was before, but performance is still far behind proprietary drivers. it can do 3D, but don’t expect the latest and greatest to work well. older games are much more likely to work well.
I’ve been having my own fun trying out NVK on Guix System so I can’t give you specific instructions (assuming you’re not using Guix), but I can tell you what you need and maybe someone else can chip in on how/if you need to do anything else on your distro:
- Linux kernel >= 6.7
- GSP firmware enabled via the kernel parameter
nouveau.config=NvGspRm=1
- Mesa built with the
-Dvulkan-drivers=nouveau-experimental
flag.
A few notes:
- Performance and stability of games has been fairly hit-or-miss for me. Of the 10 Vulkan games I’ve tried so far: 3 run perfectly, 3 are playable with noticeable issues, and 4 are borked.
- NVK is Vulkan-only, but performance largely comes from the GSP firmware so you will still see a difference (huge for me) in games not using Vulkan.
- You can override flatpaks to use the host’s Mesa version (set
FLATPAK_GL_DRIVERS=host
); however, there’s a bug that causes the Steam Flatpak to not work when doing this. The mesa-git-extension Flatpak exists which can also be used to replace Mesa runtimes, but it had issues building with NVK so it’s currently disabled.
The only package I’m aware of at the moment (other than my hacked-together Guix package) is available in the AUR.
While NVK is indeed Vulkan-only, it also isn’t, thanks to Zink, which is a Gallium3D implementation for Vulkan. Gallium3D implements OpenGL, among other things. NVK + Zink has already been reported to be substantially faster than the old Nouveau Gallium3D driver.
Most of my info comes from this post: https://www.collabora.com/news-and-blog/news-and-events/nvk-holiday-update.html
Performance boost isn’t Vulkan-only. GSP reclocking benefits everything, Vulkan or otherwise. NVK is strictly a Vulkan driver, but Zink, which implements OpenGL on top of Vulkan, currently has better performance when used with NVK than the old OpenGL driver, so it can also be considered to improve performance across the board. Right now it’s a pain to set up tho, since it’s not ready for prime time quite yet. Can’t really help you there, since I don’t have Nvidia hardware. The Collabora guys say they want it to be in Fedora 40, which means NVK should start showing up in distros by next April. It’ll probably be much easier to test things out by then.