a complete Wayland compositor KWin has nearly complete Wayland support as of 2021 Mutter maintains a separate branch for the integration of Wayland for GNOME 3.9 (in September 2013) Clayland – a simple example Wayland compositor using Clutter Sway – a tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11. Sway uses wlroots – a modular Wayland implementation that functions as a base for several compositors. Weston Weston is the reference implementation of a Wayland compositor also developed by the Wayland project. It is written in C and published under the MIT License. Weston has official support for only the Linux operating system due to Weston's dependence on certain features of the Linux kernel, such as kernel mode-setting, Graphics Execution Manager (GEM), and udev, which have not been implemented in other Unix-like operating systems. When running on Linux, handling of the input hardware relies on evdev, while the handling of buffers relies on Generic Buffer Management (GBM). However, in 2013 a prototype port of Weston to FreeBSD was announced. Weston supports High-bandwidth Digital Content Protection (HDCP). Weston relies on GEM to share application buffers between the compositor and applications. It contains a plug-in system of "shells" for common desktop features like docks and panels. Clients are responsible for the drawing of their window borders and their decorations. For rendering, Weston can use OpenGL ES or the pixman library to do software rendering. The full OpenGL implementation is not used, because on most current systems, installing the full OpenGL libraries would also install GLX and other X Window System support libraries as dependencies. A remote access interface for Weston was proposed in October 2013 by a RealVNC employee. Maynard Maynard is a graphical shell and has been written as a plug-in for Weston, just as the GNOME Shell has been written as a plug-in to Mutter. The Raspberry Pi Foundation in collaboration with Collabora released Maynard and work on improving performance and memory consumption. libinput 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. 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