diff options
author | Paul Olav Tvete <paul.tvete@qt.io> | 2016-10-05 10:40:30 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@qt.io> | 2016-10-06 05:31:14 +0000 |
commit | 2e37c65cb8e90694a7fb8107f009ba7710103062 (patch) | |
tree | 6d22ebf99c0f09e19783548fa5ab82c2786f8091 | |
parent | 43081c1b7a8cc29d6dffc87dd0ef72faecf7233e (diff) | |
download | qtwayland-2e37c65cb8e90694a7fb8107f009ba7710103062.tar.gz |
Show how to really make QtWayland work under X11
Change-Id: Id584a74d1d0805034b10ea68ee7bf9bf8acccb63
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
-rw-r--r-- | README | 33 |
1 files changed, 30 insertions, 3 deletions
@@ -18,13 +18,13 @@ QtWaylandCompositor as plugins. To specify what plugin to load use the environme variable QT_WAYLAND_CLIENT_BUFFER_INTEGRATION in the environment where the compositor is started. The compositor will broadcast to the clients which hardware integration to load when using the generic platformplugin "wayland". If -no client buffer integration is specifided, then the wayland-egl plugin will be +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 the qwindow-compositor with the xcomposite-egl integration then start +To start the qwindow-compositor with the xcomposite-glx integration then start the compositor as follows: -QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl ./qwindow-compositor +QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-glx ./qwindow-compositor Now it should be possible to start an application in a separate terminal. ie: $QTBASEDIR/examples/opengl/hellowindow/hellowindow -platform wayland --single @@ -35,6 +35,33 @@ brcm xcomposite-egl xcomposite-glx +Testing a Qt-based compositor on X11: + +Most QWidget-based applications will use shared memory buffers, which work on +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". +Run the compositor as follows: + +QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=wayland-egl ./minimal-qml + +Please note that some NVidia drivers may require early EGL initialization. Qt +clients normally use the buffer integration communicated by the compositor. +To set the client-side buffer integration manually, run clients with +"-platform wayland-egl". + Shell Integration: Some platforms, especially non-desktop ones, use a custom Wayland shell |