Firma Collabora ogłosiła postęp prac nad sterownikiem Tyr dla jądra Linux, napisanym w języku Rust. Sterownik jest przeznaczony do współpracy z GPU ARM Mali, w których zastosowano technologię CSF (Czołowy Strumień Komend), takimi jak Mali G310, G510 i G710. Zauważono, że Tyr osiągnął poziom wystarczający do obsługi środowiska graficznego GNOME, serwera kompozytowego Weston oraz gier pełnoekranowych, takich jak SuperTuxKart. Wydajność nowego sterownika oceniana jest jako porównywalna ze sterownikiem Panthor, napisanym w języku C.


Kod sterownika Tyr został przyjęty do jądra Linux 6.18, którego wydanie spodziewane jest na początku grudnia. Sterownik nie jest jeszcze gotowy do stałego użytku przez zwykłych użytkowników i rozważany jest jako eksperymentalny prototyp do testowania abstrakcji do tworzenia sterowników w języku Rust.
Do stworzenia nowego sterownika wykorzystano komponenty abstrakcyjnego sterownika rust_platform_driver oraz sterownika Nova, rozwijanego dla GPU NVIDIA, napisanego w Rust i dodanego do jądra Linux 6.16. Funkcjonalność do interakcji z GPU Mali przeniesiono z istniejącego sterownika DRM Panthor (Direct Rendering Manager), napisanego w języku C. uAPI sterownika Tyr jest identyczne z uAPI sterownika Panthor, co umożliwia korzystanie z już istniejących komponentów przestrzeni użytkownika.
Technologia CSF, stosowana od 10. generacji GPU Mali, charakteryzuje się przeniesieniem na stronę oprogramowania sprzętowego niektórych funkcji sterownika oraz wprowadzeniem nowego modelu organizacji wykonywania zadań na GPU. W GPU z interfejsem CSF zamiast modelu opartego na przesyłaniu łańcucha zadań zastosowano model oparty na strumieniu poleceń z planowaniem kolejki strumienia poleceń po stronie oprogramowania sprzętowego. Aby zorganizować działanie planisty, w GPU wbudowany jest osobny mikrokontroler Cortex-M7, a do wykonania instrukcji CSF przewidziano specjalny blok wykonawczy poleceń (Command Execution Unit).
Źródło: opennet.ru
