Jason Ekstrand of Collabora just announced NVK, a brand new open source Mesa Vulkan driver for NVIDIA GPUs. No you're not dreaming but it's also not from NVIDIA directly — as usual the open source community is doing the work.
It's still early-ish days for NVK but what they've been able to do with it so far sounds reasonably promising. The current nouveau drivers for NVIDIA in Mesa aren't going to be removed but they don't exactly work well, and a lot of it was done coding in the dark with reverse engineering.
Things have come a long way though, with NVIDIA gradually releasing more documentation and recently their open source Linux GPU kernel modules.
NVK itself was written "almost entirely from scratch using the new official headers from NVIDIA" over the last several months targeting Turing+. Ekstrand has some pretty high goals for it, like wanting it to become "the new reference Vulkan driver within Mesa" and so they're "building NVK with all the best practices we've developed for Vulkan drivers over the last 7.5 years and trying to keep the code-base clean and well-organized".
This is a serious effort to get a good open source driver for NVIDIA GPUs and that sounds awesome. Eventually it could become "what RADV is to AMD hardware" but there's a lot of work to get there.
As for OpenGL support, they might even end up using the Zink driver (an OpenGL implementation on top of Vulkan), instead of writing a whole new OpenGL driver to go along with it. Zink has come a long way too so it could be a pretty good plan.
See the blog post for all the info.
Well, one step further with better implementations for nVidia users. If it manages to get on par feature-wise (e.g. supporting nvenc, async reprojection for VR, etc.) with the proprietary driver, heck yeah! If nVidia would only go the same way AMD did with their support for the open source drivers and community...
But what I find interesting in this post is about the usage of Zink. Zink is amazing dude, it guarantee that we won't have a bad support to OGL in newer cards if they decide to not support old techs on it.
Quoting: ShmerlIt still needs the kernel driver with reclocking though, right? That didn't get upstream yet.It needs the GSP (GPU system processor) firmware, which is provided by Nvidia since open kernel modules announcement. So we have reclock support in this driver as well. Open kernel modules aren't upstreamed.
Quoting: mr-victoryIt needs the GSP (GPU system processor) firmware, which is provided by Nvidia since open kernel modules announcement. So we have reclock support in this driver as well. Open kernel modules aren't upstreamed.
Do you mean this firmware already works with current nouveau kernel module or it needs that custom (not upstreamed) open kernel module from Nvidia still?
This is about just the Vulkan implementation, not an announcement of an upstream kernel module? Unless I'm missing something.
Last edited by Shmerl on 4 October 2022 at 6:48 pm UTC
Quoting: ShmerlDo you mean this firmware already works with current nouveau kernel module or it needs that custom (not upstreamed) open kernel module from Nvidia still?Actually, the new firmware is intended to be used by nouveau but instead of that we got a new driver using the firmware, because apparently starting from scratch is easier than refactoring nouveau.
The "kernel module" part is used as reference, not directly.
At least this is what I understood.
Last edited by mr-victory on 4 October 2022 at 6:53 pm UTC
Quoting: GuestQuoting: dpanterClassic Nvidia "support". Are they going to help out at all this time?No. They are busy with selling $2000 GPUs.
That's exactly a part of the problem. They are busy with it. AMD should get more attention in the market. Well, Intel is there too now with their first gaming GPU efforts.
Quoting: dpanterClassic Nvidia "support". Are they going to help out at all this time?
I think it depends on the progress of this one and how promising it is. If it progresses well nVidia will most likely adopt it and start helping, since that will be cheaper and easier for them than maintaining their own closed driver. However, this depends on whether this new driver is able to meet the same performance levels as the proprietary one.
See more from me