除了圍繞以 Rust 編程語言提出的反向工程 Apple Silicon 圖形驅動程序正在進行的工作外,Direct Rendering Manager (DRM) 內核子系統中另一個值得注意的 Rust 工作是重寫這個日益使用的基本 VGEM 驅動程序編程語言。作為評論請求的一部分,該 Rust VGEM 驅動程序現已發送到郵件列表以供審核。
正如幾週前所寫,VGEM 內核驅動程序正在用 Rust 重寫。 VGEM 是虛擬 GEM 提供程序,它是一種最小的非硬件支持的圖形執行管理器 (GEM) 內存管理服務。此 VGEM 驅動程序可與 Mesa 的 LLVMpipe 和其他非原生 3D 驅動程序一起使用,以實現更好的緩衝區共享,從而產生更好的性能。
Igalia 的 Maíra Canal 一直在用 Rust 重寫 VGEM 代碼,幾天前向郵件列表發送了“RFC”補丁系列。 Maíra Canal 在該系列中解釋道:
“這是我第一次嘗試使用 DRM Rust 抽象將最初用 C 編寫的 DRM 驅動程序轉換為 Rust。這個補丁集包括將 vgem 驅動程序轉換為DRM Rust 驅動程序。這個新驅動程序與原始 C 驅動程序具有完全相同的功能,但利用了所有 Rust 功能。
這些補丁主要基於 Rust DRM 抽象,作為 RFC 發送到郵件列表上週。此外,它還依賴於一些 Device 抽象和由 Boqun Feng 開發的 Timer 抽象。”
當前形式的 Rust VGEM 驅動程序大約有 500 行新代碼。我們將看到它何時被審查以及所有新的 Rust DRM 抽象何時準備好用於主線。可以在此處找到 RFC 補丁。