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 Operating systemsTypeRemarks
ProtocolOther Linux BSDs Other
COSMIC Shell GPLv3 Rust Smithay Iced YesNoNoModern-style window compositingDesigned for Pop!_OS
Enlightenment BSD license C libwayland-server
(MIT License)
EFL YesYes POSIX Modern-style window compositingDefault for the Enlightenment desktop environment
Hikari MIT License [1] C wlroots, [2] libinput2YesYes POSIX StackingTargets primarily FreeBSD, Inspired by Calm window manager
Hyprland BSD license [3] C++ aquamarine, [4] libinput2YesYes POSIX Tiling / dynamicOffers smooth animations, rounded corners and blur
KWin GPL C++ Qt 5 YesYes POSIX Modern-style window compositingDefault for KDE
labwc GPLv2 [5] C wlroots, libinput2YesYes [6]  ?StackingInpired by Openbox, used by Raspberry Pi OS
Lipstick [7] LGPL 2.1 C++ Qt 5 YesNoNoMobile UI managerBased on QML markup
Mazecompositor MIT License C++ Qt 5 YesNoNo3D compositorToy / Demo
Mir GPL C++ Qt 5, GTK YesNoNoMobile app-styleCanonical's own embedded device-targeting compositor
Mutter GPL C libinput2YesYes POSIX Modern-style window compositing / Mobile app-styleDefault for GNOME 4
orbment GPL 3+ C wlc, libinput2YesNoNo(unknown)No code contribution since 2016
River GPLv3 [8] Zig wlroots, [9] libinput2YesYes POSIX Tiling / dynamic
Sway MIT License [10] C wlroots, [11] libinput2YesYes POSIX Tiling / dynamici3 replication
Way Cooler MIT License [12] Rust wlc, libinput2YesYes POSIX Tiling / dynamicDesigned to replace AwesomeWM, unmaintained since late 2019
Wayfire MIT License [13] C++ wlroots, [14] libinput2YesYes POSIX 3D compositorCompiz-inspired
Weston MIT License C libinputYesYes 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 [15] provides device detection via udev, device handling, input device event processing and abstraction. [16] libinput also provides a generic X.Org input driver. [17] 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. "riverwm/river". GitHub. Retrieved 2022-01-07.
  9. "riverwm/river". GitHub. Retrieved 2022-01-07.
  10. "SirCmpwn/sway". GitHub. Retrieved 2016-11-02.
  11. "swaywm/sway". GitHub. Retrieved 2018-10-28.
  12. "Immington-Industries/way-cooler". GitHub. Retrieved 2016-11-17.
  13. "WayfireWM/wayfire". GitHub. Retrieved 2020-12-28.
  14. "WayfireWM/wayfire". GitHub. Retrieved 2020-12-28.
  15. "Peter Hutterer - Consolidating the input stacks with libinput". 2014-10-08.
  16. "libinput". Freedesktop.org. Retrieved 2014-05-21.
  17. "xf86-input-libinput".