Почему QtCompositor не удалось инициализировать отображение EGL?

Я пытаюсь запустить пример кода QWaylandCompositor "qwindow-compositor" в системах Kaby Lake и Sky Lake. Но это показывает как

QtCompositor: Не удалось инициализировать отображение EGL. Не удалось получить EglDisplay для окна.

Что мне нужно сделать, чтобы решить эту проблему?

2 ответа

Решение

От README

Тестирование композитора на основе Qt на X11:

Большинство приложений на основе QWidget будут использовать буферы с разделяемой памятью, которые работают на любом оборудовании. Приложения OpenGL и Qt Quick нуждаются в способе отправки буферов графической памяти с клиента на сервер. Есть много опций, и не все опции работают на всех аппаратных средствах.

Интеграция буфера X Composite должна работать на всех современных X-серверах. Он может использоваться с EGL или GLX в качестве бэкэнда OpenGL. Это должно соответствовать бэкэнду, используемому плагином платформы xcb. (Обычно GLX используется по умолчанию для приложений Qt, работающих на X11.) Чтобы использовать совместное использование буфера X Composite с EGL, запустите композитор следующим образом:

QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl ./pure-qml

Просто обмен pure-qml с qwindow-compositor

В моем случае в моей системе отсутствовали следующие библиотеки

      libgles2-mesa libgles2-mesa-dev
Другие вопросы по тегам