summaryrefslogtreecommitdiffstats
path: root/examples/wayland/server-buffer/README
blob: da20b0f50203e9e876e5cca5167fe04f76da5d38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
This example shows how to use the low-level server buffer extension. This
version of Qt also provides a texture sharing extension that provides more
functionality and convenience for sharing graphical assets with Qt Quick
clients: see the texture-sharing example.

Compile up both compositor and client.

If you have the dmabuf-server buffer integration (and you are running Mesa)
then start the compositor with:

$ QT_WAYLAND_SERVER_BUFFER_INTEGRATION=dmabuf-server ./compositor


Note: if you are running a compositor on an X11 desktop, you also need to
set QT_XCB_GL_INTEGRATION=xcb_egl as usual.

The compositor broadcasts the name of the server buffer integration to
all clients through the hardware integration extension. Therefore,
all you need to do is to start the client with

$ ./cpp-client -platform wayland

The client will show all the buffers shared by the compositor.

For testing on desktop, there is also a shared memory based server buffer
integration that works with any graphics hardware:

$ QT_WAYLAND_SERVER_BUFFER_INTEGRATION=shm-emulation-server QT_XCB_GL_INTEGRATION=xcb_egl ./compositor

Note: the shm-emulation-server integration does not actually share graphics
buffers, so it will not give any graphics memory savings. It is intended solely
for testing during development and should never be used in production.