Archives

Categories

Wayland

The Wayland protocol [1] is designed to be more secure than X, when X was designed there wasn’t much thought given to the possibility of programs with different access levels displaying on the same desktop. The Xephyr nested X server [2] is good for running an entire session from a remote untrusted host on a local display but isn’t suitable for multiple applications in the same session.

GNOME supported Wayland by default in Debian since the Bullseye release and for KDE support you can install the plasma-workspace-wayland which gives you an option for the session type of KDE Plasma Wayland when you login. For systems which don’t use the KDE Plasma workspace but which have some KDE apps you should install the package qtwayland5 to allow the KDE apps to use the Wayland protocol. See the KDE page of the Debian Wiki [3] for more information.

The Debian Wiki page on Wayland has more useful information [4]. Apparently you have to use gdm instead of sddm to get Wayland for the login prompt.

To get screen sharing working on Wayland (and also to get a system that doesn’t give out error messages) you need to install the pipewire package (see the Pipewire project page for more information [6]).

Daniel Stone gave a great LCA talk about Wayland in 2013 [5].

I have just converted two of my systems to Wayland. It’s pretty uneventful, things seem to work the same way as before. It might be theoretically faster but in practice Xorg was fast enough that there’s not much possibility to appear faster. My aim is to work on Linux desktop security to try and get process isolation similar to what Android does on the PC desktop and on Debian based phones such as the Librem 5. Allowing some protection against graphics based attacks is only the first step towards that goal, but it’s an important step. More blog posts on related topics will follow.

Update: One thing I forgot to mention is that MAC systems need policy changes for Wayland. There are direct changes (allowing background daemons for GPU access to talk to a Wayland server running in a user context instead of an X server in a system context) and indirect changes (having the display server and window manager merged).

5 comments to Wayland

  • Pinaraf

    Apparently you have to use gdm instead of sddm to get Wayland for the login prompt.

    https://github.com/sddm/sddm/pull/1393 is not in any released sddm, but as soon as a sddm release happen, sddm will be able to use wayland directly.

    And nice project, good luck with that and the deeply rooted expectations of being able to do everything with no limitations (screen sharing, sending virtual inputs, accessing files…)

  • Glad to see that sddm will support it soon.

    I don’t expect to do everything with no limitations, but some things can use the X protocol (EG ssh -X) to get the traditional functionality and for other things no limitations goes against the aim.

    I know it’s not an easy project, if it was someone would have already done it. Also if it wasn’t really hard then when I post on relevant mailing lists asking for suggestions people would reply.

  • Eduardo Medina

    Debian uses Wayland by default since Buster (10), not Bullseye (11).

  • Thank you for this article. Much Apprecietd. It encouraged me to try Wayland on my work-horse Debian Testing KDE Plasma system.

    Whenever had tested another distribution that used Wayland by default, they all seemed to be broken. This implementation “just works”. But then, it is Debian….

    Did notice a mention in the article regards running faster. To these inexpeienced eyes, it does appear to, just a little bit.

    Biggest and most positive result seems to be with the mouse. Under X, it was super-sensitive. Under Wayland, so far as can ascertain, it is far, far improved and muchly more smooth. No more jumping over the screen.

    Romane

  • Romane: When I was younger after working on someone’s PC I often said “this will make your PC about 5% faster but you probably won’t notice the difference”, they would then thank me and tell me it was obviously faster – but it wasn’t I just made it up. I think for most things the difference between Xorg and Wayland will be small enough that you can’t be sure you didn’t imagine it.

    Mouse responsiveness is something that Wayland should do better on and which you could observe. But the systems I’ve transitioned to Wayland didn’t have any mouse issues before that and I didn’t notice an improvement.