Differences between revisions 2 and 16 (spanning 14 versions)
Revision 2 as of 2017-04-20 18:43:09
Size: 2124
Editor: TheAnarcat
Comment:
Revision 16 as of 2019-06-27 05:17:41
Size: 5391
Editor: PaulWise
Comment: mention that root X11 apps will be allowed: https://blogs.gnome.org/uraeus/2019/06/24/on-the-road-to-fedora-workstation-31/
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: none-~ ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/Wayland|Français]] -~
Line 13: Line 13:
## If your page gets really long, uncomment this Table of Contents
## <<TableOfContents(2)>>
<<TableOfContents(2)>>
Line 18: Line 17:
To test Wayland, you will need to have a compatible "composition manager" installed. A composition manager in Wayland is what used to be a compositor in X, merged with the "display server". DebianPackage:Weston is the reference implementation of the concept, but each desktop environment implements their own composition manager. 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. DebianPackage:Weston is the reference implementation of the concept, but each desktop environment implements their own composition manager.
Line 20: Line 19:
A good way to test Wayland is to install the GNOME desktop environment and select the "GNOME on wayland" session when logging in. 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.

You can also test the DebianPackage: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 DebianPackage: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

Toolkits:

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

Window managers:

 * [[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.)
 * [[https://github.com/Drakulix/fireplace|Fireplace]] (no Debian package yet)

Note that any X program will still run, as there is a XWayland server that provides backwards compatibility with X program. Those programs will not, however, benefit from the security and performance improvements Wayland provides.

== Partially supported ==

 * Emacs: because Emacs is [[http://emacshorrors.com/posts/psa-emacs-is-not-a-proper-gtk-application.html|not a real GTK apps]], it still talks with X11 and therefore will use XWayland
 * Vim: similar (DebianBug:819954)

== Unsupported ==

Desktop environments:

 * Cinnamon: [[https://github.com/linuxmint/Cinnamon/issues/5201|discussed]]
 * MATE: [[http://wiki.mate-desktop.org/wayland|planned]], [[https://www.phoronix.com/scan.php?page=news_item&px=MTYwNjQ|source]] (2014)
 * XFCE: [[https://www.reddit.com/r/xfce/comments/4aeqda/xfce_wayland_support/|planned]]

Window managers:

 * i3: [[https://faq.i3wm.org/question/687/i3-support-for-wayland.1.html|FAQ]], [[https://www.reddit.com/r/i3wm/comments/2ucznn/any_i3_support_plans_for_wayland_in_the_neaby/|discussion]].
 * other window managers unlikely to be supported
Line 42: Line 102:
See also the [[https://wayland.freedesktop.org/faq.html|Wayland FAQ]] for more information.
Line 43: Line 104:
=== Applications can't share information with each other... so how do I copy and paste? ===

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

(In fact, DebianPkg:synaptic was [[https://tracker.debian.org/news/1037065/synaptic-removed-from-testing/|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? ===

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

== Further reading ==

 * [[https://wiki.archlinux.org/index.php/Wayland|Arch Linux wiki]] - as usual, excellent resource
 * [[https://wayland.freedesktop.org/|Wayland homepage]]
 * [[https://wayland.freedesktop.org/faq.html|Wayland FAQ]]

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.

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.

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

Toolkits:

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

Window managers:

Note that any X program will still run, as there is a XWayland server that provides backwards compatibility with X program. Those programs will not, however, benefit from the security and performance improvements Wayland provides.

Partially supported

Unsupported

Desktop environments:

Window managers:

  • i3: FAQ, discussion.

  • 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.

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

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?

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

Further reading


CategoryDesktopEnvironment