Compania Collabora a anunțat disponibilitatea driverului deschis panthor, dezvoltat pentru generația a zecea de GPU Mali (G310, G510, G710), care utilizează tehnologia CSF (Command Stream Frontend), mutând pe partea de firmware anumite funcții ale driverului pentru a reduce sarcina pe CPU și oferind un model nou de organizare a execuției pe GPU. Driverul DRM (Direct Rendering Manager) panthor a fost acceptat în ramura drm-misc și se presupune că va face parte din nucleul Linux 6.10. Modificările pentru suportul noului driver au fost de asemenea acceptate în Mesa și incluse în driverul Gallium panfrost pentru GPU Mali.
În noua generație de GPU Mali, planificatorul Job Manager a fost înlocuit cu interfața CSF (Command Stream Frontend), în care, în locul modelului bazat pe trimiterea unei lanțuri de lucrări, este aplicat un model bazat pe fluxuri de comenzi cu planificarea cozii de flux de comenzi pe partea de firmware. Pentru organizarea activității planificatorului în GPU, este încorporat un microcontroler Cortex-M7, iar pentru executarea instrucțiunilor CSF este prevăzut un bloc special de execuție a comenzilor (Command Execution Unit). Astfel de caracteristici necesită o organizare cu totul diferită a transmisiei lucrărilor către GPU din spațiul utilizatorului.
Inițial, a fost efectuată o tentativă de implementare a suportului pentru GPU Mali bazat pe CSF în driverul DRM Panfrost, dar dezvoltatorii au ajuns la concluzia că acest lucru ar duce la o complicare semnificativă a driverului existent și că pentru CSF este mai optim să se creeze un nou driver, construit cu o arhitectură diferită. În driverul panthor a fost implementat un nou uAPI complet, o nouă logică de planificare a lucrărilor și o nouă logică de gestionare a MMU/GPU-VA. Ca bază pentru noul driver a fost utilizat codul existent al driverului DRM Panfrost, din care au fost împrumutate șabloanele tipice de inițializare a driverului, gestionarea frecvenței și gestionarea energiei.
În primele etape, dezvoltarea noului driver a fost realizată prin inginerie inversă, dar apoi s-a alăturat proiectului compania ARM, care a oferit acces la documentație și a participat la revizuirea codului. Doi angajați ai ARM au primit statutul de asistenți ai menținătorului (co-maintainer) driverului pentru nucleul Linux. Ulterior, după finalizarea driverului OpenGL, activitatea se va concentra pe implementarea driverului Vulkan pentru noile GPU Mali și modernizarea driverului Vulkan existent pentru vechile GPU Mali.
Se raportează că driverul panthor pregătit oferă suport GPU pe plăcile cu SoC Rockchip RK3588. Compania Collabora a realizat, de asemenea, lucrări pentru a asigura încărcarea plăcilor bazate pe Rockchip RK3588 folosind un stivă software complet deschisă. Pentru Rockchip RK3588 a fost pregătit o imagine de sistem bazată pe Debian și un bootloader deschis pentru a înlocui componentele proprietare BL31 (Boot Loader stage 3.1).
Sursa: opennet.ro
