List of display servers

From Wikipedia, the free encyclopedia

This is a list of display servers.



Plasma 5.23.4 (December 2021) on Wayland (kwin_wayland compositor) under Arch Linux
display server software license language libraries operating systems Type Remarks
protocol other Linux BSDs other
COSMIC Shell GPLv3 Rust Smithay Iced Yes No No Modern-style window compositing Designed for Pop!_OS
Enlightenment BSD license C libwayland-server
(MIT License)
EFL Yes Yes POSIX Modern-style window compositing Default for the Enlightenment desktop environment
KWin GPL C++ Qt 5 Yes Yes POSIX Modern-style window compositing Default for KDE
orbment GPL 3+ C wlc, libinput2 Yes No No (unknown) No code contribution since 2016
Lipstick LGPL 2.1 C++ Qt 5 Yes No No (unknown) Website unreachable
Mazecompositor MIT License C++ Qt 5 Yes No No 3D compositor Toy / Demo
Mir GPL C++ Qt 5, GTK Yes No No Mobile App-style Canonical's own embedded device-targeting compositor
Mutter GPL C libinput2 Yes Yes POSIX Modern-style window compositing / Mobile App-style Default for Gnome 4
Weston MIT License C libinput Yes Yes POSIX Modern-style window compositing Reference Implementation
Hyprland BSD license[1] C++ wlroots,[2] libinput2 Yes Yes POSIX tiling / dynamic Offers smooth animations, rounded corners and blur
Sway MIT License[3] C wlroots,[4] libinput2 Yes Yes POSIX tiling / dynamic i3 replication
Way Cooler MIT License [5] Rust wlc, libinput2 Yes Yes POSIX tiling / dynamic Designed to replace AwesomeWM, unmaintained since late 2019
Wayfire MIT License [6] C++ wlroots,[7] libinput2 Yes Yes POSIX 3D compositor Compiz-inspired
Hikari MIT License[8] C wlroots,[9] libinput2 Yes Yes POSIX stacking Targets primarily FreeBSD, Inspired by Calm window manager
River GPLv3 [10] Zig wlroots,[11] libinput2 Yes Yes POSIX tiling / dynamic
labwc GPLv2 [12] C wlroots, libinput2 Yes Yes[13] ??? ??? stacking Inspired by Openbox

1 A pivotal difference between Android and the other Linux kernel-based operating systems is the C standard library: Android's libbionic is different in that it does not aim to support POSIX to the same extent as the other libraries. With the help of libhybris it is possible to run Android-only software on other Linux kernel based operating systems, as long as this software does not depend on subsystems found only in the Android-forked Linux kernel, such as binder, pmem, ashmem, etc. Whether software programmed for Linux can run on Android, depends entirely on the extent to which libbionic matches the API of the glibc.

2 libinput[14] provides device detection via udev, device handling, input device event processing and abstraction.[15] libinput also provides a generic X.Org input driver.[16] libinput support was first merged in Weston 1.5. and is also used by Mutter.


See also[edit]


  1. ^ "hyprwm/Hyprland". GitHub. Retrieved 2023-03-23.
  2. ^ "hyprwm/Hyprland". GitHub. Retrieved 2023-03-23.
  3. ^ "SirCmpwn/sway". GitHub. Retrieved 2016-11-02.
  4. ^ "swaywm/sway". GitHub. Retrieved 2018-10-28.
  5. ^ "Immington-Industries/way-cooler". GitHub. Retrieved 2016-11-17.
  6. ^ "WayfireWM/wayfire". GitHub. Retrieved 2020-12-28.
  7. ^ "WayfireWM/wayfire". GitHub. Retrieved 2020-12-28.
  8. ^ "raichoo/hikari". darcs hub. Retrieved 2020-12-28.
  9. ^ "raichoo/hikari". darcs hub. Retrieved 2020-12-28.
  10. ^ "riverwm/river". GitHub. Retrieved 2022-01-07.
  11. ^ "riverwm/river". GitHub. Retrieved 2022-01-07.
  12. ^ "Labwc". GitHub. 23 September 2022.
  13. ^ "Labwc « x11-wm - ports - FreeBSD ports tree".
  14. ^ "Peter Hutterer - Consolidating the input stacks with libinput". 2014-10-08.
  15. ^ "libinput". Retrieved 2014-05-21.
  16. ^ "xf86-input-libinput".