Het VGEM-stuurprogramma in Rust herwerken

Maíra Canal uit Igalia presenteerde een project om de VGEM-driver (Virtual GEM Provider) in Rust te herschrijven. VGEM bestaat uit ongeveer 400 regels code en biedt een hardware-agnostische GEM-backend (Graphics Execution Manager) die wordt gebruikt om buffertoegang te delen tot software-3D-apparaatstuurprogramma's zoals LLVMpipe om de prestaties van de software-rasterisatie te verbeteren.

VGEM zal het tweede grafische stuurprogramma van Rust zijn dat op kernelniveau draait (de eerste was het Asahi DRM-stuurprogramma (Direct Rendering Manager) voor de Apple AGX GPU die wordt gebruikt in Apple M1/M2-chips). Voor de ontwikkeling waren nieuwe bindingen nodig om vanuit Rust-code te kunnen werken met het platformapparaat, het XArray-type en DMA-gerelateerde abstracties zoals DMA-hekken. In de huidige ontwikkelingsfase is de driver bijna klaar en slaagt hij voor de meeste IGT-tests, met uitzondering van twee controles (vgem_slow en vgem_basic@unload), maar vereist verbetering van de IOCTL-ondersteuning.

Bron: opennet.ru

Voeg een reactie