VGEM driver processing in Rust

Mayra Canal ( maíra canal ) from Igalia presented the project on rewriting vgem (Virtual Gem Provider) in Rust. VGEM includes about 400 lines of code and provides GEM (Graphics Execution Manager), which is not tied to the equipment used to divide access to program 3D devices, such as LLVMPEPE, in order to increase software rasterization productivity.

VGEM will be the second graphic driver on the Rust, operating at the nucleus level (the first was the DRM-Driver (Direct Rendering Manager) ASAHI for the GPU Apple AGX used in the Apple M1/M2) chips. During the development, it took the creation of new bindings for working from the RUST code with a platform device, type xarry and abstractions, associated with direct access to memory, such as DMA Barriers (DMA Fens). At the current stage of development, the driver is almost ready, the majority of IGT tests pass, with the exception of two checks (vgem_slow and VGEM_BASIC@Unload), but requires finalization of support IOctl.

/Media reports cited above.