Nova: Red Hat’s New Rust-Based GSP-Only Driver for NVIDIA GPUs – Latest Announcement

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

The Nova graphics driver is planed to be the successor to the Nouveau open-source driver for GSP-firmware-based NVIDIA graphics cards. It’s a GSP (GPU System Processor) exclusive driver written completely in Rust. The company aims for Nova to be easier to maintain and simpler than Nouveau while offering the memory safety benefits provided by Rust.

“With Nova, we believe we can significantly decrease the driver complexity compared to Nouveau for mainly two reasons,” expressed Danilo Krummrich, Senior Software Engineer at Red Hat. “The first is Nouveau’s archaic architecture, specifically around nvif/nvkm, is rather complex and rigid requiring significant rework to solve certain issues. Secondly, with a GSP-only driver, compatibility with pre-GSP code doesn’t need to be maintained.”

Red Hat seeks to contribute to the Rust initiatives in the Linux kernel with Nova. They aim to attract more developers to participate in this open-source graphics driver project for NVIDIA GPUs. Red Hat intends to develop its Nova graphics driver upstream in the Linux kernel. The initial plan includes a driver stub which uses some basic Rust abstractions, but before this, they need to address 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 1 second ago


Posted

in

, , , , , , ,

by

Tags: