Linux's VGEM Kernel Driver Being Rewritten In Rust
In addition to the in-development Apple M1/M2 DRM kernel graphics/display driver being written in Rust, there is now a second graphics-related kernel driver seeing early work in Rust. The existing VGEM driver is being rewritten in the Rust programming language.
VGEM is the Virtual GEM provider and has been around for a while as a minimal non-hardware backed Graphics Execution Manager (GEM) memory management service. It's used by LLVMpipe and other non-native 3D driver scenarios for buffer sharing. VGEM is good for improved software rasterizer performance and has been part of the mainline kernel for the better part of a decade.
VGEM doesn't garner much thought these days and obviously isn't as exciting as some shiny new hardware GPU driver. But open-source developer MaĆra Canal recently begun hacking on a Rust-ified VGEM as this second Rust effort within the Direct Rendering Manager (DRM) subsystem.
The Rust VGEM work is still in the early stages but most of the IGT test cases are passing. Those wishing to learn more about the effort can see this blog post.
VGEM is the Virtual GEM provider and has been around for a while as a minimal non-hardware backed Graphics Execution Manager (GEM) memory management service. It's used by LLVMpipe and other non-native 3D driver scenarios for buffer sharing. VGEM is good for improved software rasterizer performance and has been part of the mainline kernel for the better part of a decade.
VGEM doesn't garner much thought these days and obviously isn't as exciting as some shiny new hardware GPU driver. But open-source developer MaĆra Canal recently begun hacking on a Rust-ified VGEM as this second Rust effort within the Direct Rendering Manager (DRM) subsystem.
The Rust VGEM work is still in the early stages but most of the IGT test cases are passing. Those wishing to learn more about the effort can see this blog post.
37 Comments