Translation(s): none
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.
Testing
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 weston
This will start a Wayland window in your regular X session where you can test things.
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
Toolkits:
- Qt 5
- GTK+ 3.20+
- Clutter
- SDL 2.0.2+
- EFL
- GLFW 3.2
Window managers:
SwayWM (RFP: 821397, Github project)
Fireplace (no Debian package yet)
Unsupported
Desktop environments:
Window managers:
i3: FAQ, discussion, see also i3way, a possible approach at porting i3 to Wayland
- other window managers unlikely to be supported
Troubleshooting
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
FAQ
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.
Further reading
Arch Linux wiki - as usual, excellent resource