Серверная часть QT EGLFS с драйвером Mesa без X11 / Xorg - PullRequest
0 голосов
/ 06 января 2020

Я пытаюсь запустить одно из примеров приложений из QT 5.12 без установки XServer. Я использую Ubuntu Linux. Когда я запускаю его с помощью linuxfb backend, он работает нормально, но тогда плагин mapboxgl не работает (возможно, из-за отсутствия встроенного opengl)

, но когда я запускаю его с EGLFS backend

./qml_location_mapviewer -platform eglfs

не работает с "Не удалось инициализировать отображение egl"

Я попробовал композитор weston / wayland и -platform wayland все работает также. Почему QT EGLFS не видит мое устройство Intel Haswell Open GL, а все остальные могут?

1 Ответ

0 голосов
/ 07 января 2020

, как @derhass предположил, что необходимо было перекомпилировать QT со всеми необходимыми библиотеками OpenGL, установленными первыми.

# essentials
sudo apt-get install build-essential libssl-dev python

# bluez stack (optional)
sudo apt-get install libbluetooth-dev bluetooth blueman bluez libusb-dev libdbus-1-dev bluez-hcidump bluez-tools

# OpenGL EGL support
sudo apt-get install mesa-utils libegl1-mesa libegl1-mesa-dev libgbm-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev 

# assuming QT is downloaded and extracted before
cd ~/qt-everywhere-src-5.12.6
./configure -confirm-license -opensource -nomake tests -nomake examples -openssl-linked

Убедитесь, что вы получите раздел EGLFS, подобный следующему:

QPA backends:
  DirectFB ............................... no
  EGLFS .................................. yes
  EGLFS details:
    EGLFS OpenWFD ........................ no
    EGLFS i.Mx6 .......................... no
    EGLFS i.Mx6 Wayland .................. no
    EGLFS RCAR ........................... no
    EGLFS EGLDevice ...................... yes
    EGLFS GBM ............................ yes
    EGLFS VSP2 ........................... no
    EGLFS Mali ........................... no
    EGLFS Raspberry Pi ................... no
    EGLFS X11 ............................ yes
  LinuxFB ................................ yes
  VNC .................................... yes
  Mir client ............................. no

Затем скомпилируйте и установите все это

make
sudo make install

Скомпилируйте ваш проект и запустите его.

cd mapviewer
/usr/local/Qt-5.12.6/qmake
make
./qml_location_mapviewer -platform eglfs
...