Danilo Krummrich has submitted the primary batch of DRM subsystem changes written in Rust for the upcoming Linux 7.2 kernel, with the Nova NVIDIA driver continuing to account for a significant portion of the work, as reported by Phoronix on 4 June.

The pull request targets improvements and additions to the Rust portions of the Direct Rendering Manager (DRM) subsystem, the kernel layer responsible for managing graphics hardware. Nova, an open-source driver being built by a community of developers — including contributors from Red Hat and with input from NVIDIA — intended to eventually replace the long-standing Nouveau driver, remains the focal point of much of the ongoing Rust-based DRM development.

A Long Road from Nouveau

Nouveau, the community-developed open-source NVIDIA driver that has shipped with the Linux kernel for years, has long been constrained by the absence of officially sanctioned firmware and clocking support from NVIDIA. This left Nouveau users with significantly reduced GPU performance compared to what NVIDIA's proprietary drivers can deliver.

Nova represents a fresh architectural approach. The project was made possible in part by NVIDIA's 2022 release of open-source kernel modules for its GPUs, a move that provided a more solid legal and technical foundation for open-source driver efforts. Written in Rust — a memory-safe systems programming language that has been gaining traction in kernel development since its initial inclusion in Linux 6.1 — Nova aims to build a more maintainable and robust foundation for supporting NVIDIA hardware in the open-source ecosystem. The decision to use Rust rather than C reflects a broader movement within the kernel community to leverage the language's safety guarantees, particularly around memory management, where bugs in C-based drivers have historically been a source of security vulnerabilities.

Incremental but Steady Progress

The Linux 7.2 DRM Rust pull is best understood as another incremental step rather than a dramatic milestone. Nova's development has progressed on a cycle-by-cycle basis, with each kernel release bringing refinements and expanded functionality. Krummrich's submission continues this pattern, adding to the infrastructure and driver code that collectively bring Nova closer to production readiness.

It is worth noting that Nova remains a work in progress. The driver is not yet feature-complete and should not be considered a drop-in replacement for Nouveau or NVIDIA's proprietary modules in its current state. However, the steady cadence of contributions signals sustained commitment from the developers involved in the effort.

Why This Matters

For the Linux and open-source community, the maturation of Rust-based kernel drivers carries significance beyond any single hardware vendor. Each cycle of DRM Rust work contributes reusable abstractions and infrastructure that other driver authors can build upon, potentially accelerating future GPU driver development across the board.

The inclusion of Nova-related code in successive kernel merge windows also reflects an evolving relationship between NVIDIA and the open-source ecosystem. While Nouveau was largely a reverse-engineering effort, Nova's development benefits from a more collaborative dynamic, with corporate contributors and community developers working alongside vendor-provided open-source foundations.

As Linux 7.2 moves toward its merge window, the DRM Rust changes will undergo further review and testing. The kernel community will be watching closely to see how these additions perform under real-world workloads and how quickly Nova can close the feature gap with existing driver options.


Danilo Krummrich 已提交了首批為即將到來的 Linux 7.2 核心編寫的 DRM 子系統 Rust 語言變更,而根據 Phoronix 於 6 月 4 日的報導,Nova NVIDIA 驅動程式繼續佔據了這項工作的很大一部分。

此 pull request 旨在改進和增加 Direct Rendering Manager (DRM) 子系統的 Rust 部分——這是負責管理圖形硬體的核心層。Nova 是一個由開發者社群(包括來自 Red Hat 的貢獻者,並接收 NVIDIA 的意見)正在構建的開放源碼驅動程式,其目標是最終取代長久以來的 Nouveau 驅動程式,它仍然是當前基於 Rust 的 DRM 開發工作的焦點。

漫長的 Nouveau 之路

Nouveau 是社群開發的開放源碼 NVIDIA 驅動程式,已隨 Linux 核心分發多年,但一直受限於缺乏 NVIDIA 官方認可的韌體和時脈支援。這使得 Nouveau 用戶的 GPU 效能,與 NVIDIA 專有驅動程式所能提供的效能相比,顯著降低。

Nova 代表了一種全新的架構方法。該專案部分得益於 NVIDIA 在 2022 年為其 GPU 發布的開放源碼核心模組,這一舉動為開放源碼驅動程式的努力提供了更堅實的法律和技術基礎。Nova 使用 Rust 編寫——自其首次納入 Linux 6.1 以來,這種記憶體安全的系統程式語言在核心開發中日益受到重視——旨在為在開放源碼生態系統中支援 NVIDIA 硬體,建立一個更易維護和穩健的基礎。選擇使用 Rust 而非 C,反映了核心社群內部更廣泛的趨勢,即利用該語言的安全保證,尤其是在記憶體管理方面,而基於 C 的驅動程式中的漏洞,歷來是安全漏洞的來源。

穩步推進的漸進式進展

Linux 7.2 DRM Rust 的 pull request,最好被理解為又一個漸進的步驟,而非一個重大的里程碑。Nova 的開發一直以一個週期接一個週期的基礎推進,每次核心發布都會帶來改進和擴展的功能。Krummrich 的提交延續了這一模式,為整體上使 Nova 更接近生產就緒狀態的基礎設施和驅動程式程式碼添磚加瓦。

值得注意的是,Nova 仍然是一項進行中的工作。該驅動程式尚未功能完整,在其目前狀態下,不應被視為 Nouveau 或 NVIDIA 專有模組的直接替代品。然而,貢獻的穩定節奏表明,參與此項工作的開發人員保持著持續的投入。

為何這件事很重要

對於 Linux 和開放源碼社群而言,基於 Rust 的核心驅動程式的成熟,其意義超越任何單一硬體供應商。每一輪 DRM Rust 工作都貢獻了可重用的抽象和基礎設施,其他驅動程式作者可以在此基礎上進行構建,這有可能加速整個 GPU 驅動程式的未來開發。

Nova 相關程式碼在連續的核心 merge window 中被納入,也反映了 NVIDIA 與開放源碼生態系統之間不斷演變的關係。Nouveau 在很大程度上是一個逆向工程的努力,而 Nova 的開發則受益於更具協作性的動態,企業貢獻者、社群開發人員與供應商提供的開放源碼基礎並肩工作。

隨著 Linux 7.2 邁向其 merge window,DRM Rust 的變更將經歷進一步的審查和測試。核心社群將密切關注這些新增內容在實際工作負載下的表現,以及 Nova 能多快地縮小與現有驅動程式選項之間的功能差距。

新聞來源 / Original News Source