3
1
Fork
You've already forked qtwayland
0
No description
  • C++ 91.3%
  • CMake 4.4%
  • QML 3.1%
  • C 0.6%
  • GLSL 0.3%
  • Other 0.3%
Qt Submodule Update Bot a5feea84da Update dependencies on 'dev' in qt/qtwayland
Change-Id: If5f1c8dd7ac5f6e7c5e310282cdf9af7ed206d3c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026年07月14日 21:05:10 +00:00
cmake Fix qt_internal_get_wayland_*_dir for standalone parts in superbuild 2025年06月02日 11:04:45 +02:00
coin Run Axivion analysis only for security critical files 2026年04月23日 11:07:09 +00:00
dist Remove year from Qt Copyright in REUSE.toml 2025年07月09日 11:00:02 +02:00
examples Doc: Allow to easily link to Wayland CMake commands 2026年07月06日 13:01:44 +00:00
features Remove the XComposite buffer sharing extension 2021年12月07日 12:25:13 +01:00
LICENSES Remove Wayland client code after move to qtbase 2025年05月18日 16:54:07 +02:00
src Doc: Allow to easily link to Wayland CMake commands 2026年07月06日 13:01:44 +00:00
tests wayland: Fix sendFullKeyEvent to properly handle AltGr and NumLock modifiers 2026年04月14日 11:37:32 +00:00
.cmake.conf Bump version to 6.13.0 2026年06月04日 19:26:08 +00:00
.gitattributes Update the git-archive export options 2012年09月03日 19:54:52 +02:00
.gitignore Add vscode config files to .gitignore 2024年08月29日 14:14:44 +02:00
.gitreview Add .gitreview file 2025年03月24日 14:21:53 +00:00
.tag Update the git-archive export options 2012年09月03日 19:54:52 +02:00
CMakeLists.txt Remove Wayland client code after move to qtbase 2025年05月18日 16:54:07 +02:00
configure.cmake Change the license of all CMakeLists.txt and *.cmake files to BSD 2022年08月23日 23:22:59 +02:00
CONTRIBUTING.md Add CONTRIBUTING.md file 2026年04月22日 07:16:36 +00:00
dependencies.yaml Update dependencies on 'dev' in qt/qtwayland 2026年07月14日 21:05:10 +00:00
licenseRule.json Add CONTRIBUTING.md file 2026年04月22日 07:16:36 +00:00
qt_cmdline.cmake configure: Add missing qt_cmdline.cmake chain entries 2026年03月09日 18:04:58 +01:00
README Implement version 4 of linux-dmabuf 2026年03月27日 16:05:15 +01:00
REUSE.toml Add CONTRIBUTING.md file 2026年04月22日 07:16:36 +00:00

This is the QtWayland module.
The QtWayland module consists of two parts:
Wayland platform plugin:
 Enables Qt applications to be run as Wayland clients.
QtWaylandCompositor API:
 Enables the creation of Wayland compositors using Qt and QtQuick.
To build the QtWayland module you need the external dependencies:
xkbcommon - http://xkbcommon.org/
wayland - http://wayland.freedesktop.org/
QtWaylandCompositor supports loading client buffer integrations that don't use
the wayland-egl interfaces. These client buffer integrations are picked up by
QtWaylandCompositor as plugins. To specify what plugin to load use the environment
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 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.
Available client buffer integrations are:
wayland-egl (this is the default)
linux-dmabuf-v1
brcm
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.
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
extension. These are tailored to the specific embedded form factor better than
the generic wl_shell or xdg_shell extensions that target desktop systems.
Custom shell protocols are added through shell integration plugins.
Which shell integration to use is determined by the QT_WAYLAND_SHELL_INTEGRATION
environment variable. If no shell is specified, the default is to try shells in
the following order: xdg-shell, xdg-shell-v6, wl-shell and then ivi-shell.
Example Usage:
Starting the hellowindow example application (one of the examples for qtbase)
with ivi-shell integration:
 QT_WAYLAND_SHELL_INTEGRATION=ivi-shell ./hellowindow -platform wayland
Available Shell Integrations:
 * ivi-shell
 * wl-shell (deprecated)
 * xdg-shell
 * fullscreen-shell-v1