Wayland and compositors

linkWayland

Sez wikipedia:

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.[8] A display server using the Wayland protocol is called a Wayland compositor.

Thus, one may suppose that each OS is a Wayland compositor?


linkWayland compositors


linkApplicable terms

KMS: Kernel mode setting, exists to [tbd]

EGL: Can't understand from context

evdev: Per Wikipedia on evdev:

For Weston/Wayland, the stack would look like this:

Linux kernel → libevdev → libinput → Weston → Wayland client

Since version 1.16 the xorg-xserver obtained support for libinput:

Linux kernel → libevdev → libinput → xf86-input-libinput → X server → X client

Weston: A reference implementation of Wayland that emphasizes correctness 


There are three types of compositors:

  • system

  • session

  • embedding

Looks like we're probably dealing with a system compositor. Given that embedded is for tiny systems, and session compositors end upon logout.


Wikipedia:

Libinput handles input devices for multiple Wayland compositors and also provides a generic X.Org Server input driver. It aims to provide one implementation for multiple Wayland compositors with a common way to handle input events while minimizing the amount of custom input code compositors need to include.

And

As GNOME/GTK+ and KDE Frameworks 5[64] have mainlined the required changes, Fedora 22 will replace X.Org's evdev and Synaptics drivers with libinput.[65]

The Weston code for handling input devices (keyboards, pointers, touch screens, etc.) was split into its own separate library, called libinput, for which support was first merged in Weston 1.5.[66][67]

With version 1.16, the X.Org Server obtained support for the libinput library in form of a wrapper called xf86-input-libinput.[68][69]

Alternately, from "what is libinput"



linkBackwards compatibility

Wikipedia:

With version 1.16, the X.Org Server obtained support for the libinput library in form of a wrapper called xf86-input-libinput.[68][69]

Doesn't need to be supported, presumably.


linkWhy Wayland?


linkSupport

  • Per omgubuntu, Ubuntu defaulted to Wayland in 17.10, but reverted to X.org for 18.04 "owing to it being a long-term release." Wayland is still installed by default in 18.04, and can be selected from the login screen.