Почему 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