Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Windowing system
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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]].
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Windowing system
(section)
Add topic