Firma Collabora ogłosiła dostępność sterownika Panthor o otwartym kodzie źródłowym, opracowanego dla procesorów graficznych Mali dziesiątej generacji (G310, G510, G710). Wykorzystuje on technologię Command Stream Frontend (CSF), która przekazuje część funkcji sterownika do oprogramowania układowego, zmniejszając obciążenie procesora, i oferuje nowy model organizacji wykonywania operacji na GPU. Sterownik Panthor DRM (Direct Rendering Manager) został zaakceptowany w gałęzi drm-misc i prawdopodobnie zostanie włączony do jądra. Linux 6.10 Zmiany w zakresie obsługi nowego sterownika zostały również przyjęte przez firmę Mesa i uwzględnione w sterowniku Gallium panfrost dla procesorów graficznych Mali.
W nowej generacji procesorów graficznych Mali harmonogram zadań Job Manager został zastąpiony interfejsem CSF (Command Stream Frontend), który zastępuje model dystrybucji łańcucha zadań modelem strumienia poleceń z harmonogramowaniem kolejki strumienia poleceń po stronie oprogramowania sprzętowego. Aby zorganizować pracę harmonogramu, w procesorze graficznym wbudowano oddzielny mikrokontroler Cortex-M7, a do wykonywania instrukcji CSF przewidziano specjalną jednostkę Command Execution Unit. Takie funkcje wymagają zupełnie innej organizacji transferu pracy z przestrzeni użytkownika do GPU.
Początkowo podjęto próbę zaimplementowania obsługi procesorów graficznych Mali na podstawie CSF w sterowniku Panfrost DRM, ale programiści doszli do wniosku, że doprowadziłoby to do znacznego skomplikowania istniejącego sterownika i że bardziej optymalne byłoby dla CSF utworzenie nowego sterownika zbudowanego przy użyciu innej architektury. Sterownik Panthor implementuje całkowicie nowy uAPI, nową logikę harmonogramowania zadań i nową logikę sterowania MMU/GPU-VA. Istniejący kod sterownika Panfrost DRM jest używany jako podstawa dla nowego sterownika, z którego zapożyczono typowe wzorce inicjalizacji sterownika, kontroli częstotliwości i zarządzania energią.
Początkowo nowy sterownik został opracowany metodą inżynierii wstecznej, ale później do projektu dołączyła firma ARM, która udostępniła dokumentację i uczestniczyła w przeglądzie kodu. Dwóch pracowników ARM zostało mianowanych współopiekunami sterownika jądra. LinuxW przyszłości, gdy sterownik OpenGL będzie gotowy, prace skoncentrują się na wdrożeniu sterownika Vulkan dla nowych procesorów graficznych Mali i uaktualnieniu istniejącego sterownika Vulkan dla starszych procesorów graficznych Mali.
Należy zauważyć, że przygotowany sterownik Panthor umożliwia obsługę GPU na płytach z układem SoC Rockchip RK3588. Collabora zadbała również o zapewnienie możliwości rozruchu płyt z układem Rockchip RK3588, wykorzystując w pełni otwarty stos oprogramowania. Przygotowano obraz systemu oparty na układzie Rockchip RK3588. Debian oraz bootloader o otwartym kodzie źródłowym, który ma zastąpić zastrzeżone komponenty BL31 (Boot Loader stage 3.1).
Źródło: opennet.ru
