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:
 0@@ -85,11 +85,11 @@
 1     MarkdownReader ....................... yes
 2       Using system libmd4c ............... no
 3     MarkdownWriter ....................... no
 4-  EGL .................................... no
 5+  EGL .................................... yes
 6   OpenVG ................................. no
 7   OpenGL:
 8     Desktop OpenGL ....................... no
 9-    OpenGL ES 2.0 ........................ no
10+    OpenGL ES 2.0 ........................ yes
11     OpenGL ES 3.0 ........................ no
12     OpenGL ES 3.1 ........................ no
13     OpenGL ES 3.2 ........................ no
14@@ -157,6 +157,24 @@
15   WinRT Runner Tool ...................... no
16 Qt Tools:
17   QDoc ................................... no
18+Qt Wayland Drivers:
19+  EGL .................................... yes
20+  Raspberry Pi ........................... no
21+  XComposite EGL ......................... no
22+  XComposite GLX ......................... no
23+  DRM EGL ................................ no
24+  libhybris EGL .......................... no
25+  Linux dma-buf server buffer integration . no
26+  Vulkan-based server buffer integration . no
27+  Shm emulation server buffer integration . no
28+Qt Wayland Client Shell Integrations:
29+  xdg-shell .............................. yes
30+  xdg-shell unstable v5 (deprecated) ..... no
31+  xdg-shell unstable v6 .................. no
32+  ivi-shell .............................. no
33+  wl-shell (deprecated) .................. no
34+Qt Wayland Client ........................ yes
35+Qt Wayland Compositor .................... no
36 
37 Note: Also available for Linux: linux-clang linux-icc
38 
Here is an excerpt from the log on Ubuntu 22.04 + GNOME:
 0$ QT_QPA_PLATFORM=wayland ./src/qt/bitcoin-qt -printtoconsole
 1Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
 22022-04-04T11:11:26Z Bitcoin Core version v23.99.0-8ffd5cae0b8a (release build)
 32022-04-04T11:11:26Z Qt 5.15.3 (static), plugin=wayland (static)
 42022-04-04T11:11:26Z Static plugins:
 52022-04-04T11:11:26Z  QXcbIntegrationPlugin, version 331520
 62022-04-04T11:11:26Z  QWaylandIntegrationPlugin, version 331520
 72022-04-04T11:11:26Z  QWaylandEglClientBufferPlugin, version 331520
 82022-04-04T11:11:26Z  QWaylandBradientDecorationPlugin, version 331520
 92022-04-04T11:11:26Z  QWaylandXdgShellIntegrationPlugin, version 331520
102022-04-04T11:11:26Z Style: fusion / QFusionStyle
112022-04-04T11:11:26Z System: Ubuntu Jammy Jellyfish (development branch), x86_64-little_endian-lp64
122022-04-04T11:11:26Z Screen: eDP-1 1920x1080, pixel ratio=1.0
13...
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: