Поддержка GPU

В MCom-03R используется GPU PowerVR Graphics Series8XE.

Поддержка стандартов

Библиотеки GPU для MCom-03R собраны с поддержкой следующих стандартов:

  • OpenGL ES 1.1

  • OpenGL ES 2.0

  • OpenGL ES 3.2

  • OpenCL 1.2

  • Vulkan 1.0

Пакеты поддержки GPU

В Buildroot добавлены следующие пакеты:

Компонент ПО

Название пакета

Примечание

pvrsrvkm.ko

mcom03-rogue-modules

Модуль ядра Linux

libsrv_um.so

mcom03-rogue-libs

Функции реализации EGL/GLES/Vulkan от вендора

libVK_IMG.so

mcom03-rogue-libs

Реализация Vulkan API 1.0 от вендора

libusc.so

mcom03-rogue-libs

USC compiler

libufwriter.so

mcom03-rogue-libs

SPIR-V compiler

Mesa3D

mesa3d

Mesa 17.0.6 (2017 г.)

Mesa3D: EGL

mesa3d

Пропатченная вендором реализация EGL в Mesa

Mesa3D: GLES

mesa3d

Пропатченная вендором реализация GLES в Mesa

Mesa3D: PowerVR DRI-драйвер

mesa3d

Клей (glue layer) между Mesa и libsrv_um.so

Vulkan loader (libvulkan.so)

vulkan-loader

Обеспечивает работу Vulkan-приложений

Weston

weston

Бенчмарк glmark2

glmark2

Бенчмарк OpenCL

mixbench-opencl

Демонстрации Vulkan

vulkan-demos

GStreamer-элементы

gstreamer1-plugins*

Содержит gst-plugins-gl

Компоненты пакета mcom03-rogue-libs распространяются в бинарном виде.

Структурная схема компонентов ПО для ускорения графики:

../_images/gpu.svg

Поддержка Wayland

Buildroot для MCom-03R имеет поддержку Wayland и композитора Weston. Weston управляется systemd-сервисом mcom03-weston. Команда запуска сервиса:

systemctl start mcom03-weston

Команда остановки сервиса:

systemctl stop mcom03-weston

Команды для включения и отключения автоматического старта сервиса при загрузке Linux соответственно:

systemctl enable mcom03-weston
systemctl disable mcom03-weston

Выбор дисплея

Для запуска Weston на видеовыходе, отличном от HDMI, необходимо отредактировать конфигурационный файл /etc/xdg/weston/weston.ini, имеющий по умолчанию следующее содержимое:

[output]
name=HDMI-A-1
mode=preferred

[output]
name=DSI-1
mode=off

В файле обязательно должны быть описаны все видеовыходы, присутствующие в системе, в противном случае запуск Weston завершится с ошибкой. Их названия (ключ name) можно узнать из вывода команды modetest -M mali-dp -c. Все выходы, кроме основного, должны быть выключены (mode=off), а основной может быть настроен на автоматическое определение параметров изображения (mode=preferred).

Тестирование

Перед запуском тестов OpenGL ES и Vulkan необходимо предварительно запустить Weston с помощью приведённой выше команды. Если Weston был запущен впервые, необходимо предварительно перезагрузить устройство (при последующих запусках окружение будет настроено автоматически), либо единоразово выполнить настройку окружения командой:

source /usr/bin/mcom03-weston-prepare-env.sh

Для тестирования OpenGL ES в дистрибутив входит программа glmark2-es2-wayland. Команда запуска теста:

glmark2-es2-wayland

Для тестирования Vulkan в дистрибутив входит набор утилит из состава пакета vulkan-demos. Команды запуска:

descriptorsets
dynamicuniformbuffer
gltfskinning
gears
texturemipmapgen

Для тестирования OpenCL в дистрибутив входит стандартный бенчмарк mixbench-ocl. Команды запуска:

cd /usr/bin
mixbench-ocl