Differences between revisions 22 and 23
Revision 22 as of 2020-03-18 01:18:37
Size: 5786
Editor: PaulWise
Comment: non-js wiki link
Revision 23 as of 2020-03-18 01:19:33
Size: 5787
Editor: PaulWise
Comment: https
Deletions are marked like this. Additions are marked like this.
Line 59: Line 59:
 * [[DebianPackage:sway]] ([[http://swaywm.org/|website]], [[https://github.com/SirCmpwn/sway|Github project]]) (Will [[https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html|stop]] supporting NVidia EGL/closed source driver from 1.0 onwards.)  * [[DebianPackage:sway]] ([[https://swaywm.org/|website]], [[https://github.com/SirCmpwn/sway|Github project]]) (Will [[https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html|stop]] supporting NVidia EGL/closed source driver from 1.0 onwards.)

Translation(s): English - Français

Wayland is a computer protocol that specifies the communication between a display server and its clients, as well as a reference implementation of the protocol in the C programming language.

Wayland's main goal is replacing the X Window System with a modern, simpler windowing system in Linux and other Unix-like operating systems. The project's source code is published under the terms of the MIT License, a permissive free software licence.

As part of its efforts, the Wayland project also develops a reference implementation of a Wayland compositor called Weston.


To test Wayland, you will need to have a compatible compositor installed. A Wayland compositor combines the roles of the X window manager, compositing manager and display server. Weston is the reference implementation of the concept, but each desktop environment implements their own composition manager.

You can test weston directly from a regular X session with the following commands:

sudo apt install weston

This will start a Wayland window in your regular X session where you can test things.

You can also test the mutter window manager directly:

sudo apt install mutter
mutter --nested --wayland

Then further Wayland clients will show up in that window. Try, for example, starting gnome-terminal.

Another way to test Wayland is to install the GNOME desktop environment and select the "GNOME on wayland" session when logging in.

Supported environments

Desktop environments:

  • GNOME 3.20+ (if specifically selected; X is used by default in Debian)
  • KDE (Plasma 5.4)
  • Enlightenment
  • Hawaii


  • Qt 5
  • GTK+ 3.20+
  • Clutter
  • SDL 2.0.2+
  • EFL
  • GLFW 3.2

Window managers:

Partially supported


Desktop environments:

Window managers:

  • i3: FAQ, discussion.

  • other window managers unlikely to be supported


For backwards compatibility, any X program will run under Xwayland. Install.

sudo apt install xwayland

Add these lines to ~/.config/weston.ini .

# <mycomputer>:/home/<me>/.config/weston.ini
# weston.ini is cited in "man weston".


The security and performance improvements of Wayland are not be obtained with Xwayland.


Xresources won't load

This is a known issue. Back in 2015, it was decided that the resources were too slow to load and that was dropped from the main GNOME session, see Redhat's bugzilla for more information.

Workaround: run this by hand or setup something to start it up automatically on session login.

xrdb -load .Xsession


Why is Wayland necessary?

Wayland allows better isolation between processes: one window cannot access resources from, or inject keystrokes into, another window.

Wayland also has the potential to be faster, by reducing the amount of code between the processes and the hardware, by delegating lots of things to the processes themselves.

See also the Wayland FAQ for more information.

Applications can't share information with each other... so how do I copy and paste?

The clipboard works like normal between X11 and Wayland applications.

I'm accustomed to running various programs (e.g. synaptic) as root in my X session. How will this work under Wayland?

(In fact, synaptic was removed from buster because it doesn't work under Wayland.)

There are plans to allow X11 applications running as root to use XWayland but native Wayland applications need to be restructured into a GUI part and a root part.

I run various programs over the network, e.g. through ssh X11 forwarding, or xhost. How will this work under Wayland?

SSH X11 forwarding works like before for X11 applications via XWayland. Native Wayland applications are not forwarded.

I share monitors between systems using x2x. How will this work under Wayland?

Further reading