昨天提交了针对 DRM-Next 的 Rust 功能更新,为即将到来的 2024 年 4 月 Linux 7.1 合并窗口(merge window)做准备。Linux 7.1 中的 Rust 图形/显示驱动代码进一步增强了编程语言的抽象能力,并完善了其他 Rust 基础设施,使使用 Rust 编写的图形驱动具备更强的功能性。
Linux 7.1 的 DRM Rust 更新内容包括:对 DMA 一致性 API 的重构、在 Rust 中实现 GPU buddy 分配器 的抽象、在 Rust 中实现 DRM 共享内存 GEM 辅助抽象、I/O 基础设施的改进、工作队列(workqueue)的优化,以及其他与 Rust 驱动启动相关的组件。
除了核心的 Rust DRM 工作外,还包括对实验性 Arm Mali Tyr 驱动 的改进,以及 Nova Core 驱动 的进展——该驱动旨在成为开源 NVIDIA 显卡驱动 Nouveau 的继任者。

Linux 7.1 中 Nova 驱动的开发工作包括:进一步推进对 NVIDIA Turing GPU 的支持、修复并加固 GPU 系统处理器(GSP)命令队列、支持更大的远程过程调用(RPC)、重构 Falcon 固件处理逻辑、加强固件解析的安全性、为 GSM-RM 日志缓冲区添加 DebugFS 支持,以及其他多项改进。目前,NVIDIA Nova 驱动正在逐步推进中,但尚未准备好供终端用户使用。
Tyr 驱动则根据内核 Rust 编程指南进行了代码调整,修复了 GPU 型号/版本的解码问题,并包含其他一些小的修改。
有关即将在 Linux 7.1 内核周期中引入的所有 Rust DRM 功能变更,请参见此合并请求(pull request)。
转自 A Lot Of Rust Graphics Driver Changes For Linux 7.1, NVIDIA Nova Driver Additions – Phoronix
Linuxeden开源社区