Compania Collabora a anunțat progrese în dezvoltarea driverului Tyr pentru kernelul Linux, scris în Rust. Driverul este destinat să funcționeze cu GPU ARM Mali care utilizează tehnologia CSF (Сommand Stream Frontend), cum ar fi Mali G310, G510 și G710. Se menționează că Tyr a atins un nivel adecvat pentru a sprijini funcționarea mediului desktop GNOME, serverului compozit Weston și a jocurilor cu ecran complet, cum ar fi SuperTuxKart. Performanța noului driver este evaluată ca fiind comparabilă cu driverul Panthor, scris în C.


Codul driverului Tyr a fost acceptat în kernelul Linux 6.18, a cărui lansare este așteptată la începutul lunii decembrie. Totuși, driverul nu este încă pregătit pentru utilizarea de zi cu zi de către utilizatorii obișnuiți și este considerat un prototip experimental pentru testarea ablațiunilor de dezvoltare a driverelor în Rust.
Ca bază în crearea noului driver, au fost utilizate componentele driverului abstract rust_platform_driver și driverul Nova, dezvoltat pentru GPU NVIDIA, scris în Rust și adăugat în kernelul Linux 6.16. Funcționalitatea pentru interacțiunea cu GPU Mali a fost portată din driverul DRM existent Panthor (Direct Rendering Manager), scris în C. uAPI-ul driverului Tyr este identic cu uAPI-ul driverului Panthor, ceea ce permite utilizarea componentelor existente în spațiul utilizatorului.
Tehnologia CSF, utilizată începând cu generația 10 de GPU Mali, se remarcă prin externalizarea unor funcții ale driverului pe partea de firmware și prin utilizarea unui nou model de organizare a execuției pe GPU. În GPU-urile cu interfața CSF, în locul modelului bazat pe trimiterea unei serii de lucrări, se aplică un model bazat pe fluxul de comenzi cu planificarea cozii de flux de comenzi pe partea de firmware. Pentru organizarea muncii planificatorului, în GPU este integrat un microcontroler separat Cortex-M7, iar pentru executarea instrucțiunilor CSF este prevăzută o unitate specială de execuție a comenzii (Command Execution Unit).
Sursa: opennet.ro
