Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Windowing system
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Display server communications protocols== ===X11=== {{Main|X Window System core protocol|X Window System}} [[File:X11 display server protocol.svg|thumb|350px|The [[X.Org Server]] communicates with its clients, e.g. [[Amarok (software)|Amarok]], over the X11 protocol.]] {{stack|[[File:X11.svg|right|60px|X Window System logo]]}} One example of a display server is the [[X.Org Server]], which runs on top of the kernel (usually a [[Unix]]-like kernel, such as [[Linux]] or [[BSD]]). It receives user input data (e.g. from [[evdev]] on Linux) and passes it to one of its clients. The display server also receives data from its clients; it processes the data, it does the compositing and on Linux it passes the data to one of three kernel components – [[Direct Rendering Manager|DRM]], [[Graphics Execution Manager|gem]] or [[KMS driver]]. The component writes the data into the [[framebuffer]] and content of the framebuffer is transmitted to the connected screen and displayed. X relies on [[GLX]]. One of the implementations of display server concept is [[X Window System]], in particular its actually used version – [[X.Org Server]] and [[Xlib]] and [[XCB]] client libraries. The X.Org Server is a display server, but in its current implementation it relies on a second program, the [[compositing window manager]], to do the compositing. Examples are [[Mutter (window manager)|Mutter]] or [[KWin]]. Notable examples of display servers implementing the X11 display server protocol are [[X.Org Server]], [[XFree86]], [[XQuartz]] and [[Cygwin/X]], while client libraries implementing the X11 display server protocol are [[Xlib]] and [[XCB]]. ===Wayland=== {{Main|Wayland (protocol)}} [[File:Wayland display server protocol.svg|thumb|300px|The Wayland display server protocol]] {{stack|[[File:Wayland Logo.svg|right|60px|Wayland logo]]}} Display servers that implement the Wayland display server protocol are called [[Wayland compositor]]s. Like any display server, a Wayland compositor is responsible for handling input and output for its clients and, in contrast to X11, the [[compositing]] as well. Examples are [[Weston (software)|Weston]], [[Mutter (software)|Mutter]], [[KWin]] or [[Enlightenment (software)|Enlightenment]]. Wayland compositors communicate with Wayland clients over the [[Wayland (protocol)|Wayland display server protocol]]. This protocol defines that clients can directly write data into the framebuffer using the [[EGL (OpenGL)|EGL]] [[rendering API]]. The display server still gets to decide which window is on top and thus visible to the user and also still is responsible for passing data regarding input devices from [[evdev]] to its clients. Wayland is used to a certain degree in some Linux desktop distributions, such as [[Fedora (operating system)|Fedora]]. It is also well suited for mobile computing and has been adopted, for example, by the smartphone- and tablet-focused projects [[Tizen]], [[Sailfish OS]] and [[AsteroidOS]]. An implementation of Wayland is available under the [[MIT License]], the [[libwayland-client]] and libwayland-server libraries. There is an ongoing effort to add Wayland support to [[ChromeOS]].<ref>{{cite web | url = https://chromium.googlesource.com/chromium/src/+/master/docs/ozone_overview.md | title = Ozone Overview | access-date = 2017-08-20}}</ref> ===Mir=== {{Main|Mir (software)}} The [[Mir (software)|Mir display server]] comes with its own Mir display server protocol which is different from those used by X11 and Wayland. Mir additionally supports the X11 protocol. It was developed by [[Canonical Ltd.|Canonical]] and was intended to be the display server of choice for [[Ubuntu (operating system)|Ubuntu]]. As of 2017, it has been replaced with the Wayland display server for desktop editions of Ubuntu. There are implementations of the Mir display server, the libmir-server and the libmir-client libraries available under the [[GPLv3]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)