Драйвер Linux для GPU 1892ВМ14Я. Руководство программиста¶
О документе¶
Документ описывает Linux-драйвер Mali GPU для поддержки аппаратного ускорения OpenGL ES на 1892ВМ14Я.
Общие сведения¶
Особенности драйвера 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 состоит из компонентов, представленных в таблице 3.
Компонент | Описание | Лицензия |
---|---|---|
libEGL.so |
Ссылка на библиотеку libMali.so . |
– |
libGLESv1_CM.so |
Ссылка на библиотеку libMali.so . |
– |
libGLESv2.so |
Ссылка на библиотеку libMali.so . |
– |
libMali.so |
Библиотеки для фреймбуфера и X11, реализуют API OpenGL ES v1, OpenGL ES v2, EGL v1.4. | Proprietary |
libUMP.so |
Библиотека для выделения памяти для GPU. | Apache |
fbturbo_drv.so |
Драйвер DDX для интеграции GPU в Xorg. | GPLv2 |
ump.ko |
Модуль ядра для выделения памяти для GPU. | GPLv2 |
mali.ko |
Модуль ядра 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¶
На рисунке 11 представлена диаграмма зависимостей OpenGL и OpenGL ES-приложений X11, компонентов драйвера (обозначены как Mali-X11). Дополнительно на диаграмме представлены:
libGLX.so
— библиотека вывода OpenGL-изображений в X11. Распространяется в составе пакета X.org.libGL.so
— библиотека программного рендеринга OpenGL. Распространяется с сайта Mesa.
Поддержка фреймбуфера¶
На рисунке 12 представлена диаграмма зависимостей OpenGL ES-приложений для фреймбуфера, компонентов драйвера (обозначены как Mali-FB).
Поддержка Qt¶
В MCom-02 Buildroot Qt интегрирован с поддержкой OpenGL ES согласно диаграмме
12.
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.