Collabora heeft vooruitgang geboekt in de ontwikkeling van de Tyr-driver voor de Linux-kernel, geschreven in Rust. De driver is ontworpen voor gebruik met ARM Mali GPU's, waarop de CSF (Command Stream Frontend) technologie wordt toegepast, zoals Mali G310, G510 en G710. Het wordt opgemerkt dat Tyr een niveau heeft bereikt dat geschikt is voor het ondersteunen van de GNOME-desktopomgeving, de compositorserver Weston en fullscreen games zoals SuperTuxKart. De prestaties van de nieuwe driver worden als vergelijkbaar met de Panthor-driver, geschreven in C, beoordeeld.


De code van de Tyr-driver is opgenomen in de Linux-kernel 6.18, waarvan de release begin december verwacht wordt. Echter, de driver is nog niet klaar voor permanent gebruik door gewone gebruikers en wordt beschouwd als een experimenteel prototype voor het testen van abstracties voor de ontwikkeling van drivers in Rust.
Voor de ontwikkeling van de nieuwe driver zijn componenten van de abstracte driver rust_platform_driver en de Nova-driver, die voor NVIDIA GPU's wordt ontwikkeld en in Rust is geschreven, gebruikt. Deze zijn toegevoegd aan de Linux-kernel 6.16. Functionaliteit voor interactie met Mali GPU's is gepporteerd vanuit de bestaande DRM-driver Panthor (Direct Rendering Manager), geschreven in C. De uAPI van de Tyr-driver is identiek aan die van de Panthor-driver, wat het gebruik van bestaande componenten in de gebruikersruimte mogelijk maakt.
De CSF-technologie, die wordt toegepast vanaf de 10e generatie GPU Mali, is opmerkelijk omdat het enkele functies van de driver naar de firmware verplaatst en een nieuw model voor werkverdeling op de GPU introduceert. In GPU's met een CSF-interface wordt in plaats van een model op basis van takenketens een model op basis van een commandostream gebruikt, waarbij de planning van de commandostream in de firmware gebeurt. Voor de werking van de scheduler is er een aparte Cortex-M7-microcontroller ingebouwd in de GPU, en er is een speciale uitvoeringsunit (Command Execution Unit) voor de uitvoering van CSF-instructies.
Bron: opennet.ru
