Оголошено Collabora через допис у блозі одна з останніх віх у своїх представлених роботах, і це оголосила про довгоочікуване злиття контролерів ядро який додає підтримку графічних процесорів Arm Mali 10-го покоління в drm-різне. Цей водій більш відомий як "Пантор", це драйвер з відкритим кодом, розроблений спеціально для графічного процесора Mali 310-го покоління (G510, G710, GXNUMX).
Зазначається, що злиття контролера являє собою дворічну спільну роботу та роботу кількох розробників і компаній, Collabora підкреслює важливість співпраці в розробці передових технологій.
Участь Arm у цьому процесі була вирішальною, вона не лише надала доступ до ключової документації, але й брала активну участь у перегляді та спільному обслуговуванні драйвера ядра.
Спочатку розробка нового драйвера велася методом зворотного проектування, але потім до проекту підключилася ARM, яка надала доступ до документації та взяла участь у перевірці коду. Двоє співробітників ARM отримали статус співрозробника драйверів для ядра Linux. У майбутньому, коли драйвер OpenGL буде готовий, робота буде зосереджена на реалізації драйвера Vulkan для нових графічних процесорів Mali та оновленні існуючого драйвера Vulkan для старих графічних процесорів Mali.
Цей водій використовує технологію CSF (інтерфейс командного потоку) щоб перенести деякі функції з контролера на сторону прошивки, що допомагає знизити навантаження на центральний процесор і забезпечує нову модель організації роботи на GPU. Драйвер Panthor DRM (Direct Rendering Manager). було прийнято до гілки drm-misc і, як очікується, буде включено до ядра Linux 6.10. Mesa також прийняла зміни для підтримки нового драйвера, який буде включено в драйвер Panfrost Gallium для графічних процесорів Mali.
У новому поколінні графічних процесорів Mali планувальник Job Manager замінено інтерфейсом CSF, який використовує модель на основі потоку команд із плануванням черги потоку команд на стороні мікропрограми замість моделі на основі потоку команд. робочих місць. Це передбачає інтеграцію окремого мікроконтролера Cortex-M7 у GPU та спеціального блоку виконання команд для виконання інструкцій CSF. Ці функції вимагають принципово іншої організації для передачі роботи на GPU з простору користувача.
Спочатку, Була зроблена спроба реалізувати підтримку графічних процесорів Mali на основі CSF у драйвері Panfrost DRM, але розробники дійшли висновку, що це надто ускладнить існуючий контролер. Тому для CSF оптимальніше було створити новий контролер з іншою архітектурою. Контролер Panthor реалізує абсолютно новий uAPI, нову логіку планування завдань і нову логіку керування MMU/GPU-VA. Він заснований на існуючому коді драйвера DRM Panfrost, з якого він бере типові шаблони ініціалізації драйвера, контролю частоти та керування живленням.
На додаток до цього, Згадується, що драйвер ядра об’єднав запит плавить менеsa, який розширює драйвер Gallium існує для підтримки нових графічних процесорів Arm Mali 10-го покоління. Співпрацювати також працював над тим, щоб плати на базі Rockchip RK3588 можна завантажити за допомогою повністю відкритого програмного стеку. Для Rockchip RK3588 було підготовлено образ системи на основі Debian і відкритий завантажувач для заміни пропрієтарних компонентів BL31 (стадія завантажувача 3.1). Це особливо важливо для платформ Rockchip RK3588, де завдяки цим оновленням очікується підвищення продуктивності та ефективності.
Робота над драйвером Gallium передбачає не лише підтримку нових графічних процесорів, а й оптимізацію продуктивності та сумісності з сучасними графічними API. Це розширення драйвера є частиною постійних зусиль, спрямованих на забезпечення виняткової графіки на різних пристроях і сценаріях використання.
Якщо ви є цікаво дізнатися про це більше, Ви можете перевірити деталі У наступному посиланні.