X Window System
X Window System
In its standard distribution it is a complete, albeit simple, display and interface solution which delivers a
standard toolkit and protocol stack for building graphical user interfaces on most Unix-like operating
systems and OpenVMS, and has been ported to many other contemporary general purpose operating
systems.
X provides the basic framework, or primitives, for building such GUI environments: drawing and moving
windows on the display and interacting with a mouse, keyboard or touchscreen. X does not mandate the
user interface; individual client programs handle this. Programs may use X's graphical abilities with no user
interface. As such, the visual styling of X-based environments varies greatly; different programs may
present radically different interfaces.
Unlike most earlier display protocols, X was specifically designed to be used over network connections
rather than on an integral or attached display device. X features network transparency, which means an X
program running on a computer somewhere on a network (such as the Internet) can display its user
interface on an X server running on some other computer on the network. The X server is typically the
provider of graphics resources and keyboard/mouse events to X clients, meaning that the X server is
usually running on the computer in front of a human user, while the X client applications run anywhere on
the network and communicate with the user's computer to request the rendering of graphics content and
receive events from input devices including keyboards and mice.
The fact that the term "server" is applied to the software in front of the user is often surprising to users
accustomed to their programs being clients to services on remote computers. Here, rather than a remote
database being the resource for a local app, the user's graphic display and input devices become resources
made available by the local X server to both local and remotely hosted X client programs who need to
share the user's graphics and input devices to communicate with the user.
X's network protocol is based on X command primitives. This approach allows both 2D and (through
extensions like GLX) 3D operations by an X client application which might be running on a different
computer to still be fully accelerated on the X server's display. For example, in classic OpenGL (before
version 3.0), display lists containing large numbers of objects could be constructed and stored entirely in the
X server by a remote X client program, and each then rendered by sending a single glCallList(which)
across the network.
X provides no native support for audio; several projects exist to fill this niche, some also providing
transparent network support.
Software architecture
X uses a client–server model: an X server communicates with
various client programs. The server accepts requests for graphical
output (windows) and sends back user input (from keyboard,
mouse, or touchscreen). The server may function as:
To run an X client application on a remote machine, the user may do the following:
The remote X client application will then make a connection to the user's local X server, providing display
and input to the user.
Alternatively, the local machine may run a small program that connects to the remote machine and starts the
client application.
User interfaces
A window manager controls the placement and appearance of application windows. This may result in
desktop interfaces reminiscent of those of Microsoft Windows or of the Apple Macintosh (examples include
GNOME 2, KDE, Xfce) or have radically different controls (such as a tiling window manager, like wmii or
Ratpoison). Some interfaces such as Sugar or Chrome OS eschew the desktop metaphor altogether,
simplifying their interfaces for specialized applications. Window managers range in sophistication and
complexity from the bare-bones (e.g., twm, the basic window manager supplied with X, or evilwm, an
extremely light window-manager) to the more comprehensive desktop environments such as Enlightenment
and even to application-specific window-managers for vertical markets such as point-of-sale.
Many users use X with a desktop environment, which, aside from the window manager, includes various
applications using a consistent user-interface. Popular desktop environments include GNOME, KDE
Plasma and Xfce. The UNIX 98 standard environment is the Common Desktop Environment (CDE). The
freedesktop.org initiative addresses interoperability between desktops and the components needed for a
competitive X desktop.
Implementations
The X.Org implementation is the canonical implementation of X. Owing to liberal licensing, a number of
variations, both free and open source and proprietary, have appeared. Commercial Unix vendors have
tended to take the reference implementation and adapt it for their hardware, usually customizing it and
adding proprietary extensions.
Up until 2004, XFree86 provided the most common X variant on free Unix-like systems. XFree86 started
as a port of X to 386-compatible PCs and, by the end of the 1990s, had become the greatest source of
technical innovation in X and the de facto standard of X development. Since 2004, however, the X.Org
Server, a fork of XFree86, has become predominant.
While it is common to associate X with Unix, X servers also exist natively within other graphical
environments. VMS Software Inc.'s OpenVMS operating system includes a version of X with Common
Desktop Environment (CDE), known as DECwindows, as its standard desktop environment. Apple
originally ported X to macOS in the form of X11.app, but that has been deprecated in favor of the XQuartz
implementation. Third-party servers under Apple's older operating systems in the 1990s, System 7, and
Mac OS 8 and 9, included Apple's MacX and White Pine Software's eXodus.
Microsoft Windows is not shipped with support for X, but many third-party implementations exist, as free
and open source software such as Cygwin/X, and proprietary products such as Exceed, MKS X/Server,
Reflection X, X-Win32 and Xming.
There are also Java implementations of X servers. WeirdX runs on any platform supporting Swing 1.1, and
will run as an applet within most browsers. The Android X Server is an open source Java implementation
that runs on Android devices.
When an operating system with a native windowing system hosts X in addition, the X system can either
use its own normal desktop in a separate host window or it can run rootless, meaning the X desktop is
hidden and the host windowing environment manages the geometry and appearance of the hosted X
windows within the host screen.
X terminals
An X terminal is a thin client that only runs an X server. This architecture became popular for building
inexpensive terminal parks for many users to simultaneously use the same large computer server to execute
application programs as clients of each user's X terminal. This use is very much aligned with the original
intention of the MIT project.
X terminals explore the network (the local broadcast domain) using the X Display Manager Control
Protocol to generate a list of available hosts that are allowed as clients. One of the client hosts should run an
X display manager.
A limitation of X terminals and most thin clients is that they are not capable of any input or output other
than the keyboard, mouse, and display. All relevant data is assumed to exist solely on the remote server, and
the X terminal user has no methods available to save or load data from a local peripheral device.
Dedicated (hardware) X terminals have fallen out of use; a PC or modern thin client with an X server
typically provides the same functionality at the same, or lower, cost.
X also lacks native support for user-defined stored procedures on the X server, in the manner of NeWS –
there is no Turing-complete scripting facility. Various desktop environments may thus offer their own
(usually mutually incompatible) facilities.
Systems built upon X may have accessibility issues that make utilization of a computer difficult for disabled
users, including right click, double click, middle click, mouse-over, and focus stealing. Some X11 clients
deal with accessibility issues better than others, so persons with accessibility problems are not locked out of
using X11. However, there is no accessibility standard or accessibility guidelines for X11. Within the X11
standards process there is no working group on accessibility, however, accessibility needs are being
addressed by software projects to provide these features on top of X.
The Orca project adds accessibility support to the X Window System, including implementing an API (AT-
SPI[6]). This is coupled with GNOME's ATK to allow for accessibility features to be implemented in X
programs using the GNOME/GTK APIs.[7] KDE provides a different set of accessibility software,
including a text-to-speech converter and a screen magnifier.[8] The other major desktops (LXDE, Xfce and
Enlightenment) attempt to be compatible with ATK.
Network
Network traffic between an X server and remote X clients is not encrypted by default. An attacker with a
packet sniffer can intercept it, making it possible to view anything displayed to or sent from the user's
screen. The most common way to encrypt X traffic is to establish a Secure Shell (SSH) tunnel for
communication.
Like all thin clients, when using X across a network, bandwidth limitations can impede the use of bitmap-
intensive applications that require rapidly updating large portions of the screen with low latency, such as 3D
animation or photo editing. Even a relatively small uncompressed 640x480x24 bit 30 fps video stream
(~211 Mbit/s) can easily outstrip the bandwidth of a 100 Mbit/s network for a single client. In contrast,
modern versions of X generally have extensions such as MESA allowing local display of a local program's
graphics to be optimized to bypass the network model and directly control the video card, for use of full-
screen video, rendered 3D applications, and other such applications.
Client–server separation
X's design requires the clients and server to operate separately, and device independence and the separation
of client and server incur overhead. Most of the overhead comes from network round-trip delay time
between client and server (latency) rather than from the protocol itself: the best solutions to performance
issues depend on efficient application design.[10] A common criticism of X is that its network features result
in excessive complexity and decreased performance if only used locally.
Modern X implementations use Unix domain sockets for efficient connections on the same host.
Additionally shared memory (via the MIT-SHM extension) can be employed for faster client–server
communication.[11] However, the programmer must still explicitly activate and use the shared memory
extension. It is also necessary to provide fallback paths in order to stay compatible with older
implementations, and in order to communicate with non-local X servers.
Competitors
Some people have attempted writing alternatives to and replacements for X. Historical alternatives include
Sun's NeWS and NeXT's Display PostScript, both PostScript-based systems supporting user-definable
display-side procedures, which X lacked. Current alternatives include:
macOS (and its mobile counterpart, iOS) implements its windowing system, which is known
as Quartz. When Apple Inc. bought NeXT, and used NeXTSTEP to construct Mac OS X, it
replaced Display PostScript with Quartz. Mike Paquette, one of the authors of Quartz,
explained that if Apple had added support for all the features it wanted to include into X11, it
would not bear much resemblance to X11 nor be compatible with other servers anyway.[12]
Android, which runs on the Linux kernel, uses its own system for drawing the user interface
known as SurfaceFlinger. 3D rendering is handled by EGL.
Wayland is being developed by several X.Org developers as a prospective replacement for
X. It works directly with the GPU hardware, via DRI. Wayland can run an X server as a
Wayland compositor, which can be rootless.[13] A proprietary port of the Wayland backend to
the Raspberry Pi was completed in 2013.[14] The project reached version 1.0 in 2012. Like
Android, Wayland is EGL-based.
Mir was a project from Canonical Ltd. with goals similar to Wayland.[15] Mir was intended to
work with mobile devices using ARM chipsets (a stated goal was compatibility with Android
device-drivers) as well as x86 desktops. Like Android, Mir/UnityNext were EGL-based.
Backwards compatibility with X client-applications was accomplished via Xmir. The project
has since moved to being a Wayland compositor instead of being an alternative display
server.[16]
Other alternatives attempt to avoid the overhead of X by working directly with the hardware;
such projects include DirectFB.[17] (The Direct Rendering Infrastructure (DRI), which aims to
provide a reliable kernel-level interface to the framebuffer, might make these efforts
redundant.)
Additional ways to achieve a functional form of the "network transparency" feature of X, via network
transmissibility of graphical services, include:
Virtual Network Computing (VNC), a very low-level system which sends compressed
bitmaps across the network; the Unix implementation includes an X server
Remote Desktop Protocol (RDP), which is similar to VNC in purpose, but originated on
Microsoft Windows before being ported to Unix-like systems; cf NX, GotoMyPc, etc.
Citrix XenApp, an X-like protocol and application stack for Microsoft Windows
Tarantella, which provides a Java-based remote-gui-client for use in web browsers
History
Predecessors
Several bitmap display systems preceded X. From Xerox came the Alto (1973) and the Star (1981). From
Apollo Computer came Display Manager (1981). From Apple came the Lisa (1983) and the Macintosh
(1984). The Unix world had the Andrew Project (1982) and Rob Pike's Blit terminal (1982).
Carnegie Mellon University produced a remote-access application called Alto Terminal, that displayed
overlapping windows on the Xerox Alto, and made remote hosts (typically DEC VAX systems running
Unix) responsible for handling window-exposure events and refreshing window contents as necessary.
X derives its name as a successor to a pre-1983 window system called W (the letter preceding X in the
English alphabet). W ran under the V operating system. W used a network protocol supporting terminal
and graphics windows, the server maintaining display lists.
To: window@athena
The email in which X was introduced to the Project Athena community at MIT in June 1984[18]
The project solved this by creating a protocol that could both run
local applications and call on remote resources. In mid-1983 an initial port of W to Unix ran at one-fifth of
its speed under V; in May 1984, Scheifler replaced the synchronous protocol of W with an asynchronous
protocol and the display lists with immediate mode graphics to make X version 1. X became the first
windowing system environment to offer true hardware independence and vendor independence.
Scheifler, Gettys and Ron Newman set to work and X progressed rapidly. They released Version 6 in
January 1985. DEC, then preparing to release its first Ultrix workstation, judged X the only windowing
system likely to become available in time. DEC engineers ported X6 to DEC's QVSS display on
MicroVAX.
In the second quarter of 1985, X acquired color support to function in the DEC VAXstation-II/GPX,
forming what became version 9.
A group at Brown University ported version 9 to the IBM RT PC, but problems with reading unaligned
data on the RT forced an incompatible protocol change, leading to version 10 in late 1985. By 1986,
outside organizations had begun asking for X. X10R2 was released in January 1986, then X10R3 in
February 1986. Although MIT had licensed X6 to some outside groups for a fee, it decided at this time to
license X10R3 and future versions under what became known as the MIT License, intending to popularize
X further and, in return, hoping that many more applications would become available. X10R3 became the
first version to achieve wide deployment, with both DEC and Hewlett-Packard releasing products based on
it. Other groups ported X10 to Apollo and to Sun workstations and even to the IBM PC/AT.
Demonstrations of the first commercial application for X (a mechanical computer-aided engineering system
from Cognition Inc. that ran on VAXes and remotely displayed on PCs running an X server ported by Jim
Fulton and Jan Hardenbergh) took place at the Autofact trade show at that time. The last version of X10,
X10R4, appeared in December 1986. Attempts were made to enable X servers as real-time collaboration
devices, much as Virtual Network Computing (VNC) would later allow a desktop to be shared. One such
early effort was Philip J. Gust's SharedX tool.
Although X10 offered interesting and powerful functionality, it had become obvious that the X protocol
could use a more hardware-neutral redesign before it became too widely deployed, but MIT alone would
not have the resources available for such a complete redesign. As it happened, DEC's Western Software
Laboratory found itself between projects with an experienced team. Smokey Wallace of DEC WSL and
Jim Gettys proposed that DEC WSL build X11 and make it freely available under the same terms as X9
and X10. This process started in May 1986, with the protocol finalized in August. Alpha testing of the
software started in February 1987, beta-testing in May; the release of X11 finally occurred on 15 September
1987.
The X11 protocol design, led by Scheifler, was extensively discussed on open mailing lists on the nascent
Internet that were bridged to USENET newsgroups. Gettys moved to California to help lead the X11
development work at WSL from DEC's Systems Research Center, where Phil Karlton and Susan
Angebrandt led the X11 sample server design and implementation. X therefore represents one of the first
very large-scale distributed free and open source software projects.
By the late 1980s X was, Simson Garfinkel wrote in 1989, "Athena's most important single achievement to
date". DEC reportedly believed that its development alone had made the company's donation to MIT
worthwhile. Gettys joined the design team for the VAXstation 2000 to ensure that X—which DEC called
DECwindows—would run on it, and the company assigned 1,200 employees to port X to both Ultrix and
VMS.[19][20] In 1987, with the success of X11 becoming apparent, MIT wished to relinquish the
stewardship of X, but at a June 1987 meeting with nine vendors, the vendors told MIT that they believed in
the need for a neutral party to keep X from fragmenting in the marketplace. In January 1988, the MIT X
Consortium formed as a non-profit vendor group, with Scheifler as director, to direct the future
development of X in a neutral atmosphere inclusive of commercial and educational interests.
Jim Fulton joined in January 1988 and Keith Packard in March 1988 as senior developers, with Jim
focusing on Xlib, fonts, window managers, and utilities; and Keith re-implementing the server. Donna
Converse, Chris D. Peterson, and Stephen Gildea joined later that year, focusing on toolkits and widget
sets, working closely with Ralph Swick of MIT Project Athena. The MIT X Consortium produced several
significant revisions to X11, the first (Release 2 – X11R2) in February 1988. Jay Hersh joined the staff in
January 1991 to work on the PEX and X113D functionality. He was followed soon after by Ralph Mor
(who also worked on PEX) and Dave Sternlicht. In 1993, as the MIT X Consortium prepared to depart
from MIT, the staff were joined by R. Gary Cutbill, Kaleb Keithley, and David Wiggins.[21]
The Open Group released X11R6.4 in early 1998. Controversially, X11R6.4 departed from the traditional
liberal licensing terms, as the Open Group sought to assure funding for the development of X, and
specifically cited XFree86 as not significantly contributing to X.[24] The new terms would have made X no
longer free software: zero-cost for noncommercial use, but a fee otherwise. After XFree86 seemed poised
to fork,[25] the Open Group relicensed X11R6.4 under the traditional license in September 1998.[26] The
Open Group's last release came as X11R6.4 patch 3.
In May 1999, The Open Group formed X.Org. X.Org supervised the release of versions X11R6.5.1
onward. X development at this time had become moribund;[28] most technical innovation since the X
Consortium had dissolved had taken place in the XFree86 project.[29] In 1999, the XFree86 team joined
X.Org as an honorary (non-paying) member,[30] encouraged by various hardware companies[31] interested
in using XFree86 with Linux and in its status as the most popular version of X.
By 2003, while the popularity of Linux (and hence the installed base of X) surged, X.Org remained
inactive,[32] and active development took place largely within XFree86. However, considerable dissent
developed within XFree86. The XFree86 project suffered from a perception of a far too cathedral-like
development model; developers could not get CVS commit access[33][34] and vendors had to maintain
extensive patch sets.[35] In March 2003, the XFree86 organization expelled Keith Packard, who had joined
XFree86 after the end of the original MIT X Consortium, with considerable ill feeling.[36][37][38]
X.Org and XFree86 began discussing a reorganisation suited to properly nurturing the development of
X.[39][40][41] Jim Gettys had been pushing strongly for an open development model since at least 2000.[42]
Gettys, Packard and several others began discussing in detail the requirements for the effective governance
of X with open development.
Finally, in an echo of the X11R6.4 licensing dispute, XFree86 released version 4.4 in February 2004 under
a more restrictive license which many projects relying on X found unacceptable.[43] The added clause to
the license was based on the original BSD license's advertising clause, which was viewed by the Free
Software Foundation and Debian as incompatible with the GNU General Public License.[44] Other groups
saw it as against the spirit of the original X. Theo de Raadt of OpenBSD, for instance, threatened to fork
XFree86 citing license concerns.[45] The license issue, combined with the difficulties in getting changes in,
left many feeling the time was ripe for a fork.[46]
In early 2004, various people from X.Org and freedesktop.org formed the X.Org Foundation, and the
Open Group gave it control of the x.org domain name. This marked a radical change in the governance
of X. Whereas the stewards of X since 1988 (including the prior X.Org) had been vendor organizations,
the Foundation was led by software developers and used community development based on the bazaar
model, which relies on outside involvement. Membership was opened to individuals, with corporate
membership being in the form of sponsorship. Several major corporations such as Hewlett-Packard
currently support the X.Org Foundation.
The Foundation takes an oversight role over X development: technical decisions are made on their merits
by achieving rough consensus among community members. Technical decisions are not made by the board
of directors; in this sense, it is strongly modelled on the technically non-interventionist GNOME
Foundation. The Foundation employs no developers.
The Foundation released X11R6.7, the X.Org Server,
in April 2004, based on XFree86 4.4RC2 with X11R6.6 changes merged. Gettys and Packard had taken
the last version of XFree86 under the old license and, by making a point of an open development model
and retaining GPL compatibility, brought many of the old XFree86 developers on board.[44]
While X11 had received extensions such as OpenGL support during the 1990s, its architecture had
remained fundamentally unchanged during the decade. In the early part of the 2000s, however, it was
overhauled to resolve a number of problems that had surfaced over the years, including a "flawed" font
architecture, a 2-d graphics system "which had always been intended to be augmented and/or replaced",
and latency issues.[47]
X11R6.8 came out in September 2004. It added significant new features, including
preliminary support for translucent windows and other sophisticated visual effects, screen magnifiers and
thumbnailers, and facilities to integrate with 3D immersive display systems such as Sun's Project Looking
Glass and the Croquet project. External applications called compositing window managers provide policy
for the visual appearance.
On 21 December 2005,[48] X.Org released X11R6.9, the monolithic source tree for legacy users, and
X11R7.0, the same source code separated into independent modules, each maintainable in separate
projects.[49] The Foundation released X11R7.1 on 22 May 2006, about four months after 7.0, with
considerable feature improvements.[50]
XFree86 development continued for a few more years, 4.8.0 being released on 15 December 2008.[51]
Nomenclature
The proper names for the system are listed in the manual page as X; X Window System; X Version 11; X
Window System, Version 11; or X11.[52]
The term "X-Windows" (in the manner of the subsequently released "Microsoft Windows") is not officially
endorsed – with X Consortium release manager Matt Landau stating in 1993, "There is no such thing as 'X
Windows' or 'X Window', despite the repeated misuse of the forms by the trade rags"[53] – though it has
been in common informal use since early in the history of X[54] and has been used deliberately for
provocative effect, for example in the Unix-Haters Handbook.[4]
Key terms
The X Window System has nuanced usage of a number of terms when compared to common usage,
particularly "display" and "screen", a subset of which is given here for convenience:
device
A graphics device such as a computer graphics card or a computer motherboard's
integrated graphics chipset.
monitor
A physical device such as a CRT or a flat screen computer display.
screen
An area into which graphics may be rendered, either through software alone into system
memory as with VNC, or within a graphics device, some of which can render into more
than one screen simultaneously, either viewable simultaneously or interchangeably.
Interchangeable screens are often set up to be notionally left and right from one another,
flipping from one to the next as the mouse pointer reaches the edge of the monitor.
virtual screen
Two different meanings are associated with this term:
display
A collection of screens, often involving multiple monitors, generally configured to allow the
mouse to move the pointer to any position within them. Linux-based workstations are
usually capable of having multiple displays, among which the user can switch with a
special keyboard combination such as control-alt-function-key, simultaneously flipping all
the monitors from showing the screens of one display to the screens in another.
The term "display" should not be confused with the more specialized jargon "Zaphod display". The latter is
a rare configuration allowing multiple users of a single computer to each have an independent set of
display, mouse, and keyboard, as though they were using separate computers, but at a lower per-seat cost.
Release history
Version Release date Most important changes
First use of the name "X"; fundamental changes distinguishing the product
X1 June 1984
from W.
X6 January 1985 First version licensed to a handful of outside companies.
X9 September 1985 Color. First release under MIT License.
X10 November 1985 IBM RT PC, AT (running DOS), and others.
X10R2 January 1986
First freely redistributable X release. Earlier releases required a BSD
X10R3 February 1986 source license to cover code changes to init/getty to support login. uwm
made standard window manager.
X10R4 December 1986 Last version of X10.
X11 15 September 1987 First release of the current protocol.
X11R6.9 XServer 1.0.1, EXA, major source code refactoring.[59] From the same
21 December 2005 source-code base, the modular autotooled version became 7.0 and the
X11R7.0
monolithic imake version was frozen at 6.9.
XServer 1.1.0, EXA enhancements, KDrive integrated, AIGLX, OS and
X11R7.1 22 May 2006
platform support enhancements.[60]
XServer 1.2.0, Removal of LBX and the built-in keyboard driver, X-ACE,
X11R7.2 15 February 2007
XCB, autoconfig improvements, cleanups.[61]
X11R7.3 6 September 2007 XServer 1.4.0, Input hotplug, output hotplug (RandR 1.2), DTrace probes,
PCI domain support.[62]
XServer 1.5.1, XACE, PCI-rework, EXA speed-ups, _X_EXPORT, GLX
X11R7.4 23 September 2008
1.4, faster startup and shutdown.[63]
XServer 1.7.1, Xi 2, XGE, E-EDID support, RandR 1.3, MPX, predictable
X11R7.5 26 October 2009[64] pointer acceleration, DRI2 memory manager, SELinux security module,
further removal of obsolete libraries and extensions.[65]
X.Org continues to develop and release the X Window System software components.
These are released individually as each component is ready, without waiting for a overall X
Window System "katamari" release schedule - see the individual X.Org releases directory for
downloads, and the xorg-announce archives or git repositories for details on included changes.
No release plan for a X11R7.8 rollup katamari release has been proposed.
See also
Bitstream Speedo Fonts
Cairo (graphics)
DESQview/X
DirectFB
General Graphics Interface
History of the graphical user interface
List of Unix commands
Microwindows (Nano-X)
rio – the windowing system for Plan 9
SVGALib
VirtualGL
X/GEM
X11 color names
Xgl
Xmark
Notes
1. http://www.x.org/wiki/Releases/7.7/.
2. https://www.x.org/releases/current/.
3. Jennifer G. Steiner; Daniel E. Geer Jr. (21 July 1988). "Network Services in the Athena
Environment". Proceedings of the Winter 1988 Usenix Conference.
CiteSeerX 10.1.1.31.8727 (https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.87
27).
4. "The X-Windows Disaster" (http://www.art.net/~hopkins/Don/unix-haters/x-windows/disaster.
html). Art.Net. Retrieved 10 November 2009.
5. Re: X is painful (https://lists.debian.org/debian-user/1996/11/msg00637.html) 15 November
1996
6. "Orca" (https://wiki.gnome.org/Projects/Orca). wiki.gnome.org. 24 November 2011. Retrieved
7 November 2012.
7. "ATK - Accessibility Toolkit" (http://developer.gnome.org/atk/unstable/).
developer.gnome.org. Retrieved 7 November 2012.
8. "KDE Accessibility" (https://www.kde.org/applications/utilities/). KDE e.V. Retrieved
6 January 2013.
9. SNAP Computing and the X Window System (http://icie.cs.byu.edu/cs656/Papers/Gettys.pd
f) Archived (https://web.archive.org/web/20100626203344/http://icie.cs.byu.edu/cs656/Paper
s/Gettys.pdf) 26 June 2010 at the Wayback Machine 2005 (section 4.6, the xmove program)
10. An LBX Postmortem (https://keithp.com/~keithp/talks/lbxpost/paper.html) 24 January 2001
11. The XFree86 documentation of the MIT-SHM extension (http://www.xfree86.org/current/mit-s
hm.html) 14 May 2009
12. Why Apple didn't use X for the window system (https://developers.slashdot.org/comments.p
l?sid=75257&cid=6734612) 19 August 2007
13. "Wayland: X11 Application Support" (https://wayland.freedesktop.org/docs/html/ch05.html).
14. Diavatis, Alex (11 June 2013). "Wayland in Raspberry ¦ Wayland in GNOME" (https://web.ar
chive.org/web/20130615180248if_/http://worldofgnome.org/wayland-in-raspberry-wayland-i
n-gnome). World Of Gnome. Archived from the original on 15 June 2013.
15. "MirSpec – Ubuntu Wiki" (https://web.archive.org/web/20130617002119/https://wiki.ubuntu.c
om/Mir/Spec?action=show&redirect=MirSpec). Wiki.ubuntu.com. Archived from the original
(https://wiki.ubuntu.com/MirSpec) on 17 June 2013. Retrieved 6 March 2013.
16. "Canonical Mir Datasheet" (https://assets.ubuntu.com/v1/bd787c8a-canonical-mir-datasheet
-2018-12-20.pdf) (PDF). 20 December 2018.
17. DRI for framebuffer consoles (http://fbdri.sourceforge.net/) 15 December 2009
18. "Debut of X" (https://www.talisman.org/x-debut.shtml). Talisman. 19 June 1984. Retrieved
7 November 2012.
19. Garfinkel, Simson L. (November–December 1988). "A Second Wind for Athena" (http://simso
n.net/clips/1989/1989.TechRev.Athena.pdf) (PDF). Technology Review. Retrieved
25 January 2016.
20. Garfinkel, Simson L. (May–June 1989). "Ripples Across the Academic Market" (http://simso
n.net/clips/1989/1989.TechRev.Athena.pdf) (PDF). Technology Review. pp. 9–13. Retrieved
25 January 2016.
21. Robert W. Scheifler and James Gettys: X Window System: Core and extension protocols: X
version 11, releases 6 and 6.1, Digital Press 1996, ISBN 1-55558-148-X
22. Financing Volunteer Free Software Projects (https://archive.today/20120524185840/http://w
ww.advogato.org/article/844.html) 10 June 2005
23. Lessons Learned about Open Source (http://www.usenix.org/publications/library/proceeding
s/usenix2000/invitedtalks/gettys_html/) 2000
24. X statement (https://lwn.net/1998/0409/xstate.html) 2 April 1998
25. "XFree86(TM): Press Release" (https://web.archive.org/web/19981206040516/http://www.xfr
ee86.org/news/pr-980407.html). 6 December 1998. Archived from the original (http://www.xfr
ee86.org/news/pr-980407.html) on 6 December 1998. Retrieved 7 February 2017.
26. Browne, Christopher. "X11R6.4 Sample Implementation Changes and Concerns" (https://we
b.archive.org/web/20080601035445/http://cbbrowne.com/info/x11r6.4.html). Christopher
Browne's Web Pages. Archived from the original (http://cbbrowne.com/info/x11r6.4.html) on
1 June 2008.
27. Gettys, Jim (2 February 2004). "Re: Announcement: Modification to the base XFree86(TM)
license" (https://web.archive.org/web/20050907093907/http://www.xfree86.org/pipermail/foru
m/2004-February/003945.html). [email protected] (Mailing list). Archived from the original
(http://www.xfree86.org/pipermail/forum/2004-February/003945.html) on 7 September 2005.
Retrieved 26 June 2021.
28. Swales, Steve (4 February 2002). "Q&A: The X Factor" (https://www.computerworld.com/arti
cle/2586955/q-a--the-x-factor.html). Computerworld (Interview). Interviewed by Mitchell,
Robert. IDG Communications. Archived (https://web.archive.org/web/20210626035538/http
s://www.computerworld.com/article/2586955/q-a--the-x-factor.html) from the original on 26
June 2021. "The stewards of X really dribbled away to almost nothing about five or six years
ago. It wasn't really keeping pace with the technology."
29. Packard, Keith (1999). "The Evolution of the X Server Architecture" (https://keithp.com/~keith
p/talks/Xarchitecture/Talk.htm). Archived (https://web.archive.org/web/20210626041817/http
s://keithp.com/~keithp/talks/Xarchitecture/Talk.htm) from the original on 26 June 2021.
30. Wexelblat, David (23 March 2003). "A Call For Open Governance Of X Development" (http
s://web.archive.org/web/20050212012732/http://xfree86.org/pipermail/forum/2003-March/00
0418.html). [email protected] (Mailing list). Archived from the original (http://xfree86.org/pip
ermail/forum/2003-March/000418.html) on 12 February 2005. Retrieved 26 June 2021.
31. "XFree86 joins X.Org as Honorary Member" (https://slashdot.org/story/99/12/01/1342251/xfr
ee86-joins-xorg-as-honorary-member). Slashdot. 1 December 1999. Archived (https://web.ar
chive.org/web/20210626234537/https://slashdot.org/story/99/12/01/1342251/xfree86-joins-x
org-as-honorary-member) from the original on 26 June 2021.
32. Harris, Mike (13 April 2003). "Another teleconference partial edited transcript" (https://web.ar
chive.org/web/20050212013335/http://xfree86.org/pipermail/forum/2003-April/003127.html).
[email protected] (Mailing list). Archived from the original (http://xfree86.org/pipermail/foru
m/2003-April/003127.html) on 12 February 2005. Retrieved 26 June 2021.
33. Nolden, Ralf (20 March 2003). "Keith Packard issue" (https://web.archive.org/web/20050212
013349/http://www.xfree86.org/pipermail/forum/2003-March/002018.html).
[email protected] (Mailing list). Archived from the original (http://www.xfree86.org/pipermai
l/forum/2003-March/002018.html) on 12 February 2005. Retrieved 26 June 2021.
34. Hunt, Harold (27 October 2003). "Cygwin/XFree86 - No longer associated with
XFree86.org" (https://www.mail-archive.com/[email protected]/msg03816.html).
[email protected] (Mailing list). Archived (https://web.archive.org/web/20210626030145/htt
ps://www.mail-archive.com/[email protected]/msg03816.html) from the original on 26 June
2021. Retrieved 26 June 2021.
35. Harris, Mike (9 January 2003). "9 Jan 2003" (https://web.archive.org/web/20090214100029/
http://www.advogato.org/person/mharris/diary.html?start=5). Archived from the original (http://
www.advogato.org/person/mharris/diary.html?start=5) on 14 February 2009.
36. Dawes, David; Cutshaw, Robin; Evans, Marc; Murphey, Rich; Tombs, Jon; Wexelblat, David
(20 March 2003). "Invitation for public discussion about the future of X" (https://web.archive.o
rg/web/20050212013104/http://www.xfree86.org/pipermail/forum/2003-March/001997.html).
[email protected] (Mailing list). Archived from the original (http://www.xfree86.org/pipermai
l/forum/2003-March/001997.html) on 12 February 2005. Retrieved 26 June 2021.
37. Packard, Keith (21 March 2003). "A Call For Open Governance Of X Development" (https://w
eb.archive.org/web/20050212012809/http://www.xfree86.org/pipermail/forum/2003-March/00
2165.html). [email protected] (Mailing list). Archived from the original (http://www.xfree86.o
rg/pipermail/forum/2003-March/002165.html) on 12 February 2005. Retrieved 26 June 2021.
38. Packard, Keith (3 April 2003). "Notes from a teleconference held 2003-3-27" (https://web.arc
hive.org/web/20050212013506/http://www.xfree86.org/pipermail/forum/2003-April/003016.ht
ml). [email protected] (Mailing list). Archived from the original (http://www.xfree86.org/piper
mail/forum/2003-April/003016.html) on 12 February 2005. Retrieved 26 June 2021.
39. Swales, Steve (24 March 2003). "A Call For Open Governance Of X Development" (https://w
eb.archive.org/web/20041222151738/http://www.xfree86.org/pipermail/forum/2003-March/00
0554.html). [email protected] (Mailing list). Archived from the original (http://www.xfree86.o
rg/pipermail/forum/2003-March/000554.html) on 22 December 2004. Retrieved 26 June
2021.
40. Wexelblat, David (23 March 2003). "A Call For Open Governance Of X Development" (http
s://web.archive.org/web/20050106075606/http://www.xfree86.org/pipermail/forum/2003-Mar
ch/002415.html). [email protected] (Mailing list). Archived from the original (http://www.xfre
e86.org/pipermail/forum/2003-March/002415.html) on 6 January 2005. Retrieved 26 June
2021.
41. Pennington, Havoc (14 April 2003). "Discussing issues" (https://web.archive.org/web/20041
227204437/http://xfree86.org/pipermail/forum/2003-April/003144.html). [email protected]
(Mailing list). Archived from the original (http://xfree86.org/pipermail/forum/2003-April/00314
4.html) on 27 December 2004. Retrieved 26 June 2021.
42. Gettys, Jim (22 June 2000). Lessons Learned about Open Source (https://www.usenix.org/le
gacy/publications/library/proceedings/usenix2000/invitedtalks/gettys_html/Talk.htm).
USENIX Annual Technical Conference. Archived (https://web.archive.org/web/20210627002
335/https://www.usenix.org/legacy/publications/library/proceedings/usenix2000/invitedtalks/
gettys_html/Talk.htm) from the original on 27 June 2021.
43. "XFree86 4.4: List of Rejecting Distributors Grows" (https://yro.slashdot.org/story/04/02/18/13
1223/xfree86-44-list-of-rejecting-distributors-grows). Slashdot. 18 February 2004. Archived
(https://web.archive.org/web/20210627002833/https://yro.slashdot.org/story/04/02/18/13122
3/xfree86-44-list-of-rejecting-distributors-grows) from the original on 27 June 2021.
44. Wheeler, David A. (16 February 2014) [6 May 2002]. "Make Your Open Source Software
GPL-Compatible. Or Else" (https://dwheeler.com/essays/gpl-compatible.html#xfree86).
Archived (https://web.archive.org/web/20210126063248/https://dwheeler.com/essays/gpl-co
mpatible.html#xfree86) from the original on 26 January 2021.
45. de Raadt, Theo (16 February 2004). "XFree86 license" (https://marc.info/?l=openbsd-misc&
m=107696705911864). openbsd-misc (Mailing list). Archived (https://web.archive.org/web/2
0190118221625/https://marc.info/?l=openbsd-misc&m=107696705911864&w=2) from the
original on 18 January 2019. Retrieved 8 December 2009.
46. Boykin, Oscar (25 February 2004). "X Marks the Spot: Looking back at X11 Developments of
Past Year" (https://www.osnews.com/story/6157/x-marks-the-spot-looking-back-at-x11-devel
opments-of-past-year/). OSNews. Archived (https://web.archive.org/web/20210627030537/ht
tps://www.osnews.com/story/6157/x-marks-the-spot-looking-back-at-x11-developments-of-p
ast-year/) from the original on 27 June 2021.
47. Gettys, James; Packard, Keith (2004). The (Re) Architecture of the X Window System (http
s://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf) (PDF). Proc. Linux
Symposium. Vol. 1.
48. X11R6.9 and X11R7.0 Officially Released (http://xorg.freedesktop.org/wiki/Other/Press/X11
R6970Released?action=show&redirect=PressReleases%2FX11R6970Released) 21
December 2005
49. Modularization Proposal (https://www.x.org/wiki/ModularizationProposal/) 31 March 2005
50. Proposed Changes for X11R7.1 (https://www.x.org/wiki/ChangesForX11R71/) 21 April 2006
51. "The Current XFree86 Release: 4.8.0" (http://www.xfree86.org/releases/rel480.html).
xfree86.org.
52. X – a portable, network-transparent window system (https://www.x.org/archive//X11R6.8.2/d
oc/X.7.html) February 2005
53. Landau, Matt (23 April 1993). "Re: Asynchronous X Windows?" (https://groups.google.com/f
orum/?fromgroups=#!topic/comp.unix.solaris/CtGaZqWiFNc). Newsgroup: comp.windows.x
(news:comp.windows.x). Usenet: [email protected] (news:1rccdq$s6s@a
rmory.centerline.com). Retrieved 6 March 2013.
54. e.g. "X Windows FAQ" (http://www.phy.ohiou.edu/computer/xwin/xfaq.html), the FAQ for
Usenet newsgroup comp.windows.x.
55. The X Window System: History and Architecture (http://www.linuxdocs.org/HOWTOs/XWind
ow-User-HOWTO-2.html) 1 September 1999
56. XFree86 and X11R6.3 (http://www.xfree86.org/3.3.6/RELNOTES1.html) December 1999
57. The Open Group Announces Internet-Ready X Window System X11R6.4 (http://www.opengr
oup.org/tech/desktop/Press_Releases/x11r6.4ga.htm) 31 March 1998
58. X.Org Foundation releases X Window System X11R6.7 (https://lwn.net/Articles/79302/) 7
April 2004
59. Changes Since R6.8 (https://www.x.org/wiki/ChangesSince68/) 21 October 2005
60. Release Notes for X11R7.1 (https://www.x.org/archive//X11R7.1/doc/RELNOTES.html) 22
May 2006
61. The X.Org Foundation released 7.2.0 (aka X11R7.2) (https://www.x.org/wiki/Releases/7.2/?a
ction=show&redirect=ChangesForX11R72) 15 February 2007
62. X server version 1.4 release plans (https://www.x.org/wiki/Server14Branch). Retrieved 25
August 2007.
63. "Foundation Releases X7.4" (https://www.x.org/wiki/Releases/7.4). X.org. Retrieved
10 November 2009.
64. "7.5 release announcement" (https://www.x.org/wiki/Other/Press/X11R75Released). X.org.
Retrieved 10 November 2009.
65. "Wiki – 7.5 release plans" (https://www.x.org/wiki/Releases/7.5). X.org. Retrieved
10 November 2009.
66. "7.6 release announcement" (https://www.x.org/wiki/Other/Press/X11R76Released). X.org.
20 December 2010. Retrieved 21 December 2010.
67. "Thinking towards 7.6 katamari, including xcb" (https://lists.x.org/archives/xorg-devel/2009-O
ctober/002995.html). Lists.x.org. Retrieved 10 November 2009.
68. "Wiki – 7.6 release plans" (https://www.x.org/wiki/Releases/7.6). X.org. Retrieved
21 December 2010.
69. "[ANNOUNCE] X11R7.7" (https://lists.x.org/archives/xorg-announce/2012-June/001977.htm
l). Lists.x.org. Retrieved 7 June 2012.
70. "Releases/7.7" (https://www.x.org/wiki/Releases/7.7). X.org. Retrieved 7 June 2012.
71. "Releases/7.8" (https://www.x.org/wiki/Releases/7.8). X.org. Retrieved 6 May 2014.
References
James Gettys, Philip L. Karlton, Scott A. orts/Compaq-DEC/CRL-90-8.pdf)" (PDF),
McGregor, "The X Window System, Software: Practice and Experience (10
Version 11 (http://www.hpl.hp.com/techrep December 1990)
Hania Gajewska, Mark S. Manasse and On the Thesis that X is
Joel McCormack, "Why X Is Not Our Ideal Big/Bloated/Obsolete and Should Be
Window System (https://citeseerx.ist.psu.e Replaced (https://linuxfinances.info/info/xbl
du/viewdoc/download;jsessionid=BF6ECA oat.html) (Christopher B. Browne)
6E7FEBD2FBC5A0C935008A0DC2?doi= Open Source Desktop Technology Road
10.1.1.8.2723&rep=rep1&type=pdf)" Map (https://web.archive.org/web/2008041
(PDF), Software – Practice & Experience 3140042/http://people.freedesktop.org/~jg/r
vol 20, issue S2 (October 1990) oadmap.html) (Jim Gettys, 9 December
Linda Mui and Eric Pearce, X Window 2003)
System Volume 8: X Window System X Marks the Spot: Looking back at X11
Administrator's Guide for X11 Release 4 Developments of Past Year (https://www.os
and Release 5, 3rd edition (O'Reilly and news.com/story/6157/x-marks-the-spot-loo
Associates, July 1993; softcover ISBN 0- king-back-at-x11-developments-of-past-ye
937175-83-8) ar/) (Oscar Boykin, OSNews, 25 February
The X-Windows Disaster (http://www.art.ne 2004)
t/~hopkins/Don/unix-haters/x-windows/disa Getting X Off The Hardware (https://keithp.
ster.html) (UNIX-HATERS Handbook) com/~keithp/talks/xserver_ols2004/) (Keith
Robert W. Scheifler and James Gettys: X Packard, July 2004 Ottawa Linux
Window System: Core and extension Symposium talk)
protocols: X version 11, releases 6 and Why Apple didn't use X for the window
6.1, Digital Press 1996, ISBN 1-55558- system (https://developers.slashdot.org/co
148-X mments.pl?sid=75257&cid=6734612)
The Evolution of the X Server Architecture (Mike Paquette, Apple Computer)
(https://keithp.com/~keithp/talks/Xarchitect X Man Page (https://www.x.org/archive//X1
ure/Talk.htm) (Keith Packard, 1999) 1R6.8.2/doc/X.7.html) (Retrieved on 2
The means to an X for Linux: an interview February 2007)
with David Dawes from XFree86.org (http Gettys, Jim (2005). "SNAP Computing and
s://web.archive.org/web/20060916213448/ the X Window System".
http://www.cat.org.au/maffew/cat/xfree-daw CiteSeerX 10.1.1.109.3314 (https://citeseer
es.html) (Matthew Arnison, CAT TV, June x.ist.psu.edu/viewdoc/summary?doi=10.1.
1999) 1.109.3314).
Lessons Learned about Open Source (http [1] (https://www.ibm.com/docs/en/zos/2.3.
s://www.usenix.org/legacy/publications/libr 0?topic=zcsipgr-xwindow-system-interface
ary/proceedings/usenix2000/invitedtalks/g -in-zos-communications-server-environme
ettys_html/Talk.htm) (Jim Gettys, USENIX nt) X Window System interface in the z/OS
2000 talk on the history of X) Communications Server environment
(Retrieved on 19 July 2021)
External links
Official website (https://x.org)
X Window System maintains cross-compatibility by abstracting graphical operations and providing a uniform communication protocol that can operate over various architectures and operating systems. Through network transparency, X does not bind an application to the local operating system, allowing applications to run on different servers and display systems, including Unix, macOS, and Windows, often with the assistance of compatibility layers or ported implementations like XQuartz and Cygwin/X .
X implementations initially centered around XFree86, which was a significant source of innovation in the 1990s. However, due to licensing conflicts and the need for more open governance, the X.Org Server, a fork of XFree86, became predominant after 2004. This shift was due in part to X.Org's more collaborative approach and its ability to adapt to modern technological advances more efficiently than XFree86 .
The diversity in desktop environments has led to a variety of user interfaces and functionalities within the X Window System. While X primarily provides protocol and graphics primitives, the user experience is largely determined by desktop environments such as GNOME, KDE Plasma, and Xfce, which interpolate between basic window management to comprehensive interfaces with consistent aesthetics and user tools. This flexibility allows adaptation for different preferences and needs, enhancing usability and user satisfaction .
Challenges arise from X's unconventional client-server terminology, where the X server is local and provides resources, while clients are applications using these services. This could lead to confusion as it reverses traditional roles expected by users familiar with typical client-server models, potentially complicating user understanding and system management until users become accustomed to this unique configuration .
Window managers significantly impact the end-user experience within an X environment by controlling the placement, appearance, and behavior of application windows. They define the aesthetic and functional characteristics of the desktop, allowing for customization that ranges from minimalistic designs to comprehensive interfaces with full GUI support, shaping how users interact with their applications on the display .
Applications of X's network-transparent protocol include allowing remote desktop environments to be displayed on local machines, enabling collaborative work environments where multiple users can access a centralized application, and running computationally intensive tasks on powerful remote servers while displaying results locally. These benefits include cost-effectiveness through centralized processing and flexibility in accessing graphical applications across different systems and networks .
X defines the server as the entity providing resources (display and input services) and clients as the applications utilizing these services, which inverses common perceptions where the server hosts services remotely and the client accesses them. This can confuse new users who typically expect the server to be the remote resource provider rather than the local entity managing inputs and outputs .
Extensions like GLX enhance the X Window System by enabling it to perform 3D graphics operations. GLX acts as an interface between the OpenGL (a 3D graphics API) and the X server, allowing for graphics processing and rendering to be hardware-accelerated on the display server. This results in efficient graphics performance over the network by allowing complex 3D operations to be handled seamlessly alongside 2D content interaction .
X employs network transparency by allowing X client applications to run on any machine within a network while using the local X server to render graphics and receive input events. This means the graphical user interface of a program can be processed on a remote machine, but displayed locally on a user's machine, creating seamless interaction despite the separation in processing and display locations .
The X Window System adapts to non-Unix operating systems through third-party implementations and compatibilitصدy layers. For instance, XQuartz facilitates X operation on macOS, while Cygwin/X and other software enable support on Windows. These adaptations often involve porting the server to operate within or alongside native window systems, offering both standalone and integrated (rootless) modes to leverage X's functionality in diverse environments .