On this page

Qt Wayland Client

The Qt Wayland Client library provides the necessary functions for an application to act as a Wayland client and connect to a Wayland compositor. For most use cases, the library is used automatically through the Wayland QPA plugin, and there is no need for the application itself to use any functions from the library.

See Qt for Linux for general information. For more information about Wayland itself, see Wayland and Qt.

The cmake function qt_generate_wayland_protocol_client_sources() can be used to create custom protocol extensions.

Qt also provides the Qt Wayland Compositor module for developing compositors.

Using the Module

Using a Qt module's C++ API requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.

Building with CMake

Use the find_package() command to locate the needed module component in the Qt6 package:

find_package(Qt6 REQUIRED COMPONENTS WaylandClient)
target_link_libraries(mytarget PRIVATE Qt6::WaylandClient)

For more details, see the Build with CMake overview.

Building with qmake

To configure the module for building with qmake, add the module as a value of the QT variable in the project's .pro file:

QT += waylandclient

Reference

Licenses and Attributions

Qt Wayland Compositor and the Qt Wayland integration plugin are available under commercial licenses from The Qt Company.

In addition, Qt Wayland Compositor is available under the GNU General Public License, version 3, while the Qt Wayland integration plugin is available under the GNU Lesser General Public License, version 3 or the GNU General Public License, version 2.

See Qt Licensing for further details.

Qt Wayland Compositor and the Qt Wayland integration plugin use protocol definitions under following permissive licenses:

Presentation Time Protocol, version 1

MIT License

Wayland Color Management Protocol, version 1

MIT License

Wayland Dialog Protocol, version 1

MIT License

Wayland EGLStream Controller Protocol, version 1.1.1

MIT License

Wayland Fractional Scale Protocol, version 1

MIT License

Wayland Fullscreen Shell Protocol, version unstable v1

MIT License

Wayland IVI Extension Protocol, version 1.9.1

MIT License

Wayland KDE DBus Menu Protocol, version 1

GNU Lesser General Public License 2.1 or later

Wayland Linux Dmabuf Unstable V1 Protocol, version unstable v1, version 3

MIT License

Wayland Pointer Gestures Protocol, version unstable v1, version 2

MIT License

Wayland Pointer Warp Protocol, version version 1

MIT License

Wayland Primary Selection Protocol, version 1

MIT License

Wayland Protocol, version 1.24.0

MIT License

Wayland Scaler Protocol, version 2

MIT License

Wayland Session Management Protocol, version experimental V1

MIT License

Wayland Tablet Protocol, version unstable v2, version 1

MIT License

Wayland Text Input Protocol v1, version unstable v1

MIT License

Wayland Text Input Protocol v2, version unstable v2

HPND License

Wayland Text Input Protocol, version unstable v3

MIT License

Wayland Viewporter Protocol, version 1

MIT License

Wayland XDG Foreign Protocol, version 1

MIT License

Wayland XDG Output Protocol, version unstable v1, version 3

MIT License

Wayland XDG Shell Protocol, version 1.18

MIT License

Wayland XDG System Bell Protocol, version 1.18

MIT License

Wayland xdg-activation Protocol, version unstable v1, version 1

MIT License

Wayland xdg-decoration Protocol, version unstable v1, version 1

MIT License

Wayland xdg-toplevel-icon Protocol, version version 1

MIT License

Wlr Data Control Unstable V1 Protocol, version 2

MIT License

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.