除了用 Rust 编写的 Apple M1/M2 DRM 内核图形驱动程序,现在又有第二个图形相关的内核驱动程序尝试使用 Rust —— 内核中的“VGEM”驱动程序正在用 Rust 编程语言重写。
VGEM(Virtual GEM) 是 Linux 4.1 版本引入的虚拟 GEM 提供者,作为最小的非硬件支持的图形执行管理器 (GEM) 内存管理服务已经存在了一段时间。它被 LLVMpipe 和其他非本机 3D 驱动程序方案用于缓冲区共享, 有利于提高软件光栅化器的性能。
在过去十年的大部分时间里,VGEM 一直是主线内核的一部分。但如今 VGEM 已不受关注,性能优化也不如新的硬件 GPU 驱动程序。但开源开发人员 Maíra Canal 最近开始尝试使用 Rust 重写 VGEM,作为直接渲染管理器 (DRM) 子系统中的第二款 Rust 驱动。
目前 Rust VGEM 工作仍处于早期阶段,但大多数 IGT 测试用例都已通过。希望了解更多 Rust VGEM 的朋友可以看到这篇博文。
2023 年采用 Rust 重写的案例越来越多,可延伸阅读:
- Cloudflare 使用 Rust 重写 Nginx C 模块,目标是“去 Nginx”
- Mesa Vulkan 驱动探索采用 Rust 重写
- Fish Shell 计划采用 Rust 重写