List of display servers

Last updated

This is a list of display servers based on X11, Wayland, Linux framebuffer and other systems.

Contents

X11

Wayland

Wayland
Display server Software license Language Libraries ActiveOperating systemsShell typeTypeRemarks
ProtocolOther Linux BSDs Other
COSMIC GPLv3 Rust Smithay Iced YesYesNoNoSeparateFloating and tiling desktop compositorDesigned for Pop!_OS
Enlightenment BSD license C libwayland-server
(MIT License)
EFL YesYesYes POSIX Built-inFloating desktop compositorDefault for the Enlightenment desktop environment
Hikari MIT License [1] C wlroots, [2] libinput2Until 2022YesYes POSIX Separate (wlr-protocols)Floating desktop compositorTargets primarily FreeBSD, Inspired by Calm window manager
Hyprland BSD license [3] C++ aquamarine, [4] libinput2YesYesYes POSIX Separate (wlr-protocols)Tiling / dynamic, floating mode also supportedOffers smooth animations, rounded corners and blur; while no longer based on wlroots, still supports its protocols
KWin GPL C++ Qt 5 YesYesYes POSIX Built-inFloating desktop compositor with plugin supportDefault for KDE
labwc GPLv2 [5] C wlroots, libinput2YesYesYes [6] ?Separate (wlr-protocols), but has a built-in menu systemMinimal floating desktop compositorInspired by Openbox, used by Raspberry Pi OS
Lipstick [7] LGPL 2.1 C++ Qt 5 YesYesNoNoBuilt-inMobile UI managerBased on QML markup, intended for Sailfish OS
Mazecompositor MIT License C++ Qt 5 NoYesNoNoNo shellCompositor presented as a 3D game-like mazeToy / Demo
Mir GPL C++ Qt 5, GTK YesYesNoNoProvided via pluginKiosk/embeddedCanonical's own embedded device-targeting compositor
Muffin GPL C libinput2YesYesYes POSIX Built-inFloating desktop compositorDefault for Cinnamon
Mutter GPL C libinput2YesYesYes POSIX Built-inFloating desktop compositorDefault for GNOME
niri MIT License [8] Rust YesYes??Separate (wlr-protocols)Scrollable, tiling compositor
orbment GPL 3+ C wlc, libinput2NoYesNoNoNo shellTiling compositorNo code contribution since 2016
River GPLv3 [9] Zig wlroots, [10] libinput2YesYesYes POSIX Separate (wlr-protocolsGeneric compositor intended to use a separate window manager
Sway MIT License [11] C wlroots, [12] libinput2YesYesYes POSIX Separate (wlr-protocols)Tiling desktop compositori3 replication
Way Cooler MIT License [13] Rust wlc, libinput2NoYesYes POSIX Separate (D-Bus)Tiling desktop compositorDesigned to replace AwesomeWM, unmaintained since late 2019
Wayfire MIT License [14] C++ wlroots, [15] libinput2YesYesYes POSIX Separate (wlr-protocols)3D compositor with extensive plugin supportCompiz-inspired
Weston MIT License C libinput, libwestonYesYesYes POSIX Built-in (via plugin)Modern-style window compositingReference Implementation

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 [16] provides device detection via udev, device handling, input device event processing and abstraction. [17] libinput also provides a generic X.Org input driver. [18] libinput support was first merged in Weston 1.5. and is also used by Mutter.

Linux framebuffer

Other

See also

References

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