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 systemsTypeRemarks
ProtocolOther Linux BSDs Other
COSMIC GPLv3 Rust Smithay Iced YesYesNoNoModern-style window compositingDesigned for Pop!_OS
Enlightenment BSD license C libwayland-server
(MIT License)
EFL YesYesYes POSIX Modern-style window compositingDefault for the Enlightenment desktop environment
Hikari MIT License [1] C wlroots, [2] libinput2Until 2022YesYes POSIX StackingTargets primarily FreeBSD, Inspired by Calm window manager
Hyprland BSD license [3] C++ aquamarine, [4] libinput2YesYesYes POSIX Tiling / dynamicOffers smooth animations, rounded corners and blur
KWin GPL C++ Qt 5 YesYesYes POSIX Modern-style window compositingDefault for KDE
labwc GPLv2 [5] C wlroots, libinput2YesYesYes [6] ?StackingInspired by Openbox, used by Raspberry Pi OS
Lipstick [7] LGPL 2.1 C++ Qt 5 YesYesNoNoMobile UI managerBased on QML markup
Mazecompositor MIT License C++ Qt 5 NoYesNoNo3D compositorToy / Demo
Mir GPL C++ Qt 5, GTK YesYesNoNoMobile app-styleCanonical's own embedded device-targeting compositor
Mutter GPL C libinput2YesYesYes POSIX Modern-style window compositing / Mobile app-styleDefault for GNOME 4
niri MIT License [8] Rust YesYes??Scrollable, tiling compositor
orbment GPL 3+ C wlc, libinput2NoYesNoNo(unknown)No code contribution since 2016
River GPLv3 [9] Zig wlroots, [10] libinput2YesYesYes POSIX Tiling / dynamic
Sway MIT License [11] C wlroots, [12] libinput2YesYesYes POSIX Tiling / dynamici3 replication
Way Cooler MIT License [13] Rust wlc, libinput2NoYesYes POSIX Tiling / dynamicDesigned to replace AwesomeWM, unmaintained since late 2019
Wayfire MIT License [14] C++ wlroots, [15] libinput2YesYesYes POSIX 3D compositorCompiz-inspired
Weston MIT License C libinputYesYesYes POSIX 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".