Red Hat Announces Nova, a Rust-Based GSP-Only Graphics Driver for NVIDIA GPUs

The Nova graphics driver will benefit from more memory safety offered by the Rust programming language.
Red Hat Nova

Red Hat announced earlier this week that the company has started work on a new open-source graphics driver for NVIDIA GPUs written in Rust, called Nova.

Designed as the successor of the Nouveau open-source driver for GSP-firmware-based NVIDIA graphics cards, the Nova graphics driver is a GSP (GPU System Processor) only driver entirely written in the Rust programming language and it aims to be a lot more simple and easy to maintain than Nouveau while benefiting from more memory safety offered by Rust.

“With Nova, we see the chance to significantly decrease the complexity of the driver compared to Nouveau for mainly two reasons,” said Danilo Krummrich, Senior Software Engineer at Red Hat. “First, Nouveau’s historic architecture, especially around nvif/nvkm, is rather complicated and inflexible and requires major rework to solve certain problems, and second, with a GSP-only driver there is no need to maintain compatibility with pre-GSP code.”

With Nova, Red Hat hopes to contribute to the Rust efforts in the Linux kernel and also attract more developers to get involved in this open-source graphics driver for NVIDIA GPUs. Red Hat wants to develop its Nova graphics driver upstream in the Linux kernel, starting with just a driver stub that only makes use of some basic Rust abstractions, but they first need to deal with the missing C binding abstractions for integral kernel infrastructure.

More details about Nova and the ongoing work to upstream the graphics driver can be found in this mailing list announcement. But it’s not only Red Hat that works on a drop-in replacement for Nouveau, as Collabora recently promoted their open-source Vulkan-based graphics driver NVK for NVIDIA GPUs to the stable channel, which will be available as part of the upcoming Mesa 24.1 graphics stack.

If you ask me, both Nova and NVK are more than welcome replacements for Nouveau, which is old and not actively maintained these days. The ultimate goal here, at least for NVK, is not only to provide a basic graphics driver for NVIDIA GPUs on systems where NVIDIA proprietary graphics driver is not installed by default but to provide Linux users with a better replacement for NVIDIA’s driver for gaming.

Image credits: Red Hat (edited by Marius Nestor)

Last updated 3 weeks ago

Buy Me a Coffee at ko-fi.com