Collabora ја објави достапноста на драјверот panthor со отворен код, развиен за графичките процесори Mali од десеттата генерација (G310, G510, G710). Тој користи технологија Command Stream Frontend (CSF), која префрла некои функции на драјверот на фирмверот за да го намали оптоварувањето на процесорот и нуди нов модел за организирање на извршувањето на графичкиот процесор. Драјверот panthor DRM (Direct Rendering Manager) е прифатен во гранката drm-misc и се очекува да биде вклучен во јадрото. Linux 6.10 Промените за поддршка на новиот драјвер се исто така усвоени од Mesa и вклучени во драјверот Gallium panfrost за Mali графичките процесори.
Во новата генерација на графички процесори на Мали, распоредувачот на Job Manager е заменет со интерфејс CSF (Command Stream Frontend), во кој, наместо модел базиран на испраќање на синџир на работни места, се користи модел заснован на проток на команди со закажување на редот за пренос на команди на страната на фирмверот. За да се организира работата на распоредувачот, посебен микроконтролер Cortex-M7 е вграден во графичкиот процесор, а обезбедена е и специјална единица за извршување на команди (Command Execution Unit) за извршување на инструкциите за CSF. Ваквите карактеристики бараат фундаментално различна организација за пренесување на работата на графичкиот процесор од корисничкиот простор.
Првично, беше направен обид да се имплементира поддршка за Mali графички процесори базирани на CSF во драјверот Panfrost DRM, но програмерите дојдоа до заклучок дека тоа ќе доведе до голема компликација на постоечкиот драјвер и за CSF би било пооптимално да се создаде нов драјвер изграден со поинаква архитектура. Возачот на панторот имплементира целосно нов uAPI, нова логика за распоред на работни места и нова контролна логика MMU/GPU-VA. Новиот драјвер се заснова на постоечкиот код на драјвер за DRM на Panfrost, од кој позајмува типична иницијализација на драјверот, контрола на фреквенцијата и шеми за управување со енергија.
Првично, новиот драјвер беше развиен со користење на обратен инженеринг, но потоа ARM се приклучи на проектот, обезбеди пристап до документацијата и учествуваше во прегледот на кодот. Двајца вработени во ARM беа назначени за ко-одржувачи на драјверот на јадрото. LinuxВо иднина, откако ќе биде подготвен OpenGL драјверот, работата ќе се фокусира на имплементација на Vulkan драјверот за новите Mali графички процесори и надградба на постоечкиот Vulkan драјвер за постарите Mali графички процесори.
Забележано е дека подготвениот panthor драјвер овозможува поддршка за графички процесор на плочи со Rockchip RK3588 SoC. Collabora, исто така, работеше на обезбедување на подигање на плочи базирани на Rockchip RK3588 користејќи целосно отворен софтверски стек. Подготвена е системска слика базирана на Rockchip RK3588. Debian и bootloader со отворен код за да ги замени сопственичките BL31 компоненти (Boot Loader фаза 3.1).
Извор: opennet.ru
