Firma Collabora ogłosiła gotowość otwartego sterownika panthor, rozwijanego dla dziesiątej generacji GPU Mali (G310, G510, G710), w którym zastosowano technologię CSF (Command Stream Frontend), przenoszącą na stronę oprogramowania układowego niektóre funkcje sterownika w celu zmniejszenia obciążenia CPU oraz oferującą nowy model organizacji wykonywania zadań na GPU. Sterownik DRM (Direct Rendering Manager) panthor został przyjęty do gałęzi drm-misc i przypuszczalnie wejdzie w skład jądra Linux 6.10. Zmiany w celu wsparcia nowego sterownika również zostały przyjęte w Mesa i uwzględnione w sterowniku Gallium panfrost dla GPU Mali.
W nowej generacji GPU Mali, planista Job Manager został zastąpiony interfejsem CSF (Command Stream Frontend), w którym zamiast modelu opartego na przesyłaniu łańcucha zadań zastosowano model oparty na strumieniu poleceń z planowaniem kolejki strumienia poleceń po stronie oprogramowania układowego. Do organizacji pracy planisty w GPU wbudowano oddzielny mikrokontroler Cortex-M7, a do wykonywania instrukcji CSF przewidziano specjalny blok wykonawczy poleceń (Command Execution Unit). Takie cechy wymagają zasadniczo innej organizacji transmisji zadań do GPU z przestrzeni użytkownika.
Początkowo podjęto próbę wdrożenia wsparcia GPU Mali opartego na CSF w sterowniku DRM Panfrost, ale deweloperzy doszli do wniosku, że prowadzi to do znacznego skomplikowania istniejącego sterownika i dla CSF bardziej optymalne jest stworzenie nowego sterownika, opartego na innej architekturze. W sterowniku panthor wprowadzono zupełnie nowe uAPI, nową logikę planowania zadań oraz nową logikę zarządzania MMU/GPU-VA. Jako podstawę dla nowego sterownika wykorzystano istniejący kod sterownika DRM Panfrost, z którego zaadaptowano typowe wzorce inicjalizacji sterownika, zarządzania częstotliwością oraz zarządzania zasilaniem.
Na początku rozwój nowego sterownika prowadzono z wykorzystaniem inżynierii odwrotnej, ale później do projektu dołączyła firma ARM, zapewniając dostęp do dokumentacji oraz uczestnicząc w przeglądzie kodu. Dwaj pracownicy ARM uzyskali status współprzewodniczącego (co-maintainer) sterownika dla jądra Linux. W dalszej kolejności, po ukończeniu sterownika OpenGL, prace zostaną skoncentrowane na realizacji sterownika Vulkan dla nowych GPU Mali oraz modernizacji istniejącego sterownika Vulkan dla starych GPU Mali.
Zgłoszono, że opracowany sterownik panthor umożliwia wsparcie dla GPU na płytach z SoC Rockchip RK3588. Firma Collabora także wykonała prace nad zapewnieniem uruchamiania płyt opartych na Rockchip RK3588 z wykorzystaniem w pełni otwartego stosu oprogramowania. Dla Rockchip RK3588 przygotowano obraz systemu oparty na Debiana oraz otwarty bootloader do zastąpienia zastrzeżonych komponentów BL31 (Boot Loader stage 3.1).
Źródło: opennet.ru
