Kompania Collabora shpalli përparimin në zhvillimin e drejtuesit Tyr për kernelin Linux, i shkruar në gjuhën Rust. Drejtuesi është projektuar për të punuar me GPU ARM Mali, të cilët përdorin teknologjinë CSF (Sistemi i Fluskurimit të Komandave), si Mali G310, G510 dhe G710. Vlen të theksohet se Tyr ka arritur një nivel të përshtatshëm për të mbështetur mjedisin e desktopit GNOME, serverin kompozit Weston dhe lojërat me ekran të plotë si SuperTuxKart. Performanca e drejtuesit të ri është e krahasueshme me drejtuesin Panthor, i shkruar në gjuhën C.


Kodi i drejtuesit Tyr është pranuar në kernelin Linux 6.18, që pritet të lëshohet në fillim të dhjetorit. Agjensia është përgatitur ende jo për përdorim të përhershëm nga përdoruesit e zakonshëm dhe konsiderohet si një prototip eksperimental për testimin e abstraksioneve për zhvillimin e drejtuesve në gjuhën Rust.
Si një kornizë për krijimin e drejtuesit të ri janë përdorur komponentet e drejtuesit abstrakt rust_platform_driver dhe drejtuesi Nova, i zhvilluar për GPU-në NVIDIA, i shkruar në Rust dhe i shtuar në kernelin Linux 6.16. Funksionaliteti për ndërveprimin me GPU Mali është portuar nga drejtuesi ekzistues DRM Panthor (Menaxheri i Shkëputjes së Drejtë), i shkruar në gjuhën C. uAPI i drejtuesit Tyr është identik me uAPI e drejtuesit Panthor, duke lejuar përdorimin e komponentëve ekzistues të hapësirës së përdoruesit.
Teknologjia CSF, e aplikuar që nga brezi i 10-të të GPU Mali, është e njohur për transferimin në anën e firmware disa funksionesh të drejtuesit dhe angazhimin e një modeli të ri të organizimit të ekzekutimit në GPU. Në GPU me ndërfaqen CSF, në vend të modelit mbi bazën e dërgimit të zinxhirit të punëve, përdoret modeli mbi bazën e rrjedhës së komandave me planifikimin e radhës së rrjedhës së komandave në anën e firmware. Për të organizuar punën e planifikuesit, në GPU është integruar një mikro-kontroller i veçantë Cortex-M7, dhe për ekzekutimin e instrukcioneve CSF parashikohet një njës i veçantë ekzekutimi komandash (Command Execution Unit).
Burimi: opennet.ru
