Panthor, open source ovladač pro 10. generaci Mali GPU, byl oznámen

Společnost Collabora oznámila připravenost otevřeného ovladače panthor vyvinutého pro desátou generaci Mali GPU (G310, G510, G710), který využívá technologii CSF (Command Stream Frontend), která přenáší některé funkce ovladače na stranu firmwaru, aby se snížilo zatížení CPU a nabízí nový model organizování práce na GPU. Panthor ovladače DRM (Direct Rendering Manager) byl přijat do větve drm-misc a očekává se, že bude zahrnut do jádra Linuxu 6.10. Změny na podporu nového ovladače byly také přijaty společností Mesa a jsou zahrnuty v ovladači panfrost Gallium pro GPU Mali.

V nové generaci GPU Mali je plánovač Job Manager nahrazen rozhraním CSF (Command Stream Frontend), ve kterém se namísto modelu založeného na odesílání řetězce úloh používá model založený na příkazovém proudu s plánováním frontu toku příkazů na straně firmwaru. Pro organizaci práce plánovače je v GPU zabudován samostatný mikrokontrolér Cortex-M7 a je k dispozici speciální jednotka pro provádění příkazů (Command Execution Unit) pro provádění instrukcí CSF. Takové funkce vyžadují zásadně odlišnou organizaci pro přenos práce na GPU z uživatelského prostoru.

Zpočátku byl učiněn pokus implementovat podporu pro Mali GPU založené na CSF v ovladači Panfrost DRM, ale vývojáři došli k závěru, že by to vedlo k velké komplikaci stávajícího ovladače a pro CSF ​​by bylo optimálnější vytvořit nový ovladač vytvořený pomocí jiné architektury. Ovladač panthor implementuje zcela nové uAPI, novou logiku plánování úloh a novou řídicí logiku MMU/GPU-VA. Nový ovladač je založen na stávajícím kódu ovladače DRM společnosti Panfrost, ze kterého si vypůjčuje typické vzory inicializace ovladače, řízení frekvence a správy napájení.

Nejprve byl vývoj nového ovladače prováděn pomocí reverzního inženýrství, ale poté se do projektu zapojila společnost ARM, která poskytla přístup k dokumentaci a podílela se na kontrole kódu. Dva zaměstnanci ARM byli povýšeni na status společného správce ovladačů pro linuxové jádro. V budoucnu, až bude ovladač OpenGL připraven, se práce zaměří na implementaci ovladače Vulkan pro nová GPU Mali a aktualizaci stávajícího ovladače Vulkan pro starší GPU Mali.

Je třeba poznamenat, že připravený panthor ovladač umožňuje podporu GPU na deskách s Rockchip RK3588 SoC. Collabora také odvedla práci, aby zajistila, že desky založené na Rockchip RK3588 lze načíst pomocí zcela otevřeného softwarového zásobníku. Pro Rockchip RK3588 byl připraven obraz systému založený na Debianu a otevřený zavaděč, který nahradí proprietární komponenty BL31 (zaváděcí fáze 3.1).

Zdroj: opennet.ru

Přidat komentář