红帽公司(Red Hat)本周早些时候宣布,该公司已开始为英伟达™(NVIDIA®)GPU 开发一款用 Rust 语言编写的新开源图形驱动程序,名为 Nova。
Nova 图形驱动程序是为基于 GSP 固件的英伟达™(NVIDIA®)显卡设计的 Nouveau 开源驱动程序的后续版本,它是一个完全用 Rust 编程语言编写的 GSP(GPU 系统处理器)驱动程序,其目标是比 Nouveau 更简单、更易于维护,同时受益于 Rust 提供的更高内存安全性。
“红帽高级软件工程师达尼洛-克鲁姆里奇(Danilo Krummrich)说:”与Nouveau相比,Nova让我们看到了大幅降低驱动程序复杂性的机会,这主要有两个原因。”首先,Nouveau 的历史架构,尤其是围绕 nvif/nvkm 的架构,相当复杂且缺乏灵活性,需要进行大量返工才能解决某些问题;其次,采用纯 GSP 驱动程序后,就无需保持与前 GSP 代码的兼容性。
红帽公司希望通过Nova为Linux内核中的Rust工作做出贡献,同时也吸引更多的开发人员参与到这个面向英伟达™(NVIDIA®)GPU的开源图形驱动程序中来。红帽公司希望在Linux内核上游开发Nova图形驱动程序,一开始只是开发一个仅使用了一些基本Rust抽象的驱动程序存根,但他们首先需要处理完整内核基础架构缺失的C绑定抽象。
有关 Nova 和正在进行的图形驱动上游工作的更多详情,请参阅本邮件列表公告。不过,不仅红帽在开发 Nouveau 的直接替代品,Collabora 最近也将其基于 Vulkan 的英伟达 GPU 开源图形驱动程序 NVK 推向了稳定通道,该驱动程序将作为即将发布的 Mesa 24.1 图形栈的一部分。
要我说,Nova 和 NVK 都是 Nouveau 的理想替代品,Nouveau 已经过时,而且最近也没有得到积极维护。至少对于 NVK 而言,其最终目标不仅是在默认未安装英伟达专有图形驱动程序的系统上为英伟达 GPU 提供一个基本的图形驱动程序,而且还要为 Linux 用户提供一个更好的游戏驱动程序来替代英伟达驱动程序。
图片来源:Red Hat红帽公司(由 Marius Nestor 编辑)
转自 Red Hat Announces Nova, a Rust-Based GSP-Only Graphics Driver for NVIDIA GPUs – 9to5Linux