Драйвер GPU Mali
Документ описывает Linux-драйвер Mali GPU для поддержки аппаратного ускорения OpenGL ES на 1892ВМ14Я.
Драйвер поддерживается в ядре Linux 4.4.
Общие сведения
Особенности драйвера GPU:
Аппаратное ускорение OpenGL ES v1, OpenGL ES v2, EGL v1.4.
Поддержка ускорения приложений в Х11.
Поддержка ускорения приложений, работающих через Linux фреймбуфер.
Поддержка ускорения приложений Qt, работающих через фреймбуфер.
Поддержка форматов пикселей фреймбуфера:
32bpp ARGB 8888,
16bpp ARGB 4444,
16bpp ARGB 1555,
16bpp RGB 565.
Примеры интеграции драйвера в Buildroot (работа через фреймбуфер) и ALT Linux (работа в X11).
Ограничения:
Не поддерживается интеграция с libglvnd для работы с несколькими провайдерами OpenGL ES в X11.
Не поддерживается OpenVG.
Состав драйвера
Драйвер GPU состоит из компонентов, представленных в таблице Таблица 8.
Компонент |
Описание |
Лицензия |
---|---|---|
|
Ссылка на библиотеку |
– |
|
Ссылка на библиотеку |
– |
|
Ссылка на библиотеку |
– |
|
Библиотеки для фреймбуфера и X11, реализуют API OpenGL ES v1, OpenGL ES v2, EGL v1.4. |
Proprietary |
|
Библиотека для выделения памяти для GPU. |
Apache |
|
Драйвер DDX для интеграции GPU в Xorg. |
GPLv2 |
|
Модуль ядра для выделения памяти для GPU. |
GPLv2 |
|
Модуль ядра GPU. |
GPLv2 |
Компоненты драйвера с открытой лицензией распространяются в виде исходных кодов в Git-репозиториях и в составе Buildroot 3.1:
libUMP.so
— репозиторий mcom02-libump,ump.ko
— репозиторий mcom02-mali-modules,mali.ko
— репозиторий mcom02-mali-modules,fbturbo_drv.so
— репозиторий xf86-video-fbturbo, не распространяется в составе Buildroot.
Для ускорения приложений в X11 и приложений, работающих через фреймбуфер, предоставляется две
несовместимые библиотеки libMali.so
. Библиотеки распространяются в бинарном виде:
для X11 и фреймбуфера — в составе Buildroot (X11 в Buildroot не проверяется),
для X11 — в виде RPM-пакетов совместимых с ALT Linux на сайте dist.elvees.com.
Поддержка X11
На рисунке Рис. 5 представлена диаграмма зависимостей OpenGL и OpenGL ES-приложений X11, компонентов драйвера (обозначены как Mali-X11). Дополнительно на диаграмме представлены:
Поддержка фреймбуфера
На рисунке Рис. 6 представлена диаграмма зависимостей OpenGL ES-приложений для фреймбуфера, компонентов драйвера (обозначены как Mali-FB).
Поддержка Qt
В MCom-02 Buildroot Qt интегрирован с поддержкой OpenGL ES согласно диаграмме
Рис. 6.
Qt настроен на использование EGLFS плагина для запуска OpenGL ES приложений.
Для указания конкретного плагина производителя GPU необходимо задать переменную окружения
QT_QPA_EGLFS_INTEGRATION
:
export QT_QPA_EGLFS_INTEGRATION=eglfs_mali
Для включение отладки системы плагинов нужно задать переменные окружения:
export QT_DEBUG_PLUGINS=1
export QT_QPA_EGLFS_DEBUG=1
export QT_LOGGING_RULES=qt.qpa.input=true
Подробнее см. Qt for Embedded Linux.