Size: 1273
Comment: my first wayland documentation, yaay
|
Size: 5225
Comment: Let's see some actual user questions in the "FAQ".
|
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 11: | Line 11: |
As part of its efforts, the Wayland project also develops a reference implementation of a Wayland compositor called Weston.[7] | As part of its efforts, the Wayland project also develops a reference implementation of a Wayland compositor called Weston. |
Line 13: | Line 13: |
## If your page gets really long, uncomment this Table of Contents ## <<TableOfContents(2)>> |
<<TableOfContents(2)>> == 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. DebianPackage: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 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 27: | Line 93: |
== 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 [[https://wayland.freedesktop.org/faq.html|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, DebianPkg:synaptic was [[https://tracker.debian.org/news/1037065/synaptic-removed-from-testing/|removed from buster]] because it doesn't work under Wayland.) === 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.
Contents
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:
sway (website, Github project) (Will stop supporting NVidia EGL/closed source driver from 1.0 onwards.)
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 not a real GTK apps, it still talks with X11 and therefore will use XWayland
Vim: similar (819954)
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.)
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
Arch Linux wiki - as usual, excellent resource