This is a list of display servers.
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 [1] | LGPL 2.1 | C++ | Qt 5 | Yes | No | No | Mobile UI manager | Based on QML markup | |
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 [2] | C++ | aquamarine, [3] libinput2 | Yes | Yes | POSIX | Tiling / dynamic | Offers smooth animations, rounded corners and blur | |
Sway | MIT License [4] | C | wlroots, [5] libinput2 | Yes | Yes | POSIX | Tiling / dynamic | i3 replication | |
Way Cooler | MIT License [6] | Rust | wlc, libinput2 | Yes | Yes | POSIX | Tiling / dynamic | Designed to replace AwesomeWM, unmaintained since late 2019 | |
Wayfire | MIT License [7] | C++ | wlroots, [8] libinput2 | Yes | Yes | POSIX | 3D compositor | Compiz-inspired | |
Hikari | MIT License [9] | C | wlroots, [10] libinput2 | Yes | Yes | POSIX | Stacking | Targets primarily FreeBSD, Inspired by Calm window manager | |
River | GPLv3 [11] | Zig | wlroots, [12] libinput2 | Yes | Yes | POSIX | Tiling / dynamic | ||
labwc | GPLv2 [13] | C | wlroots, libinput2 | Yes | Yes [14] | ? | 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 [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.
A Linux distribution is an operating system made from a software collection that includes the Linux kernel and often a package management system. They are often obtained from the website of each distribution, which are available for a wide variety of systems ranging from embedded devices and personal computers to servers and powerful supercomputers.
Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components. Software developers can use it to write high-performance computer games and other multimedia applications that can run on many operating systems such as Android, iOS, Linux, macOS, and Windows.
The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.
The Linux framebuffer (fbdev) is a linux subsystem used to show graphics on a computer monitor, typically on the system console.
In computing, a windowing system is a software suite that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.
XScreenSaver is a free and open-source collection of 240+ screensavers for Unix, macOS, iOS and Android operating systems. It was created by Jamie Zawinski in 1992 and is still maintained by him, with new releases coming out several times a year.
freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.
DirectFB, now continued as DirectFB2, is a software library with a small memory footprint that provides graphics acceleration, input device handling and abstraction layer, and integrated windowing system with support for translucent windows and multiple display layers on top of the Linux framebuffer without requiring any kernel modifications. DirectFB is free and open-source software subject to the terms of the GNU Lesser General Public License (LGPL).
X.Org Server is the free and open-source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation.
In software engineering, a compatibility layer is an interface that allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system calls for the host system. With some libraries for the foreign system, this will often be sufficient to run foreign binaries on the host system. A hardware compatibility layer consists of tools that allow hardware emulation.
chroot
is an operation on Unix and Unix-like operating systems that changes the apparent root directory for the current running process and its children. A program that is run in such a modified environment cannot name files outside the designated directory tree. The term "chroot" may refer to the chroot(2) system call or the chroot(8) wrapper program. The modified environment is called a chroot jail.
Keith Packard is a software developer, best known for his work on the X Window System.
x11vnc is a Virtual Network Computing (VNC) server program. It allows remote access from a remote client to a computer hosting an X Window session and the x11vnc software, continuously polling the X server's frame buffer for changes. This allows the user to control their X11 desktop from a remote computer either on the user's own network, or from over the Internet as if the user were sitting in front of it. x11vnc can also poll non-X11 frame buffer devices, such as webcams or TV tuner cards, iPAQ, Neuros OSD, the Linux console, and the Mac OS X graphics display. x11vnc is part of the LibVNCServer project and is free software available under the GNU General Public License. x11vnc was written by Karl Runge.
In computing, a tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more common approach of coordinate-based stacking of overlapping objects (windows) that tries to fully emulate the desktop metaphor.
A multiseat, multi-station or multiterminal system is a single computer which supports multiple independent local users at the same time.
Linux is a generic name for a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries, many of which are provided by the GNU Project.
Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a Wayland compositor, because it additionally performs the task of a compositing window manager.
Kmscon is a virtual console that runs in userspace which David Hermann created to replace the Linux console, a terminal built into the Linux kernel. Kmscon uses the KMS driver for its output, it is multiseat-capable, and supports internationalized keyboard input and UTF-8 terminal output. The input support is implemented using X keyboard extension (XKB). Development of Kmscon stopped in March 2015. There was a successor project called systemd-consoled, but this project was also later dropped in July 2015.
Mir is a computer display server and, recently, a Wayland compositor for the Linux operating system that is under development by Canonical Ltd. It was planned to replace the currently used X Window System for Ubuntu; however, the plan changed and Mutter was adopted as part of GNOME Shell.
Windows Subsystem for Linux (WSL) is a feature of Microsoft Windows that allows developers to run a Linux environment without the need for a separate virtual machine or dual booting. There are two versions of WSL: WSL 1 and WSL 2. WSL is not available to all Windows 10 users by default. It can be installed either by joining the Windows Insider program or manually via Microsoft Store or Winget.