Big Nouveau Driver Update For Linux 6.2 To Improve Open-Source NVIDIA Support
The upstream Nouveau driver in the Linux kernel providing this open-source, reverse-engineered driver support hasn't changed much in recent years. In particular, since the GeForce GTX 900 series and the signed firmware requirements, those GTX 900 Maxwell and newer GPU series have been stuck to running at the low boot clock frequencies with the inability to ramp up to the higher performance states. As a result, the open-source driver graphics performance has been horrible for the GTX 900 series and later... All blocked up by the signed firmware requirements and lack of PMU access.
The Nouveau kernel driver has added support for newer generations of GPUs over time, but usually months after the GPUs premiere. Initially it's also usually been limited to just display/mode-setting support and then after the long process of publishing new signed firmware, usually the Nouveau driver support moves on to supporting hardware acceleration -- again though, limited to the slow boot clock speeds and in user-space limited to the Nouveau OpenGL Gallium3D driver while in recent months the "NVK" Vulkan driver has been started but not yet ready for end-users.
Fortunately, we are finally at the doorstep of change. While earlier this year NVIDIA open-sourced their GPU kernel driver that code-base itself isn't suitable for upstreaming. But Nouveau developers have begun making driver changes with their kernel code to support the NVIDIA GPU System Processor (GSP) present in the RTX 2000 series GPUs and newer.
With Nouveau targeting the GSP that does much of the heavy-lifting, they are also able to finally see light at the end of the tunnel for re-clocking support and getting the open-source driver into better shape for these Turing and newer NVIDIA GPUs that sport the GPU System Processor.
For Linux 6.2 they aren't sending in the completed GSP transition, but rather "a whole bunch of fixes and prep work". Ben Skeggs of Red Hat today sent out the pull request of Nouveau kernel changes desired for Linux 6.2. There is lots of kernel driver fixing as well as prep work for handling Ampere acceleration.
The NVIDIA RTX 30 series is finally seeing movement for upstream open-source accelerated support.
While NVIDIA has already introduced the RTX 40 "Ada Lovelace" series, the upstream Nouveau driver for the existing RTX 30 "Ampere" series has so far only supported display mode-setting support. Earlier this year NVIDIA unblocked it on their side by publishing the Ampere signed firmware while the Nouveau kernel driver hasn't finished up their hardware accelerated support in this pre-GSP-enabled configuration. With Linux 6.2 there is at least the Ampere acceleration prep work. Plus there is various prep work ready for Linux 6.2 for the transition later to supporting the GSP with the Nouveau driver.
This is the pull request for a whole bunch of fixes and prep-work that was done to support Ampere acceleration prior to GSP-RM being available. It uses the ACR firmware released by NVIDIA in linux-firmware, as we do on earlier GPUs. The work to support running on top of GSP-RM also heavily depends on various pieces of this series.
In addition to the new HW support, general stability of the driver should be improved, especially around recovering HW from bugs that can be generated by userspace driver components.
See this pull request for the Nouveau changes set hit the Linux 6.2 kernel.