Најавен е Panthor, двигател со отворен код за 10-тата генерација на Mali GPU

Collabora ја објави подготвеноста на отворениот двигател пантор, развиен за десеттата генерација на Mali GPU (G310, G510, G710), кој користи технологија CSF (Command Stream Frontend), која пренесува некои функции на возачот на страната на фирмверот за да го намали оптоварувањето на процесорот и нуди нов модел за организирање на работата на графичкиот процесор. DRM двигателот (Менаџер за директно прикажување) панторот е прифатен во гранката drm-misc и се очекува да биде вклучен во кернелот Linux 6.10. Промените за поддршка на новиот двигател, исто така, беа усвоени од Mesa и се вклучени во двигателот panfrost Gallium за графички процесори во Мали.

Во новата генерација на графички процесори на Мали, распоредувачот на Job Manager е заменет со интерфејс CSF (Command Stream Frontend), во кој, наместо модел базиран на испраќање на синџир на работни места, се користи модел заснован на проток на команди со закажување на редот за пренос на команди на страната на фирмверот. За да се организира работата на распоредувачот, посебен микроконтролер Cortex-M7 е вграден во графичкиот процесор, а обезбедена е и специјална единица за извршување на команди (Command Execution Unit) за извршување на инструкциите за CSF. Ваквите карактеристики бараат фундаментално различна организација за пренесување на работата на графичкиот процесор од корисничкиот простор.

Првично, беше направен обид да се имплементира поддршка за Mali графички процесори базирани на CSF во драјверот Panfrost DRM, но програмерите дојдоа до заклучок дека тоа ќе доведе до голема компликација на постоечкиот драјвер и за CSF би било пооптимално да се создаде нов драјвер изграден со поинаква архитектура. Возачот на панторот имплементира целосно нов uAPI, нова логика за распоред на работни места и нова контролна логика MMU/GPU-VA. Новиот драјвер се заснова на постоечкиот код на драјвер за DRM на Panfrost, од кој позајмува типична иницијализација на драјверот, контрола на фреквенцијата и шеми за управување со енергија.

Отпрвин, развојот на новиот драјвер се вршеше со помош на обратно инженерство, но потоа АРМ се вклучи во проектот, обезбеди пристап до документацијата и учествуваше во прегледот на кодот. Двајца вработени во АРМ се унапредени во статус на ко-одржувач на возачот за кернелот Линукс. Во иднина, откако OpenGL двигателот ќе биде подготвен, работата ќе се фокусира на имплементација на Vulkan драјвер за нови графички процесори на Mali и надградба на постојниот Vulkan драјвер за постари графички процесори на Mali.

Забележано е дека подготвениот драјвер за пантор овозможува поддршка на графичкиот процесор на табли со Rockchip RK3588 SoC. Колабора исто така направи работа за да се осигура дека таблите базирани на Rockchip RK3588 може да се вчитаат со користење на целосно отворен софтверски стек. За Rockchip RK3588, системска слика базирана на Debian и отворен подигнувач се подготвени за замена на сопственичките компоненти BL31 (фаза на подигач 3.1).

Извор: opennet.ru

Додадете коментар