For quite a while Red Hat engineers have been developing the open-source, Rust-written NOVA driver to in effect serve as the successor to the reverse-engineered Nouveau driver that isn’t too actively developed in more recent times. But unlike Nouveau’s extensive range of NVIDIA GPU support, the NOVA driver is intentionally limited to the RTX 20 “Turing” GPUs and newer where there is the NVIDIA GPU System Processor (GSP) with the firmware support to leverage for an easier driver-writing experience. The very initial NOVA driver code was sent out on Sunday for DRM-Next ahead of the Linux 6.15 merge window.
If this pull request is honored and Linus Torvalds or any other prominent developers raise objections in the coming days, Linux 6.15 is likely to be the first kernel version with this NOVA driver and also as the first Rust-written Direct Rendering Manager driver to go mainline. But before getting too excited, what’s being upstreamed for Linux 6.15 is just the very initial skeleton driver and isn’t yet in any way practical for end-users… That is part of their plan to build the driver piece-by-piece within the mainline kernel as opposed to waiting and having a massive review burden for upstreaming any (semi)completed driver. You’ll still need to be running either the Nouveau driver or NVIDIA’s official out-of-tree drivers for the near-term. At least with the GSP firmware doing much of the heavy lifting and only catering to more recent GPU generations, the bring-up hopefully won’t take as long as how long it took Nouveau to become somewhat practical for open-source NVIDIA GPU support.
Danilo Krummrich of Red Hat sent out the pull request for NOVA on Sunday and commented:
“This is the inital PR for Nova (nova-core).
Besides the nova-core skeleton driver and the initial project documentation, I picked up two firmware patches and one Rust patch (no conflicts expected) as dependency of nova-core.”
This very early code push amounts to just around 1,207 lines of which around 700 some lines is actual Rust code and then the rest the early documentation (400+ lines of which is the TODO list). Over the next number of Linux kernel cycles, the NOVA driver will continue to be built out until ultimately it becomes a useful open-source NVIDIA GPU driver when paired with the NVIDIA GSP firmware binaries.
In any event it’s exciting to see the very early NOVA code likely to be mainlined for the Linux 6.15 kernel cycle for this new and modern open-source NVIDIA driver that with time will hopefully prove competitive to the official NVIDIA Linux driver while being more maintainable and modern engineering compared to the Nouveau code.