Panthor, драйвер с отворен код за 10-то поколение Mali GPU, беше обявен

Collabora обяви готовността на отворения пантор драйвер, разработен за десетото поколение Mali GPU (G310, G510, G710), който използва CSF (Command Stream Frontend) технология, която прехвърля някои функции на драйвера към страната на фърмуера, за да намали натоварването на процесора и предлага нов модел, организиращ работата на графичния процесор. Панторът на DRM драйвера (Direct Rendering Manager) е приет в клона drm-misc и се очаква да бъде включен в ядрото на Linux 6.10. Промените за поддръжка на новия драйвер също са приети от Mesa и са включени в драйвера panfrost Gallium за графични процесори Mali.

В новото поколение графични процесори Mali, планировчикът на Job Manager е заменен от интерфейс CSF (Command Stream Frontend), в който вместо модел, базиран на изпращане на верига от задания, се използва базиран на команден поток модел с планиране на опашката на командния поток от страна на фърмуера. За организиране на работата на планировчика в графичния процесор е вграден отделен микроконтролер Cortex-M7 и е предвиден специален блок за изпълнение на команди (Command Execution Unit) за изпълнение на CSF инструкции. Такива функции изискват фундаментално различна организация за прехвърляне на работа към GPU от потребителското пространство.

Първоначално беше направен опит да се внедри поддръжка за Mali GPU, базирани на CSF в драйвера Panfrost DRM, но разработчиците стигнаха до извода, че това ще доведе до голямо усложнение на съществуващия драйвер и за CSF би било по-оптимално да се създаде нов драйвер, създаден с различна архитектура. Драйверът на panthor внедрява изцяло нов uAPI, нова логика за планиране на задачи и нова контролна логика на MMU/GPU-VA. Новият драйвер е базиран на съществуващия DRM код на драйвера на Panfrost, от който е заимствал типични шаблони за инициализация на драйвера, контрол на честотата и управление на захранването.

Първоначално разработката на новия драйвер беше извършена с помощта на обратно инженерство, но след това ARM се присъедини към проекта, предостави достъп до документацията и участва в прегледа на кода. Двама служители на ARM бяха повишени в статут на съ-поддържащ драйвер за ядрото на Linux. В бъдеще, след като OpenGL драйверът е готов, работата ще се съсредоточи върху внедряването на Vulkan драйвер за нови графични процесори на Мали и надграждане на съществуващия драйвер Vulkan за по-стари графични процесори на Мали.

Отбелязва се, че подготвеният драйвер за panthor позволява поддръжка на GPU на платки с Rockchip RK3588 SoC. Collabora също свърши работа, за да гарантира, че базираните на Rockchip RK3588 платки могат да бъдат заредени с помощта на напълно отворен софтуерен стек. За Rockchip RK3588 са подготвени системно изображение, базирано на Debian, и отворен буутлоудър, за да заменят частните BL31 компоненти (Boot Loader етап 3.1).

Източник: opennet.ru

Добавяне на нов коментар