Collabora har annonceret fremskridt i udviklingen af Tyr-driveren til Linux-kernen, skrevet i Rust. Driveren er designet til at arbejde med ARM Mali GPU'er, der anvender teknologien CSF (Skommandostream Frontend), såsom Mali G310, G510 og G710. Det bemærkes, at Tyr har nået et niveau, der er egnet til at understøtte arbejdsfladen GNOME, den kompositoriske server Weston og fuldskærmsspil som SuperTuxKart. Ydelsen af den nye driver vurderes som sammenlignelig med Panthor-driveren, skrevet i C.


Tyr-driverens kode er inkluderet i Linux-kernens version 6.18, som forventes udgivet i begyndelsen af december. Dog er driveren endnu ikke klar til konstant brug af almindelige brugere og betragtes som en eksperimentel prototype til test af abstraktioner for udvikling af drivere i Rust.
Som fundament til den nye driver er der anvendt komponenter fra den abstrakte driver rust_platform_driver og Nova-driveren, der udvikles til NVIDIA GPU'er, skrevet i Rust og tilføjet til Linux-kernen 6.16. Funktionaliteten til interaktion med Mali GPU'er er porteret fra den eksisterende DRM-driver Panthor (Direct Rendering Manager), skrevet i C. Tyr-driverens uAPI er identisk med Panthor-driverens uAPI, hvilket tillader brugen af allerede eksisterende komponenter i brugerområdet.
CSF-teknologien, der anvendes fra 10. generation af Mali GPUer, er bemærkelsesværdig ved at flytte nogle funktioner i driveren til firmwaren og ved at implementere en ny model for arbejdsudførelse på GPU. I GPUer med CSF-interfacet anvendes en model baseret på en kommandostrøm i stedet for den traditionelle kædemodel, med planlægning af kommandostrømme på firmwaren. For at organisere arbejdet i planlæggeren er der implementeret en separat Cortex-M7 mikrokontroller i GPUen, og der er en specifik enhed til kommandoudførelse (Command Execution Unit), der er designet til udførelsen af CSF-instruktionerne.
Kilde: opennet.ru
