Nouveau Linux DRM Driver Making Progress On NVIDIA GSP Support
Back in May NVIDIA announced an open-source Linux GPU kernel driver. That open-source NVIDIA GPU kernel driver is available as an option with their R515+ driver stack but in current form isn't suitable for mainlining. That open-source driver targets RTX 20 "Turing" GPUs and newer that feature the GPU System Processor (GSP).
As explained in that earlier article, the GPU System Processor and this driver architecture that's come about in recent times is for offloading some GPU initialization/management tasks to the GPU rather than executing on the CPU. The GSP is binary-only firmware loaded at run-time. The open-source kernel driver explicitly depends upon the GSP-supported graphics processors. The GSP is a RISC-V based block that succeeded their earlier Falcon micro-controller on earlier NVIDIA GPUs.
Leveraging the GSP by the open-source driver frees up some conventional driver tasks and less work involved in the driver bring-up. Granted, this IP block backed by a firmware blob plays a critical role.
Ben Skeggs of Red Hat and Nouveau's longtime DRM kernel maintainer has been working on getting the GSP supported by the Nouveau driver.
DRM subsystem maintainer David Airlie, also of Red Hat, has been queuing this GSP bring-up work for Nouveau via the 01.01-gsp-rm branch of his Linux Git repository.
This initial GSP support for Turing and newer with the Nouveau driver is still being worked on but that Git branch can be checked out for those interested. Once that Nouveau-GSP support is squared away and (hopefully) mainlined, it should help with improving the recent generations of NVIDIA driver support on this open-source driver for being able to get a performant experience in being able to overcome the reclocking limitations that have left Nouveau otherwise stagnate for years.
This Nouveau GSP branch does pull in a lot of header files that were open-sourced by NVIDIA as part of their open-source GPU kernel driver but is adapted to the existing Nouveau kernel driver codebase. So go check it out if interested in this early Nouveau GSP enablement work.
This kernel work along with NVK as an open-source NVIDIA Vulkan driver gives hope for a more interesting open-source NVIDIA driver experience for Linux enthusiasts/gamers in 2023.