windowing system
In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
for
bitmap
In computing, a bitmap is a mapping from some domain (for example, a range of integers) to bits. It is also called a bit array
A bit array (also known as bitmask, bit map, bit set, bit string, or bit vector) is an array data structure that c ...
displays, common on
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting with a mouse and keyboard. X does not mandate the user interfacethis is handled by individual programs. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces.
X originated as part of
Project Athena
Project Athena was a joint project of MIT, Digital Equipment Corporation, and IBM to produce a campus-wide distributed computing environment for educational use. It was launched in 1983, and research and development ran until June 30, 1991. , At ...
at
Massachusetts Institute of Technology
The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the ...
(MIT) in 1984. The X protocol has been at version 11 (hence "X11") since September 1987. The
X.Org Foundation
The X.Org Foundation is a non-profit corporation chartered to research, develop, support, organize, administrate, standardize, promote, and defend a free and open accelerated graphics stack. This includes, but is not limited to, the following p ...
leads the X project, with the current reference implementation,
X.Org Server
X.Org Server is the free and open-source implementation of the X Window System display server stewarded by the X.Org Foundation.
Implementations of the client-side X Window System protocol exist in the form of ''X11 libraries'', which serve a ...
, available as
free
Free may refer to:
Concept
* Freedom, having the ability to do something, without having to obey anyone/anything
* Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism
* Emancipate, to procur ...
and
open-source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
under the
MIT License
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
and similar permissive licenses.
Purpose and abilities
X is an architecture-independent system for remote graphical user interfaces and input device capabilities. Each person using a networked
terminal
Terminal may refer to:
Computing Hardware
* Terminal (electronics), a device for joining electrical circuits together
* Terminal (telecommunication), a device communicating over a line
* Computer terminal, a set of primary input and output devic ...
has the ability to interact with the display with any type of user input device.
In its standard distribution it is a complete, albeit simple, display and interface solution which delivers a standard
toolkit A toolkit is an assembly of tools; set of basic building units for user interfaces.
The word toolkit may refer to:
* Abstract Window Toolkit
* Accessibility Toolkit
* Adventure Game Toolkit
* B-Toolkit
* Battlefield Mod Development Toolkit
* Ch ...
and
protocol stack
The protocol stack or network stack is an implementation of a computer networking protocol suite or protocol family. Some of these terms are used interchangeably but strictly speaking, the ''suite'' is the definition of the communication protoco ...
for building graphical user interfaces on most
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating systems and
OpenVMS
OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Ope ...
, and has been
ported
In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally desi ...
to many other contemporary general purpose
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s.
X provides the basic
framework
A framework is a generic term commonly referring to an essential supporting structure which other things are built on top of.
Framework may refer to:
Computing
* Application framework, used to implement the structure of an application for an op ...
, or primitives, for building such GUI environments: drawing and moving
windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
on the
display
Display may refer to:
Technology
* Display device, output device for presenting information, including:
** Cathode ray tube, video display that provides a quality picture, but can be very heavy and deep
** Electronic visual display, output devi ...
and interacting with a mouse, keyboard or touchscreen. X does not mandate the
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
; 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
Network transparency, in its most general sense, refers to the ability of a protocol to transmit data over the network in a manner which is not observable (“transparent” as in invisible) to those using the applications that are using the proto ...
, 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:
* an application displaying to a window of another display system
* a system program controlling the video output of a PC
* a dedicated piece of hardware
This client–server terminologythe user's terminal being the server and the applications being the clientsoften confuses new X users, because the terms appear reversed. But X takes the perspective of the application, rather than that of the end-user: X provides display and I/O services to applications, so it is a server; applications use these services, thus they are clients.
The
communication protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer scien ...
between server and client operates network-transparently: the client and server may run on the same machine or on different ones, possibly with different architectures and operating systems. A client and server can even communicate securely over the Internet by tunneling the connection over an encrypted network session.
An X client itself may emulate an X server by providing display services to other clients. This is known as "X nesting". Open-source clients such as Xnest and Xephyr support such X nesting.
Remote desktop
To run an X client application on a remote machine, the user may do the following:
* on the local machine, open a terminal window
* use command to connect to the remote machine
* request a local display/input service (e.g., export DISPLAY='' ser's machine':0 if not using SSH with X forwarding enabled)
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.
Practical examples of remote clients include:
* administering a remote machine graphically (similar to using remote desktop, but with single windows)
* using a client application to join with large numbers of other terminal users in collaborative workgroups
* running a computationally intensive simulation on a remote machine and displaying the results on a local desktop machine
* running graphical software on several machines at once, controlled by a single display, keyboard and mouse
User interfaces
X primarily defines protocol and graphics primitivesit deliberately contains no specification for application user-interface design, such as button, menu, or window title-bar styles. Instead, application softwaresuch as window managers, GUI widget toolkits and desktop environments, or application-specific graphical user interfacesdefine and provide such details. As a result, there is no ''typical'' X interface and several different desktop environments have become popular among users.
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
ChromeOS
ChromeOS, sometimes stylized as chromeOS and formerly styled as Chrome OS, is a Linux-based operating system designed by Google. It is derived from the open-source ChromiumOS and uses the Google Chrome web browser as its principal user interfac ...
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
A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
,
KDE Plasma Plasma is a desktop environment by KDE, and can refer to:
* KDE Plasma 5 (2014–today)
* KDE Plasma 4 (2008–2015)
* Plasma Mobile for smartphones
* Plasma Bigscreen
Plasma Bigscreen is a software project from KDE which contains an interface op ...
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
XQuartz is an open-source version of the X.Org X server, a component of the X Window System (X11, or shortened to simply X, and sometimes informally X-Windows) that runs on macOS. It formally replaced Apple's internal X11 app. The name "XQuart ...
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
Cygwin/X is an implementation of the X Window System that runs under Microsoft Windows. It is part of the Cygwin project, and is installed using Cygwin's standard setup system. Cygwin/X is free software, licensed under the X11 License.
Cygwin/ ...
, and proprietary products such as Exceed, MKS X/Server, Reflection X, X-Win32 and
Xming
Xming is an X11 display server for Microsoft Windows operating systems, including Windows XP and later.
Features
Xming provides the X Window System display server, a set of traditional sample X applications and tools, as well as a set of fonts. ...
.
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
A broadcast domain is a logical division of a computer network, in which all nodes can reach each other by broadcast at the data link layer. A broadcast domain can be within the same LAN segment or it can be bridged to other LAN segments.
In t ...
) using the
X Display Manager Control Protocol
In the X Window System, an X display manager is a graphical login manager which starts a login session on an X server from the same or another computer.
A display manager presents the user with a login screen. A session starts when a user ...
to generate a list of available hosts that are allowed as clients. One of the client hosts should run an
X display manager
In the X Window System, an X display manager is a graphical login manager which starts a login session on an X server from the same or another computer.
A display manager presents the user with a login screen. A session starts when a user su ...
.
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
A peripheral or peripheral device is an auxiliary device used to put information into and get information out of a computer. The term ''peripheral device'' refers to all hardware components that are attached to a computer and are controlled by the ...
device.
Dedicated (hardware) X terminals have fallen out of use; a PC or modern
thin client
In computer networking, a thin client is a simple (low-performance) computer that has been optimized for establishing a remote connection with a server-based computing environment. They are sometimes known as ''network computers'', or in th ...
with an X server typically provides the same functionality at the same, or lower, cost.
Limitations and criticism
'' The Unix-Haters Handbook'' (1994) devoted a full chapter to the problems of X. ''Why X Is Not Our Ideal Window System'' (1990) by Gajewska, Manasse and McCormack detailed problems in the protocol with recommendations for improvement.
User interface issues
The lack of design guidelines in X has resulted in several vastly different interfaces, and in applications that have not always worked well together. The
Inter-Client Communication Conventions Manual
In computing, the Inter-Client Communication Conventions Manual (ICCCM or I39L short for "I", 39 letters and "L")Motif and CDE did not alleviate problems. This has frustrated users and programmers. Graphics programmers now generally address consistency of application
look and feel
In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes ...
and communication by coding to a specific desktop environment or to a specific widget toolkit, which also avoids having to deal directly with the ICCCM.
X also lacks native support for user-defined stored procedures on the X server, in the manner of
NeWS
News is information about current events. This may be provided through many different Media (communication), media: word of mouth, printing, Mail, postal systems, broadcasting, Telecommunications, electronic communication, or through the tes ...
there is no
Turing-complete
In computability theory, a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing-complete or computationally universal if it can be used to simulate any Tur ...
scripting facility. Various desktop environments may thus offer their own (usually mutually incompatible) facilities.
Computer accessibility related issues
Systems built upon X may have
accessibility
Accessibility is the design of products, devices, services, vehicles, or environments so as to be usable by people with disabilities. The concept of accessible design and practice of accessible development ensures both "direct access" (i. ...
issues that make utilization of a computer difficult for disabled users, including
right click
Rights are legal, social, or ethical principles of freedom or entitlement; that is, rights are the fundamental normative rules about what is allowed of people or owed to people according to some legal system, social convention, or ethical the ...
,
double click
A double-click is the act of pressing a computer mouse button twice quickly without moving the mouse. Double-clicking allows two different actions to be associated with the same mouse button. It was developed by Bill Atkinson of Apple Computer (n ...
focus stealing In computing, focus stealing is a mode error occurring when a program not in Focus (computing), focus (e.g. minimized or operating in background) places a window in the foreground and redirects all keyboard input to that window. This is considered t ...
. 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
The orca or killer whale (''Orcinus orca'') is a toothed whale belonging to the oceanic dolphin family, of which it is the largest member. It is the only Extant taxon, extant species in the genus ''Orcinus'' and is recognizable by its black ...
project adds accessibility support to the X Window System, including implementing an API (
AT-SPI
Assistive Technology Service Provider Interface (AT-SPI) is a platform-neutral framework for providing bi-directional communication between assistive technologies (AT) and applications. It is the ''de facto'' standard for providing accessibility ...
). This is coupled with GNOME's ATK to allow for accessibility features to be implemented in X programs using the GNOME/GTK APIs. KDE provides a different set of accessibility software, including a text-to-speech converter and a screen magnifier. The other major desktops (LXDE, Xfce and Enlightenment) attempt to be compatible with ATK.
Network
An X client cannot generally be detached from one server and reattached to another unless its code specifically provides for it (
Emacs
Emacs , originally named EMACS (an acronym for "Editor MACroS"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
is one of the few common programs with this ability). As such, moving an entire session from one X server to another is generally not possible. However, approaches like
Virtual Network Computing
Virtual Network Computing (VNC) is a graphical desktop-sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse input from one computer to another, relaying the g ...
Xpra
xpra, abbreviated from X Persistent Remote Applications, is a set of software utilities that run X clients, typically on a remote host, and direct their display to the local machine without the X clients closing or losing any state in case the ne ...
allow a virtual session to be reached from different X servers (in a manner similar to
GNU Screen
GNU Screen is a terminal multiplexer, a software application that can be used to multiplex several virtual consoles, allowing a user to access multiple separate login sessions inside a single terminal window, or detach and reattach sessions from ...
in relation to terminals), and other applications and toolkits provide related facilities. Workarounds like
x11vnc
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 ...
(''VNC :0 viewers''), Xpra's shadow mode and NX's nxagent shadow mode also exist to make the current X-server screen available. This ability allows the user interface (mouse, keyboard, monitor) of a running application to be switched from one location to another without stopping and restarting the application.
Network traffic between an X server and remote X clients is not encrypted by default. An attacker with a
packet sniffer
A packet analyzer, also known as packet sniffer, protocol analyzer, or network analyzer, is a computer program or computer hardware such as a packet capture appliance, that can intercept and log traffic that passes over a computer network or p ...
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
The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.
SSH applications are based on a ...
(SSH) tunnel for communication.
Like all
thin client
In computer networking, a thin client is a simple (low-performance) computer that has been optimized for establishing a remote connection with a server-based computing environment. They are sometimes known as ''network computers'', or in th ...
s, when using X across a network,
bandwidth
Bandwidth commonly refers to:
* Bandwidth (signal processing) or ''analog bandwidth'', ''frequency bandwidth'', or ''radio bandwidth'', a measure of the width of a frequency range
* Bandwidth (computing), the rate of data transfer, bit rate or thr ...
limitations can impede the use of
bitmap
In computing, a bitmap is a mapping from some domain (for example, a range of integers) to bits. It is also called a bit array
A bit array (also known as bitmask, bit map, bit set, bit string, or bit vector) is an array data structure that c ...
-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
A mesa is an isolated, flat-topped elevation, ridge or hill, which is bounded from all sides by steep escarpments and stands distinctly above a surrounding plain. Mesas characteristically consist of flat-lying soft sedimentary rocks capped by ...
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
In telecommunications, round-trip delay (RTD) or round-trip time (RTT) is the amount of time it takes for a signal to be sent ''plus'' the amount of time it takes for acknowledgement of that signal having been received. This time delay includes p ...
between client and server ( latency) rather than from the protocol itself: the best solutions to performance issues depend on efficient application design. 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 socket
A Unix domain socket aka UDS or IPC socket ( inter-process communication socket) is a data communications endpoint for exchanging data between processes executing on the same host operating system. It is also referred to by its address family AF_U ...
s for efficient connections on the same host. Additionally
shared memory
In computer science, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Shared memory is an efficient means of passing data between progr ...
(via the
MIT-SHM
The MIT Shared Memory Extension or MIT-SHM or XShm is an X Window System extension for exchange of image data between client and server using shared memory (usually ). The mechanism only works when both pieces are on the same computer.
The basic ...
extension) can be employed for faster client–server communication. 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
The Sun is the star at the center of the Solar System. It is a nearly perfect ball of hot plasma, heated to incandescence by nuclear fusion reactions in its core. The Sun radiates this energy mainly as light, ultraviolet, and infrared radi ...
's
NeWS
News is information about current events. This may be provided through many different Media (communication), media: word of mouth, printing, Mail, postal systems, broadcasting, Telecommunications, electronic communication, or through the tes ...
and
NeXT
Next may refer to:
Arts and entertainment Film
* ''Next'' (1990 film), an animated short about William Shakespeare
* ''Next'' (2007 film), a sci-fi film starring Nicolas Cage
* '' Next: A Primer on Urban Painting'', a 2005 documentary film
Lit ...
's
Display PostScript
Display PostScript (or DPS) is a 2D graphics engine system for computers which uses the PostScript (PS) imaging model and language (originally developed for computer printing) to generate on-screen graphics. To the basic PS system, DPS adds a num ...
, both
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
-based systems supporting user-definable display-side procedures, which X lacked. Current alternatives include:
*
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
(and its mobile counterpart,
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
) implements its windowing system, which is known as
Quartz
Quartz is a hard, crystalline mineral composed of silica (silicon dioxide). The atoms are linked in a continuous framework of SiO4 silicon-oxygen tetrahedra, with each oxygen being shared between two tetrahedra, giving an overall chemical form ...
. When
Apple Computer
Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company b ...
bought NeXT, and used
NeXTSTEP
NeXTSTEP is a discontinued object-oriented, multitasking operating system based on the Mach kernel and the UNIX-derived BSD. It was developed by NeXT Computer in the late 1980s and early 1990s and was initially used for its range of proprieta ...
to construct
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
, it replaced Display PostScript with
Quartz
Quartz is a hard, crystalline mineral composed of silica (silicon dioxide). The atoms are linked in a continuous framework of SiO4 silicon-oxygen tetrahedra, with each oxygen being shared between two tetrahedra, giving an overall chemical form ...
. 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.
* Plan 9 uses
rio
Rio or Río is the Portuguese, Spanish, Italian, and Maltese word for "river". When spoken on its own, the word often means Rio de Janeiro, a major city in Brazil.
Rio or Río may also refer to:
Geography Brazil
* Rio de Janeiro
* Rio do Sul, a ...
.
*
Haiku
is a type of short form poetry originally from Japan. Traditional Japanese haiku consist of three phrases that contain a ''kireji'', or "cutting word", 17 '' on'' (phonetic units similar to syllables) in a 5, 7, 5 pattern, and a ''kigo'', or se ...
has its own windowing system.
*
HelenOS
HelenOS is an operating system based on a multiserver microkernel design. The source code of HelenOS is written in C and published under the BSD-3-Clause license.
The system is described as a “research development open-source operating syste ...
has its own windowing system.
* Android, which runs on the
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
, uses its own system for drawing the user interface known as
SurfaceFlinger
In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
. 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
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobil ...
hardware, via DRI. Wayland can run an X server as a Wayland compositor, which can be rootless. A proprietary port of the Wayland backend to the
Raspberry Pi
Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
was completed in 2013. The project reached version 1.0 in 2012. Like Android, Wayland is EGL-based.
*
Mir
''Mir'' (russian: Мир, ; ) was a space station that operated in low Earth orbit from 1986 to 2001, operated by the Soviet Union and later by Russia. ''Mir'' was the first modular space station and was assembled in orbit from 1986 to&n ...
was a project from
Canonical Ltd.
Canonical Ltd. is a UK-based privately held computer software company founded and funded by South African entrepreneur Mark Shuttleworth to market commercial support and related services for Ubuntu and related projects. Canonical employs staff ...
with goals similar to Wayland. 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
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' ...
instead of being an alternative
display server
In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
.
* Other alternatives attempt to avoid the overhead of X by working directly with the hardware; such projects include
DirectFB
DirectFB (Direct Frame Buffer) 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 mult ...
. The
Direct Rendering Infrastructure
The Direct Rendering Infrastructure (DRI) is the framework comprising the modern Linux graphics stack which allows unprivileged user-space programs to issue commands to graphics hardware without conflicting with other programs. The main use ...
(DRI) provides a kernel-level interface to the
framebuffer
A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Modern ...
.
Additional ways to achieve a functional form of the "network transparency" feature of X, via network transmissibility of graphical services, include:
*
Virtual Network Computing
Virtual Network Computing (VNC) is a graphical desktop-sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse input from one computer to another, relaying the g ...
(VNC), a very low-level system which sends compressed bitmaps across the network; the Unix implementation includes an X server
*
Remote Desktop Protocol
Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while t ...
(RDP), which is similar to VNC in purpose, but originated on Microsoft Windows before being ported to Unix-like systems; cf NX,
GotoMyPc
GoToMyPC is remote desktop software that allows users to access computers remotely using a web browser. It was developed by ExpertCity and launched in 1998. Citrix Systems acquired ExpertCity in 2004 and maintained the GoToMyPC brand and services. ...
, etc.
*
Citrix XenApp
Citrix Virtual Apps (formerly WinFrame, MetaFrame, Presentation Server and XenApp) is an application virtualization software produced by Citrix Systems that allows Windows applications to be accessed via individual devices from a shared server ...
, an X-like protocol and application stack for Microsoft Windows
*
Tarantella
() is a group of various southern Italian folk dances originating in the regions of Calabria, Campania and Puglia. It is characterized by a fast upbeat tempo, usually in time (sometimes or ), accompanied by tambourines. It is among the mo ...
, which provides a Java-based remote-gui-client for use in web browsers
History
Predecessors
Several bitmap display systems preceded X. From
Xerox
Xerox Holdings Corporation (; also known simply as Xerox) is an American corporation that sells print and electronic document, digital document products and services in more than 160 countries. Xerox is headquartered in Norwalk, Connecticut (ha ...
came the
Alto
The musical term alto, meaning "high" in Italian (Latin: ''altus''), historically refers to the contrapuntal part higher than the tenor and its associated vocal range. In 4-part voice leading alto is the second-highest part, sung in choruses by ...
(1973) and the
Star
A star is an astronomical object comprising a luminous spheroid of plasma (physics), plasma held together by its gravity. The List of nearest stars and brown dwarfs, nearest star to Earth is the Sun. Many other stars are visible to the naked ...
(1981). From
Apollo Computer
Apollo Computer Inc., founded in 1980 in Chelmsford, Massachusetts, by William Poduska (a founder of Prime Computer) and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo wa ...
came
Display Manager
In the X Window System, an X display manager is a graphical login manager which starts a login session on an X server from the same or another computer.
A display manager presents the user with a login screen. A session starts when a user s ...
(1981). From
Apple
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
came the
Lisa Lisa or LISA may refer to:
People
People with the mononym
* Lisa Lisa (born 1967), American actress and lead singer of the Cult Jam
* Lisa (Japanese musician, born 1974), stylized "LISA", Japanese singer and producer
* Lisa Komine (born 1978), J ...
(1983) and the
Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc., Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and ...
(1984). The
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
world had the
Andrew Project
The Andrew Project was a distributed computing environment developed at Carnegie Mellon University (CMU) beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infras ...
(1982) and
Rob Pike
Robert "Rob" Pike (born 1956) is a Canadian programmer and author. He is best known for his work on the Go programming language and at Bell Labs, where he was a member of the Unix team and was involved in the creation of the Plan 9 from Bell La ...
'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
The alphabet for Modern English is a Latin-script alphabet consisting of 26 letters, each having an upper- and lower-case form. The word ''alphabet'' is a compound of the first two letters of the Greek alphabet, '' alpha'' and '' beta''. ...
). W ran under the V operating system. W used a network protocol supporting terminal and graphics windows, the server maintaining display lists.
Origin and early development
The original idea of X emerged at MIT in 1984 as a collaboration between
Jim Gettys
Jim Gettys (born 15 October 1953) is an American computer programmer. He was involved in multiple computer related projects.
Activity
Gettys worked at DEC's Cambridge Research Laboratory.
Until January 2009, he was the Vice President of Sof ...
(of
Project Athena
Project Athena was a joint project of MIT, Digital Equipment Corporation, and IBM to produce a campus-wide distributed computing environment for educational use. It was launched in 1983, and research and development ran until June 30, 1991. , At ...
) and
Bob Scheifler
Robert William Scheifler (born June 24, 1954) is an American computer scientist. He was born in Kirkwood, Missouri. He is most notable for leading the development of the X Window System from the project's inception in 1984 until the closure of t ...
Project Athena
Project Athena was a joint project of MIT, Digital Equipment Corporation, and IBM to produce a campus-wide distributed computing environment for educational use. It was launched in 1983, and research and development ran until June 30, 1991. , At ...
(a joint project between DEC, MIT and IBM to provide easy access to computing resources for all students) needed a platform-independent graphics system to link together its heterogeneous multiple-vendor systems; the window system then under development in
Carnegie Mellon University
Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania. One of its predecessors was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools; it became the Carnegie Institute of Technology ...
's
Andrew Project
The Andrew Project was a distributed computing environment developed at Carnegie Mellon University (CMU) beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infras ...
did not make licenses available, and no alternatives existed.
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
Synchronization is the coordination of events to operate a system in unison. For example, the conductor of an orchestra keeps the orchestra synchronized or ''in time''. Systems that operate with all parts in synchrony are said to be synchronou ...
protocol
Protocol may refer to:
Sociology and politics
* Protocol (politics), a formal agreement between nation states
* Protocol (diplomacy), the etiquette of diplomacy and affairs of state
* Etiquette, a code of personal behavior
Science and technology
...
of W with an
asynchronous
Asynchrony is the state of not being in synchronization.
Asynchrony or asynchronous may refer to:
Electronics and computing
* Asynchrony (computer programming), the occurrence of events independent of the main program flow, and ways to deal with ...
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
Ultrix (officially all-caps ULTRIX) is the brand name of Digital Equipment Corporation's (DEC) discontinued native Unix operating systems for the PDP-11, VAX, MicroVAX and DECstations.
History
The initial development of Unix occurred on DEC equip ...
workstation, judged X the only windowing system likely to become available in time. DEC engineers ported X6 to DEC's QVSS display on
MicroVAX
The MicroVAX is a discontinued family of low-cost minicomputers developed and manufactured by Digital Equipment Corporation (DEC). The first model, the MicroVAX I, was introduced in 1983.(announced October 1983) They used processors that implemen ...
.
In the second quarter of 1985, X acquired
color
Color (American English) or colour (British English) is the visual perceptual property deriving from the spectrum of light interacting with the photoreceptor cells of the eyes. Color categories and physical specifications of color are associ ...
support to function in the DEC
VAXstation
The VAXstation is a discontinued family of workstation computers developed and manufactured by Digital Equipment Corporation using processors implementing the VAX instruction set architecture. VAXstation systems were typically shipped with either ...
-II/GPX, forming what became version 9.
A group at
Brown University
Brown University is a private research university in Providence, Rhode Island. Brown is the seventh-oldest institution of higher education in the United States, founded in 1764 as the College in the English Colony of Rhode Island and Providenc ...
ported version 9 to the
IBM RT PC
The IBM RT PC (RISC Technology Personal Computer) is a family of workstation computers from IBM introduced in 1986. These were the first commercial computers from IBM that were based on a reduced instruction set computer (RISC) architecture. Th ...
, 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
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
, 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
The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware components ...
releasing products based on it. Other groups ported X10 to
Sun
The Sun is the star at the center of the Solar System. It is a nearly perfect ball of hot plasma, heated to incandescence by nuclear fusion reactions in its core. The Sun radiates this energy mainly as light, ultraviolet, and infrared radi ...
workstations and even to the IBM
PC/AT
The IBM Personal Computer/AT (model 5170, abbreviated as IBM AT or PC/AT) was released in 1984 as the fourth model in the IBM Personal Computer line, following the IBM PC/XT and its IBM Portable PC variant. It was designed around the Intel 8028 ...
. 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
Virtual Network Computing (VNC) is a graphical desktop-sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse input from one computer to another, relaying the g ...
(VNC) would later allow a desktop to be shared. One such early effort was Philip J. Gust's
SharedX
SharedX is a set of extensions to the X Window System that was developed at Hewlett-Packard, HP in the mid to late 1980s. It enables X servers to "share" individual X windows or an entire desktop, thus allowing users at multiple workstations to use ...
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
Western may refer to:
Places
*Western, Nebraska, a village in the US
*Western, New York, a town in the US
*Western Creek, Tasmania, a locality in Australia
*Western Junction, Tasmania, a locality in Australia
*Western world, countries that id ...
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
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
projects.
The MIT X Consortium and the X Consortium, Inc.
By the late 1980s X was,
Simson Garfinkel
Simson L. Garfinkel (born 1965) is Senior Data Scientist at the Department of Homeland Security (DHS). He was formerly the US Census Bureau's Senior Computer Scientist for Confidentiality and Data Access. Previously, he was a computer scientist at ...
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
The VAXstation is a discontinued family of workstation computers developed and manufactured by Digital Equipment Corporation using processors implementing the VAX instruction set architecture. VAXstation systems were typically shipped with eith ...
to ensure that X—which DEC called
DECwindows
OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Ope ...
—would run on it, and the company assigned 1,200 employees to port X to both Ultrix and VMS. 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
Keith Packard (born April 16, 1963) is a software developer, best known for his work on the X Window System.
Packard is responsible for many X extensions and technical papers on X. He has been heavily involved in the development of X since the l ...
in March 1988 as senior developers, with Jim focusing on
Xlib
Xlib (also known as libX11) is an X Window System protocol client library written in the C programming language. It contains functions for interacting with an X server. These functions allow programmers to write programs without knowing the d ...
,
fonts
In metal typesetting, a font is a particular size, weight and style of a typeface. Each font is a matched set of type, with a piece (a "sort") for each glyph. A typeface consists of a range of such fonts that shared an overall design.
In mode ...
, 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
PEX is cross-linked polyethylene, a form of polyethylene with cross-links.
PEX or Pex may also refer to: Science and technology
*Peer exchange, a method to gather peers for BitTorrent
* PHIGS Extension to X, in programming
* Pex (software), a un ...
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.Robert W. Scheifler and James Gettys: X Window System: Core and extension protocols: X version 11, releases 6 and 6.1, Digital Press 1996,
In 1993, the X Consortium, Inc. (a non-profit corporation) formed as the successor to the MIT X Consortium. It released X11R6 on 16 May 1994. In 1995 it took on the development of the Motif toolkit and of the
Common Desktop Environment
The Common Desktop Environment (CDE) is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit. It was part of the UNIX 98 Workstation Product Standard, and was for a long time the Unix desktop associated with commercia ...
for Unix systems. The X Consortium dissolved at the end of 1996, producing a final revision, X11R6.3, and a legacy of increasing commercial influence in the development.
The Open Group
In January 1997, the X Consortium passed stewardship of X to
The Open Group
The Open Group is a global consortium that seeks to "enable the achievement of business objectives" by developing "open, vendor-neutral technology standards and certifications." It has over 840 member organizations and provides a number of servi ...
, a vendor group formed in early 1996 by the merger of the
Open Software Foundation
The Open Software Foundation (OSF) was a not-for-profit industry consortium for creating an open standard for an implementation of the operating system Unix. It was formed in 1988 and merged with X/Open in 1996, to become The Open Group.
Despite ...
and
X/Open X/Open group (also known as the Open Group for Unix Systems and incorporated in 1987 as X/Open Company, Ltd.) was a consortium founded by several European UNIX systems manufacturers in 1984 to identify and promote open standards in the field of info ...
.
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
XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and was available for many other operating systems and platforms. It is free and open source software under the X ...
as not significantly contributing to X. The new terms would have made X no longer
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
: zero-cost for noncommercial use, but a fee otherwise. After XFree86 seemed poised to
fork
In cutlery or kitchenware, a fork (from la, furca 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods ei ...
, the Open Group relicensed X11R6.4 under the traditional license in September 1998. The Open Group's last release came as X11R6.4 patch 3.
X.Org and XFree86
XFree86
XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and was available for many other operating systems and platforms. It is free and open source software under the X ...
originated in 1992 from the
X386 X386 was an implementation of the X Window System for IBM PC compatible computers. It ran on systems with Intel 386 or later processors, running Unix System V-based operating systems, and supported a variety of VGA-compatible graphics cards. X386 wa ...
server for
IBM PC compatible
IBM PC compatible computers are similar to the original IBM PC, XT, and AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such computers were referred to as PC clones, IBM clones or IBM PC clones. ...
s included with X11R5 in 1991, written by Thomas Roell and Mark W. Snitily and donated to the MIT X Consortium by Snitily Graphics Consulting Services (SGCS). XFree86 evolved over time from just one port of X to the leading and most popular implementation and the ''de facto'' standard of X's development.
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; most technical innovation since the X Consortium had dissolved had taken place in the XFree86 project. In 1999, the XFree86 team joined X.Org as an honorary (non-paying) member, encouraged by various hardware companies 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, 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
A cathedral is a church that contains the '' cathedra'' () of a bishop, thus serving as the central church of a diocese, conference, or episcopate. Churches with the function of "cathedral" are usually specific to those Christian denomination ...
-like development model; developers could not get CVS commit access and vendors had to maintain extensive
patch
Patch or Patches may refer to:
Arts, entertainment and media
* Patch Johnson, a fictional character from ''Days of Our Lives''
* Patch (''My Little Pony''), a toy
* "Patches" (Dickey Lee song), 1962
* "Patches" (Chairmen of the Board song) ...
sets. 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.
X.Org and XFree86 began discussing a reorganisation suited to properly nurturing the development of X. Jim Gettys had been pushing strongly for an open development model since at least 2000. 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. The added clause to the license was based on the original
BSD license
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
's advertising clause, which was viewed by the
Free Software Foundation
The Free Software Foundation (FSF) is a 501(c)#501(c)(3), 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985, to support the free software movement, with the organization's preference for software being distributed ...
and
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
as incompatible with the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the Four Freedoms (Free software), four freedoms to run, study, share, and modify the software. The license was th ...
. Other groups saw it as against the spirit of the original X.
Theo de Raadt
Theo de Raadt (; ; born May 19, 1968) is a South African-born software engineer who lives in Calgary, Alberta, Canada. He is the founder and leader of the OpenBSD and OpenSSH projects and was also a founding member of NetBSD. In 2004, De Raadt wo ...
of
OpenBSD
OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. According to the website, the OpenBSD project em ...
, for instance, threatened to
fork
In cutlery or kitchenware, a fork (from la, furca 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods ei ...
XFree86 citing license concerns. The license issue, combined with the difficulties in getting changes in, left many feeling the time was ripe for a fork.
The X.Org Foundation
In early 2004, various people from X.Org and freedesktop.org formed the
X.Org Foundation
The X.Org Foundation is a non-profit corporation chartered to research, develop, support, organize, administrate, standardize, promote, and defend a free and open accelerated graphics stack. This includes, but is not limited to, the following p ...
, and the Open Group gave it control of the x.org
domain name
A domain name is a string that identifies a realm of administrative autonomy, authority or control within the Internet. Domain names are often used to identify services provided through the Internet, such as websites, email services and more. As ...
. 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
A bazaar () or souk (; also transliterated as souq) is a marketplace consisting of multiple small Market stall, stalls or shops, especially in the Middle East, the Balkans, North Africa and India. However, temporary open markets elsewhere, suc ...
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
The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware components ...
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
GNOME Foundation is a non-profit organization based in Orinda, California, United States, coordinating the efforts in the GNOME project.
Purpose
The GNOME Foundation works to further the goal of the GNOME project: to create a computing platfor ...
. The Foundation employs no developers.
The Foundation released X11R6.7, the
X.Org Server
X.Org Server is the free and open-source implementation of the X Window System display server stewarded by the X.Org Foundation.
Implementations of the client-side X Window System protocol exist in the form of ''X11 libraries'', which serve a ...
, 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.
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
In metal typesetting, a font is a particular size, weight and style of a typeface. Each font is a matched set of type, with a piece (a "sort") for each glyph. A typeface consists of a range of such fonts that shared an overall design.
In mod ...
architecture, a 2-d graphics system "which had always been intended to be augmented and/or replaced", and latency issues.
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
Project Looking Glass is a now inactive free software project under the GPL to create an innovative 3D desktop environment for Linux, Solaris, and Windows. It was sponsored by Sun Microsystems.
Looking Glass is programmed in the Java language us ...
and the
Croquet project
Croquet OS is a web-based operating system for creating three-dimensional apps with multi-user functionalities that run simultaneously on any device.
Croquet can be used for communication, online gaming environments such as massively multipla ...
. External applications called ''
compositing window manager
A compositing window manager, or compositor, is a window manager that provides applications with an off-screen data buffer, buffer for each window. The window manager Compositing, composites the window buffers into an image representing the screen ...
s'' provide policy for the visual appearance.
On 21 December 2005, X.Org released X11R6.9, the monolithic
source
Source may refer to:
Research
* Historical document
* Historical source
* Source (intelligence) or sub source, typically a confidential provider of non open-source intelligence
* Source (journalism), a person, publication, publishing institute o ...
tree for legacy users, and X11R7.0, the same source code separated into independent modules, each maintainable in separate projects. The Foundation released X11R7.1 on 22 May 2006, about four months after 7.0, with considerable feature improvements.
XFree86 development continued for a few more years, 4.8.0 being released on 15 December 2008.
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.
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" though it has been in common informal use since early in the history of X and has been used deliberately for provocative effect, for example in the '' Unix-Haters Handbook''.
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
Virtual Network Computing (VNC) is a graphical desktop-sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse input from one computer to another, relaying the g ...
, 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:
::* A technique allowing panning a monitor around a screen running at a larger resolution than the monitor is currently displaying.
::* An effect simulated by a window manager by maintaining window position information in a larger coordinate system than the screen and allowing panning by simply moving the windows in response to the user.
; 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
Linux ( or ) is 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, which ...
-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
On the prospect of future versions, the X.org website states:
Cairo (graphics)
Cairo (stylized as cairo) is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different back ends. Cai ...
DirectFB
DirectFB (Direct Frame Buffer) 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 mult ...
*
General Graphics Interface
General Graphics Interface (GGI) was a project that aimed to develop a reliable, stable and fast computer graphics system that works everywhere. The intent was to allow for any program using GGI to run on any computing platform supported by it, re ...
*
History of the graphical user interface
The history of the graphical user interface, understood as the use of graphic icon (computing), icons and a pointing device to control a computer, covers a five-decade span of incremental refinements, built on some constant core principles. Se ...
*
List of Unix commands
This is a list of Unix commands as specified by IEEE Std 1003.1-2008, which is part of the Single UNIX Specification (SUS). These commands can be found on Unix operating systems and most Unix-like operating systems.
List
See also
* List of G ...
rio
Rio or Río is the Portuguese, Spanish, Italian, and Maltese word for "river". When spoken on its own, the word often means Rio de Janeiro, a major city in Brazil.
Rio or Río may also refer to:
Geography Brazil
* Rio de Janeiro
* Rio do Sul, a ...
VirtualGL
VirtualGL is an Open-source software, open-source software package that redirects the 3D rendering commands from Unix and Linux OpenGL applications to 3D accelerator hardware in a dedicated server and sends the rendered output to a (thin client, ...
X11 color names
In computing, on the X Window System, X11 color names are represented in a simple text file, which maps certain strings to RGB color values. It was traditionally shipped with every X11 installation, hence the name, and is usually located in ''<X ...
*
Xgl
Xgl is an obsolete display server implementation supporting the X Window System protocol designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL. It supports hardware acceleration of all X, OpenGL an ...
James Gettys
Jim Gettys (born 15 October 1953) is an American computer programmer. He was involved in multiple computer related projects.
Activity
Gettys worked at Digital Equipment Corporation, DEC's Cambridge Research Laboratory.
Until January 2009, he ...
, Philip L. Karlton,
Scott A. McGregor
Scott A. McGregor (born 1956) is an American technology executive and philanthropist. He was the lead developer of Windows 1.0 (the first release of Microsoft Windows), he was the CEO of Philips Semiconductors from 2001to2004, and was the CEO ...
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
), ''Software: Practice and Experience'' (10 December 1990)
* Hania Gajewska, Mark S. Manasse and Joel McCormack, Why X Is Not Our Ideal Window System (
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
), ''Software Practice & Experience'' vol 20, issue S2 (October 1990)
* Linda Mui and Eric Pearce, ''X Window System Volume 8: X Window System Administrator's Guide for X11 Release 4 and Release 5, 3rd edition'' (O'Reilly and Associates, July 1993; softcover )
The X-Windows Disaster ('' UNIX-HATERS Handbook'')
* Robert W. Scheifler and James Gettys: ''X Window System: Core and extension protocols: X version 11, releases 6 and 6.1'', Digital Press 1996,
The Evolution of the X Server Architecture (
Keith Packard
Keith Packard (born April 16, 1963) is a software developer, best known for his work on the X Window System.
Packard is responsible for many X extensions and technical papers on X. He has been heavily involved in the development of X since the l ...
Jim Gettys
Jim Gettys (born 15 October 1953) is an American computer programmer. He was involved in multiple computer related projects.
Activity
Gettys worked at DEC's Cambridge Research Laboratory.
Until January 2009, he was the Vice President of Sof ...
Ottawa Linux Symposium The Linux Symposium was a Linux and Open Source conference held annually in Canada from 1999 to 2014. The conference was initially named Ottawa Linux Symposium and was held only in Ottawa, but was renamed after being held in other cities in Canada ...
talk)
Why Apple didn't use X for the window system (Mike Paquette, Apple Computer)
(Retrieved on 2 February 2007)
*
X Window System interface in the z/OS Communications Server environment (Retrieved on 19 July 2021)