summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@qt.io>2021-11-09 13:36:30 +0100
committerPaul Olav Tvete <paul.tvete@qt.io>2021-11-30 10:20:06 +0100
commit048f431737f71813bf9ccc2a8300107ce0ba2020 (patch)
tree1cdf385b93bf3a93d53c47b1623a71e6e7bec66e
parent62d10ac6a84465f97c4068a54a517e06e7cb74da (diff)
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--README23
-rw-r--r--src/client/configure.cmake4
-rw-r--r--src/compositor/configure.cmake4
-rw-r--r--src/compositor/doc/src/qtwaylandcompositor-overview.qdoc14
4 files changed, 9 insertions, 36 deletions
diff --git a/README b/README
index b4215a4d6..1c784c7f6 100644
--- a/README
+++ b/README
@@ -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 ea13ef438..5a11bd130 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 7453e8112..439bda062 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 01a804b02..2c3d8f05e 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