This PR adds the QtWayland module into the qt package in depends.
This change allows to build release binaries for Linux systems that can run natively—as a Wayland client—on modern desktops with Wayland compositors.
Closes #19950.
The diff for Qt "Configure summary" in depends:
@@ -85,11 +85,11 @@
MarkdownReader ....................... yes
Using system libmd4c ............... no
MarkdownWriter ....................... no
- EGL .................................... no
+ EGL .................................... yes
OpenVG ................................. no
OpenGL:
Desktop OpenGL ....................... no
- OpenGL ES 2.0 ........................ no
+ OpenGL ES 2.0 ........................ yes
OpenGL ES 3.0 ........................ no
OpenGL ES 3.1 ........................ no
OpenGL ES 3.2 ........................ no
@@ -157,6 +157,24 @@
WinRT Runner Tool ...................... no
Qt Tools:
QDoc ................................... no
+Qt Wayland Drivers:
+ EGL .................................... yes
+ Raspberry Pi ........................... no
+ XComposite EGL ......................... no
+ XComposite GLX ......................... no
+ DRM EGL ................................ no
+ libhybris EGL .......................... no
+ Linux dma-buf server buffer integration . no
+ Vulkan-based server buffer integration . no
+ Shm emulation server buffer integration . no
+Qt Wayland Client Shell Integrations:
+ xdg-shell .............................. yes
+ xdg-shell unstable v5 (deprecated) ..... no
+ xdg-shell unstable v6 .................. no
+ ivi-shell .............................. no
+ wl-shell (deprecated) .................. no
+Qt Wayland Client ........................ yes
+Qt Wayland Compositor .................... no
Note: Also available for Linux: linux-clang linux-icc
Here is an excerpt from the log on Ubuntu 22.04 + GNOME:
$ QT_QPA_PLATFORM=wayland ./src/qt/bitcoin-qt -printtoconsole
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
2022-04-04T11:11:26Z Bitcoin Core version v23.99.0-8ffd5cae0b8a (release build)
2022-04-04T11:11:26Z Qt 5.15.3 (static), plugin=wayland (static)
2022-04-04T11:11:26Z Static plugins:
2022-04-04T11:11:26Z QXcbIntegrationPlugin, version 331520
2022-04-04T11:11:26Z QWaylandIntegrationPlugin, version 331520
2022-04-04T11:11:26Z QWaylandEglClientBufferPlugin, version 331520
2022-04-04T11:11:26Z QWaylandBradientDecorationPlugin, version 331520
2022-04-04T11:11:26Z QWaylandXdgShellIntegrationPlugin, version 331520
2022-04-04T11:11:26Z Style: fusion / QFusionStyle
2022-04-04T11:11:26Z System: Ubuntu Jammy Jellyfish (development branch), x86_64-little_endian-lp64
2022-04-04T11:11:26Z Screen: eDP-1 1920x1080, pixel ratio=1.0
...
Please note that for the simplicity sake Wayland 1.19.0 has been used as in Wayland 1.20.0:
- The autotools build system has been dropped. Meson has replaced it.
Notes about new runtime dependencies
Wayland compositor infrastructure:
- libwayland-client.so.0 -- client library, e.g., libwayland-client0
- libwayland-cursor.so.0 -- cursor library, e.g., libwayland-cursor0
- libwayland-egl.so.1 -- EGL library, e.g., libwayland-egl1
Vendor neutral GL dispatch libraries:
https://ubuntu.com/security/cves and https://security-tracker.debian.org/tracker/ have no records about the packages mentioned above.
More details: