Maíra Canal de la companie Igalia a prezentat un proiect de rescriere a driverului VGEM (Virtual GEM Provider) în limbajul Rust. VGEM include aproximativ 400 de linii de cod și oferă un backend GEM (Graphics Execution Manager) independent de hardware, utilizat pentru accesul partajat la buffer-urile driverelor de dispozitive 3D software, precum LLVMpipe, cu scopul de a îmbunătăți performanța rasterizării software.
VGEM va fi al doilea driver grafic scris în Rust, funcționând la nivel de kernel (primul a fost driverul DRM (Direct Rendering Manager) Asahi pentru GPU Apple AGX, folosit în cipurile Apple M1/M2). În dezvoltare, au fost necesare crearea de noi legături pentru a permite codului Rust să interacționeze cu dispozitivul platformei, tipul XArray și abstracțiile legate de accesul direct la memorie, cum ar fi barierele DMA (DMA fence). În prezent, driverul este aproape gata, trecând majoritatea testelor IGT, cu excepția a două verificări (vgem_slow și vgem_basic@unload), dar necesită îmbunătățiri pentru suportul IOCTL.
Sursa: opennet.ro
