Reprelucrarea driverului VGEM în Rust

Maíra Canal din Igalia a prezentat un proiect de rescrie a driverului VGEM (Virtual GEM Provider) din Rust. VGEM constă din aproximativ 400 de linii de cod și oferă un backend GEM (Graphics Execution Manager) independent de hardware, utilizat pentru a partaja accesul la buffer la driverele de dispozitiv software 3D, cum ar fi LLVMpipe, pentru a îmbunătăți performanța rasterizării software.

VGEM va fi al doilea driver grafic Rust care rulează la nivel de kernel (primul a fost driverul Asahi DRM (Direct Rendering Manager) pentru GPU-ul Apple AGX utilizat în cipurile Apple M1/M2). Dezvoltarea a necesitat crearea de noi legături pentru a funcționa din codul Rust cu dispozitivul platformei, tipul XArray și abstracții legate de DMA, cum ar fi gardurile DMA. În stadiul actual de dezvoltare, driverul este aproape gata, trece majoritatea testelor IGT, cu excepția a două verificări (vgem_slow și vgem_basic@unload), dar necesită îmbunătățirea suportului IOCTL.

Sursa: opennet.ru

Adauga un comentariu