diff options
author | Paul Olav Tvete <paul.tvete@qt.io> | 2021-11-09 13:36:30 +0100 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@qt.io> | 2021-11-30 10:20:06 +0100 |
commit | 048f431737f71813bf9ccc2a8300107ce0ba2020 (patch) | |
tree | 1cdf385b93bf3a93d53c47b1623a71e6e7bec66e | |
parent | 62d10ac6a84465f97c4068a54a517e06e7cb74da (diff) | |
download | qtwayland-048f431737f71813bf9ccc2a8300107ce0ba2020.tar.gz |
Don't build XComposite buffer integration by default
Both xcomposite-egl and xcomposite-glx have rendering issues, and they
do not work with the latest Nvidia driver versions.
These plugins were created to allow testing/debugging of QtWayland-based
compositors on desktops that did not support Wayland natively. At this
time, Wayland is much more widely supported on the desktop, and
[ChangeLog][Extensions][The xcomposite-egl and xcomposite-glx shell
extension protocols are no longer built by default.]
Task-number: QTBUG-92074
Task-number: QTBUG-97985
Change-Id: Ifded68b92e91e2d98aa44b8cfc624a4072b30451
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
(cherry picked from commit d4a7faff1f41881169ea3c00139ddc9e85d916ab)
-rw-r--r-- | README | 23 | ||||
-rw-r--r-- | src/client/configure.cmake | 4 | ||||
-rw-r--r-- | src/compositor/configure.cmake | 4 | ||||
-rw-r--r-- | src/compositor/doc/src/qtwaylandcompositor-overview.qdoc | 14 |
4 files changed, 9 insertions, 36 deletions
@@ -22,18 +22,10 @@ no client buffer integration is specified, then the wayland-egl plugin will be loaded. Please note that no Weston clients will work if the non standard wayland-egl client buffer integration is used. -To start a compositor with the xcomposite-glx integration then start -the compositor as follows: -QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-glx ./my-compositor - -Now it should be possible to start an application in a separate terminal. ie: -$QTBASEDIR/examples/opengl/hellowindow/hellowindow -platform wayland --single - Available client buffer integrations are: wayland-egl (this is the default) +linux-dmabuf-unstable-v1 brcm -xcomposite-egl -xcomposite-glx Testing a Qt-based compositor on X11: @@ -42,14 +34,6 @@ all hardware. OpenGL and Qt Quick applications need a way to send graphics memory buffers from client to server. There are many options, and not all options work on all hardware. -The X Composite buffer integration should work on all modern X servers. It -can be used with either EGL or GLX as the OpenGL backend. This must match the -backend used by the xcb platform plugin. (Normally GLX is the default for Qt -applications running on X11.) To use the X Composite buffer sharing with EGL, -start the compositor as follows: - -QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl ./pure-qml - Using wayland-egl requires support from the driver. Intel integrated graphics are supported through the standard Mesa drivers. For NVidia, driver version 364.12 or newer is required, and Qt must be configured with "-opengl es2". @@ -85,8 +69,5 @@ Available Shell Integrations: * ivi-shell * wl-shell (deprecated) * xdg-shell - * xdg-shell-v5 (deprecated) - * xdg-shell-v6 - -We hang out at #qt-labs on Libera.Chat if you have any questions + * fullscreen-shell-v1 diff --git a/src/client/configure.cmake b/src/client/configure.cmake index ea13ef43..5a11bd13 100644 --- a/src/client/configure.cmake +++ b/src/client/configure.cmake @@ -203,11 +203,11 @@ qt_feature("wayland-brcm" PRIVATE ) qt_feature("xcomposite-egl" PRIVATE LABEL "XComposite EGL" - CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND QT_FEATURE_xlib AND XComposite_FOUND AND QT_FEATURE_egl_x11 + CONDITION FALSE AND QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND QT_FEATURE_xlib AND XComposite_FOUND AND QT_FEATURE_egl_x11 ) qt_feature("xcomposite-glx" PRIVATE LABEL "XComposite GLX" - CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND NOT QT_FEATURE_opengles2 AND QT_FEATURE_xlib AND XComposite_FOUND + CONDITION FALSE AND QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND NOT QT_FEATURE_opengles2 AND QT_FEATURE_xlib AND XComposite_FOUND ) qt_feature("wayland-drm-egl-server-buffer" PRIVATE LABEL "DRM EGL" diff --git a/src/compositor/configure.cmake b/src/compositor/configure.cmake index 7453e811..439bda06 100644 --- a/src/compositor/configure.cmake +++ b/src/compositor/configure.cmake @@ -186,11 +186,11 @@ qt_feature("wayland-brcm" PRIVATE ) qt_feature("xcomposite-egl" PRIVATE LABEL "XComposite EGL" - CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_egl AND QT_FEATURE_opengl AND XComposite_FOUND + CONDITION FALSE AND QT_FEATURE_wayland_server AND QT_FEATURE_egl AND QT_FEATURE_opengl AND XComposite_FOUND ) qt_feature("xcomposite-glx" PRIVATE LABEL "XComposite EGL" - CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_opengl AND NOT QT_FEATURE_opengles2 AND QT_FEATURE_xlib AND XComposite_FOUND + CONDITION FALSE AND QT_FEATURE_wayland_server AND QT_FEATURE_opengl AND NOT QT_FEATURE_opengles2 AND QT_FEATURE_xlib AND XComposite_FOUND ) qt_feature("wayland-drm-egl-server-buffer" PRIVATE LABEL "DRM EGL" diff --git a/src/compositor/doc/src/qtwaylandcompositor-overview.qdoc b/src/compositor/doc/src/qtwaylandcompositor-overview.qdoc index 01a804b0..2c3d8f05 100644 --- a/src/compositor/doc/src/qtwaylandcompositor-overview.qdoc +++ b/src/compositor/doc/src/qtwaylandcompositor-overview.qdoc @@ -100,22 +100,14 @@ simplified debugging and efficient turn-around on trying out new features. Qt Wayland supports several backends for sharing graphics buffers between clients and the - server. The main ones are: + server. The main one is: \list \li \c{wayland-egl}: This is the default backend and should be preferred whenever possible. - However, it requires support in the OpenGL driver on the system for this to work. - \li \c{xcomposite-glx}: This uses the \c XComposite extension to the X11 display server for - sharing buffers. It requires that an X11 server is running on the system and that the xcb platform - plugin is used with the "GLX" backend. This is usually the default on X11 systems, but can be - forced by setting the \c QT_XCB_GL_INTEGRATION environment variable to "xcb_glx". - \li \c{xcomposite-egl}: This uses the \c XComposite extension to the X11 display server for - sharing buffers. It requires that an X11 server is running on the system and that the xcb platform - plugin is used with the "EGL" backend. This can be forced by setting \c QT_XCB_GL_INTEGRATION - environment variable to "xcb_egl". + It requires support in the OpenGL driver on the system for this to work. \endlist - Select the backend by setting the \c QT_WAYLAND_CLIENT_BUFFER_INTEGRATION environment variable. + Other backends may be selected by setting the \c QT_WAYLAND_CLIENT_BUFFER_INTEGRATION environment variable. \note If Qt Wayland Compositor is unable to initialize the client buffer backend, then it will fall back to using the "shared memory" backend (based on \c{wl_shm}) as a fail-safe. This backend |