Red Hat的显示驱动程序团队最近一直在为Nova设计计划,这是一个新的即将开发的Linux DRM内核驱动程序,以Rust编写,用于开源NVIDIA图形支持,作为支持GPU系统处理器(GSP)的新一代NVIDIA GPU的继承者/替代者。在各种内核抽象仍在设计,尚未向上流的时候,使用Rust编写了这项工作。
Nova的最终目标是成为一个现代开源的NVIDIA Linux DRM驱动程序,适用于图灵GPU和更新的GPU(RTX 2000系列),其中有GPU系统处理器(GSP)支持。新DRM驱动程序最近为GSP提供了可选支持—或强制性支持,从最新的RTX 40系列开始—而Nova将是一个现代的替代品,以Rust编写,并且没有了多年来在支持NVIDIA GPU方面积累的新行李,可以追溯到早期。
这个基于Rust的纯GSPs驱动程序有望展望未来,希望比新驱动程序更具性能和能力,类似于前瞻性的英特尔Acrobat驱动程序消除了多年来在i915 Direct Rendering Manager代码中建立的所有cruft。
通过使用Rust,红帽开发人员希望它将拥有更好的内存安全性,进而更好的可维护性,并为新开发人员提供更低的门槛。
专注于支持GSP的GPU也简化了驱动程序的开发,大部分硬件初始化/管理留给GSP及其固件/微码,而不是由设备驱动程序编程。新驱动程序将继续存在为那些使用旧的NVIDIA显卡。
虽然Rust的朝日团队正在开发Apple Silicon DRM驱动程序,但这也是过时的。目前还没有上游Rust DRM驱动程序--或其他主要的全功能Rust内核驱动程序--的挑战是缺乏各种抽象。对于某些领域,Rust内核抽象已经存在,但尚未上行。
在开始完成Nova驱动程序的必要抽象工作时,Red Hat的DaniloKrummrich发布了一篇名为"新星和阶段性锈蚀抽象用于遍历不同的Git树,其中包含DRM、设备抽象、PCI等的Rust抽象。早期的Nova代码本身继续通过FreeDesktop.org上的DRM/nova. It will be interesting to see how Nova pans out over time.