Företaget Collabora har meddelat framsteg i utvecklingen av drivrutinen Tyr för Linux-kÀrnan, som Àr skriven i Rust. Drivrutinen Àr avsedd för GPU:er ARM Mali som anvÀnder CSF-teknologi (Command Stream Frontend), sÄsom Mali G310, G510 och G710. Det noteras att Tyr har nÄtt en nivÄ som gör den lÀmplig för att driva GNOME-skrivbordsmiljön, kompositservern Weston och helskÀrms spel sÄsom SuperTuxKart. Prestandan för den nya drivrutinen bedöms vara jÀmförbar med drivrutinen Panthor, som Àr skriven i C.


Koden för drivrutinen Tyr har antagits i Linux-kÀrna 6.18, vars release förvÀntas i början av december. Drivrutinen Àr dock Ànnu inte redo för kontinuerlig anvÀndning av vanliga anvÀndare och betraktas som en experimentell prototyp för testning av abstraktioner för drivrutinsutveckling i Rust.
Som ramverk för skapandet av den nya drivrutinen har komponenter frÄn den abstrakta drivrutinen rust_platform_driver och drivrutinen Nova, som utvecklas för NVIDIA GPU:er och skrivs i Rust, anvÀnts och lagts till Linux-kÀrna 6.16. Funktionaliteten för interaktion med GPU Mali har portats frÄn den befintliga DRM-drivrutinen Panthor (Direct Rendering Manager), skriven i C. uAPI för drivrutinen Tyr Àr identisk med uAPI för drivrutinen Panthor, vilket gör att befintliga anvÀndarutrymmeskomponenter kan anvÀndas med den.
CSF-teknologin, som anvÀnds med GPU Mali i 10:e generationen och framÄt, Àr anmÀrkningsvÀrd för att vissa drivrutinsfunktioner har flyttats till firmware-sidan och för att en ny modell för arbetsutförande pÄ GPU har involverats. Med GPU:er med CSF-grÀnssnitt anvÀnds en modell baserad pÄ kommandoström istÀllet för en modell baserad pÄ att skicka arbetskedjor. För att organisera schemalÀggarens funktion har en separat mikrocontroller, Cortex-M7, integrerats i GPU:n och en speciell krets för kommandogenomförande (Command Execution Unit) har avsatts för utförande av CSF-instruktioner.
KĂ€lla: opennet.ru
