In theory, the Nova driver could provide better Linux compatibility with Nvidia RTX 3000 graphics cards.
CREDIT: Nvidia
On 20th March, Red Hat display driver software engineer Danilo Krummrich announced the creation of the Nova project, a Rust-based driver for Nvidia GPUs.
This is no doubt welcome news to users of the open source graphics driver Nouveau, given that last year its chief maintainer at Red Hat resigned from the project.
In the developer mailing list, Krummrich announced that Nova is intended to succeed Nouveau, with the aim to create a simplified, more modern driver: “Nouveau’s historic architecture, especially around nvif/nvkm, is rather complicated and inflexible, and requires major rework to solve certain problems (such as locking hierarchy in VMM/MMU code for VM_ BIND, currently solved with a workaround), and second, with a GSP-only driver, there is no need to maintain compatibility with pre-GSP code.”
Danilo also appreciated the virtual mountain to climb when it comes to Rust development, given the missing C binding abstractions for integral kernel infrastructure, such as device and driver abstractions. Currently, the project aims to start with a basic device/driver, DRM and PCI abstractions, along with a Nova stub driver to make use of them.