X Window System
Encyclopedia
The X window system is a computer software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....

 system and network protocol that provides a basis for graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

s (GUIs) and rich input device capability for networked computers
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

. It creates a hardware abstraction layer where software is written to use a generalized set of commands, allowing for device independence
Device Independence
Device independence is the process of making a software application be able to function on a wide variety of devices regardless of the local hardware on which the software is used.- Desktop computing :...

 and reuse of programs on any computer that implements X.

X originated at the Massachusetts Institute of Technology
Massachusetts Institute of Technology
The Massachusetts Institute of Technology is a private research university located in Cambridge, Massachusetts. MIT has five schools and one college, containing a total of 32 academic departments, with a strong emphasis on scientific and technological education and research.Founded in 1861 in...

 (MIT) in 1984. The current protocol version, X11, appeared in September 1987. The X.Org Foundation
X.Org Foundation
The X.Org Foundation is the organization holding the stewardship for the development of the X Window System. It was founded on 22 January 2004....

 leads the X project, with the current reference implementation, X.Org Server
X.Org Server
X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...

, available as free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

 under the MIT License
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

 and similar permissive licenses.

Purpose and abilities

X is an architecture-independent system for remote graphical user interfaces and rich input device capabilities which allows many people to share the processing power of a time-sharing
Time-sharing
Time-sharing is the sharing of a computing resource among many users by means of multiprogramming and multi-tasking. Its introduction in the 1960s, and emergence as the prominent model of computing in the 1970s, represents a major technological shift in the history of computing.By allowing a large...

 computer and to collaborate with each other through client applications running on remote computers. Each person using a networked terminal
Computer terminal
A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system...

 has the ability to interact with the display with any type of user input device. Due to the ubiquity of support for X software on Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, X is commonly used to run client applications on personal computer
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

s even when there is no need for time-sharing.

X provides windowing
Windowing system
A windowing system is a component of a graphical user interface , and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards...

 on computer displays
Electronic visual display
An electronic visual display is display technology which incorporates flat panel displays, performs as a video display, output device for presentation of images transmitted electronically, for visual reception, without producing a permanent record....

 and manages keyboard
Keyboard (computing)
In computing, a keyboard is a typewriter-style keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches...

, pointing device
Pointing device
A pointing device is an input interface that allows a user to input spatial data to a computer...

 control functions and touchscreen
Touchscreen
A touchscreen is an electronic visual display that can detect the presence and location of a touch within the display area. The term generally refers to touching the display of the device with a finger or hand. Touchscreens can also sense other passive objects, such as a stylus...

s. In its standard distribution it is a complete, albeit simple, display and interface solution which delivers a standard toolkit
Widget toolkit
In computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...

 and protocol stack
Protocol stack
The protocol stack is an implementation of a computer networking protocol suite. The terms are often used interchangeably. Strictly speaking, the suite is the definition of the protocols, and the stack is the software implementation of them....

 for building graphical user interfaces on most Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 operating systems and OpenVMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...

, and has been ported
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...

 to many other contemporary general purpose operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s.

X provides the basic framework
Software framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...

, or primitives, for building such GUI environments: drawing and moving windows
Window (computing)
In computing, a window is a visual area containing some kind of user interface. It usually has a rectangular shape that can overlap with the area of other windows...

 on the display and interacting with a mouse, keyboard or touchscreen. X does not mandate that the user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

  be present — individual client programs known as window manager
Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...

s handle this. The window manager is not necessary and 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. X is built as an additional (application) abstraction layer
Abstraction layer
An abstraction layer is a way of hiding the implementation details of a particular set of functionality...

 on top of the operating system kernel.

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
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 transparent to those using the applications that are using the protocol....

: the machine where an application program (the client application) runs can differ from the user's local machine (the display server). X's network protocol is based on X command primitives and, with GLX
GLX
GLX provides the interface connecting OpenGL and the X Window System: it enables programs wishing to use OpenGL to do so within a window provided by the X Window System.-History:...

, OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

 3D primitives rather than on a more basic framebuffer copying paradigm. This approach allows both 2D and 3D operations to be fully accelerated on the remote X server.

When used across the network, bandwidth and latency can both be significant issues in the usability of certain software models. Bandwidth is a key factor both in watching video in 2D and in transferring textures for 3D. Latency can be a concern in interactive applications - most obviously games - but for high levels of latency even basic menu manipulation can become difficult.

X provides no support for audio, although several projects exist in this niche, some also providing transparent network
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 transparent to those using the applications that are using the protocol....

 support. Some are PulseAudio
PulseAudio
PulseAudio is a cross-platform, networked sound server commonly used on the Linux-based and FreeBSD operating systems.PulseAudio runs under Microsoft Windows, Mac OS X, and POSIX-compliant platforms, such as Linux and FreeBSD...

, Advanced Linux Sound Architecture (ALSA), Open Sound System
Open Sound System
The Open Sound System is an interface for making and capturing sound in Unix or Unix-like operating systems. It is based on standard Unix devices...

 (OSS), and JACK Audio Connection Kit
JACK Audio Connection Kit
JACK is a professional sound server daemon that provides real-time, low latency connections for both audio and MIDI data between applications that implement its API...

 (JACK).

X also lacks support for user-defined stored procedures on the X server, which might have allowed for the dynamic construction of higher order primitives as seen in NeWS
NeWS
NeWS was a windowing system developed by Sun Microsystems in the mid 1980s. Originally known as "SunDew", its primary authors were James Gosling and David S. H. Rosenthal...

, which could reduce bandwidth demands from requiring fewer primitives to be sent, and improve certain types of interaction by removing round trips to the remote X client program in some varieties of menu interactions, picking, window management, and so on.

X is often used in conjunction with an X session manager
X session manager
In the X Window System, an X session manager is a session management program, a program that can save and restore the current state of a set of running applications.- Overview:...

 to implement sessions
Session (computer science)
In computer science, in particular networking, a session is a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computer and user . A session is set up or established at a certain point...

.
Usually, a session is started by the X display manager
X display manager
In the X Window System, an X display manager runs as a program that allows the starting of a session on an X server from the same or another computer.A display manager presents the user with a login screen which prompts for a username and password...

. However, the user can also start a session by manually running the xinit
Xinit
The xinit program allows a user to manually start an X server. The startx script is a front-end for xinit.By default, xinit and startx start an X server on display :0 and then start an xterm on it. When the xterm terminates, xinit and startx kill the X server. In general, xinit and startx can start...

 or startx programs.

Design

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
    Personal computer
    A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

  • a dedicated piece of hardware.


This client–server terminology—the user's terminal being the server and the applications being the clients—often 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
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...

 between server and client operates network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

-transparently: the client and server may run on the same machine or on different ones, possibly with different architectures
Computer architecture
In computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....

 and operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s. A client and server can even communicate securely
Computer security
Computer security is a branch of computer technology known as information security as applied to computers and networks. The objective of computer security includes protection of information and property from theft, corruption, or natural disaster, while allowing the information and property to...

 over the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

 by tunneling
Tunneling protocol
Computer networks use a tunneling protocol when one network protocol encapsulates a different payload protocol...

 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
Xnest
Xnest is an X Window System server that shows its output in a window. In other words, Xnest opens a window that works like another screen in which the user can open windows, etc....

 and Xephyr
Xephyr
In computing, Xephyr is a KDrive-based X server which targets a window on a host X Server as its framebuffer.- Features :Unlike the similar Xnest, Xephyr supports modern X extensions such as composite, damage, randr, etc. It uses SHM images and shadow framebuffer updates to provide good...

 support such X nesting.

To use an X client application on a remote machine, the user does the following:
  • On the local machine, open a terminal window
    Terminal emulator
    A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture....

  • use ssh
    Secure Shell
    Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...

     with the X forwarding argument to connect to the remote machine. Telnet
    TELNET
    Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

     can be used but is not secure, does not allow graphical forwarding and is largely deprecated.
  • request local display/input service (e.g., export DISPLAY=[user's machine]:0 if not using SSH with X forwarding or 'tunneling' 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
  • 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.

Principles

In 1984, Bob Scheifler
Bob Scheifler
Robert William Scheifler is an American computer scientist. He is most notable for leading the development of the X Window System from the project's inception in 1984 until the closure of the MIT X Consortium in 1996...

 and Jim Gettys
Jim Gettys
Jim Gettys is an American computer programmer at Alcatel-Lucent Bell Labs, USA. Until January 2009, he was the Vice President of Software at the One Laptop per Child project, working on the software for the OLPC XO-1. He is one of the original developers of the X Window System at MIT and worked on...

 set out the early principles of X:
  • Do not add new functionality unless an implementor cannot complete a real application without it.
  • It is as important to decide what a system is not as to decide what it is. Do not serve all the world's needs; rather, make the system extensible so that additional needs can be met in an upwardly compatible fashion.
  • The only thing worse than generalizing from one example is generalizing from no examples at all.
  • If a problem is not completely understood, it is probably best to provide no solution at all.
  • If you can get 90 percent of the desired effect for 10 percent of the work, use the simpler solution. (See also Worse is better
    Worse is better
    Worse is better, also called the New Jersey style, was conceived by Richard P. Gabriel to describe the dynamics of software acceptance, but it has broader application. The idea is that quality does not necessarily increase with functionality. There is a point where less functionality is a...

    .)
  • Isolate complexity as much as possible.
  • Provide mechanism rather than policy. In particular, place user interface policy in the clients' hands.


The first principle was modified during the design of X11 to: "Do not add new functionality unless you know of some real application that will require it."

X has largely kept to these principles. The sample implementation is developed with a view to extension and improvement of the implementation, while remaining compatible with the original 1987 protocol.

User interfaces

X is primarily a protocol and graphics primitives definition and it deliberately contains no specification for application user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

 design, such as button
Button (computing)
In computing, a button is a user interface element that provides the user a simple way to trigger an event, like searching for a query at a search engine, or to interact with dialog boxes, like confirming an action.-Description:A typical button is a rectangle or rounded rectangle, wider than it is...

, menu
Menu (computing)
In computing and telecommunications, a menu is a list of commands presented to an operator by a computer or communications system. A menu is used in contrast to a command-line interface, where instructions to the computer are given in the form of commands .Choices given from a menu may be selected...

, or window title bar
Title bar
In computing, the title bar consists of that part of a window where the title of the window appears. Most graphical operating systems and window managers position the title bar at the top of the application window as a horizontal bar....

 styles. Instead, application software – such as window manager
Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...

s, GUI widget toolkit
Widget toolkit
In computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...

s and desktop environment
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...

s, or application-specific graphical user interfaces - define and provide such details. As a result, there is no typical X interface and several desktop environments have been popular among users.

A window manager controls the placement and appearance of application windows. This may result in desktop interfaces akin to those of Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 or the Apple Macintosh
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...

 (examples include Metacity
Metacity
Metacity was the window manager used by default in the GNOME desktop environment until GNOME 3, where it was replaced by Mutter. The development of Metacity was started by Havoc Pennington and it is released under the GNU General Public License....

 in GNOME
GNOME
GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

, KWin
KWin
KWin is a window manager for the X Window System. It is an integral part of the KDE Software Compilation, although it can be used on its own or with other desktop environments.- History :- Look and feel :...

 in KDE Software Compilation
KDE Software Compilation
The KDE Software Compilation is a desktop environment and an associated range of KDE Applications produced by KDE. Prior to version 4.4, released in February 2010, the Software Compilation was known as KDE, which used to stand for K Desktop Environment until November 2009...

, Xfwm in Xfce
Xfce
Xfce is a free software desktop environment for Unix and other Unix-like platforms, such as Linux, Solaris, and BSD – though recent compatibility issues have arisen with regard to BSD Unix platforms...

, or Compiz
Compiz
Compiz is one of the first compositing window managers for the X Window System that uses 3D graphics hardware to create fast compositing desktop effects for window management. The effects, such as a minimization effect and a cube workspace are implemented as loadable plugins...

) or have radically different controls (such as a tiling window manager
Tiling window manager
In computing, a tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more popular approach of coordinate-based stacking of overlapping objects that tries to fully emulate the desktop metaphor.-Xerox PARC:Although the...

, like wmii
Wmii
wmii is a tiling window manager for X11. It supports classic and tiling window management with extended keyboard, mouse, and filesystem based remote control...

 or Ratpoison
Ratpoison
Ratpoison is a tiling window manager for the X Window System primarily developed by Shawn Betts. Its user interface and much of its functionality are inspired by the GNU Screen terminal multiplexer...

). Window managers range in sophistication and complexity from the bare-bones (e.g., twm
Twm
In computing, twm is the standard window manager for the X Window System, version X11R4 onwards...

, the basic window manager supplied with X, or evilwm, an extremely light window manager) to the more comprehensive desktop environments such as Enlightenment
Enlightenment (window manager)
Enlightenment, also known simply as E, is a stacking window manager for the X Window System which can be used alone or in conjunction with a desktop environment such as GNOME or KDE...

 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. GNOME, KDE Software Compilation and Xfce are the most popular desktop environments. The Unix standard
Single UNIX Specification
The Single UNIX Specification is the collective name of a family of standards for computer operating systems to qualify for the name "Unix"...

 environment is the Common Desktop Environment
Common Desktop Environment
The Common Desktop Environment is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit.- Corporate history :...

 (CDE). The freedesktop.org
Freedesktop.org
freedesktop.org is a project to work on interoperability and shared base technology for free software desktop environments for the X Window System on Linux and other Unix-like operating systems. It was founded by Havoc Pennington from Red Hat in March 2000.The organisation focuses on the user....

 initiative addresses interoperability between desktops and the components needed for a competitive X desktop.

As X is responsible for keyboard and mouse interaction with graphical desktops, certain keyboard shortcut
Keyboard shortcut
In computing, a keyboard shortcut is a finite set of one or more keys that invoke a software or operating system operation when triggered by the user. A meaning of term "keyboard shortcut" can vary depending on software manufacturer...

s have become associated with X. Control-Alt-Backspace typically terminates the currently running X session, while Control-Alt in conjunction with a function key
Function key
A function key is a key on a computer or terminal keyboard which can be programmed so as to cause an operating system command interpreter or application program to perform certain actions...

 switches to the associated virtual console. However, this detail is left to the design of an X server implementation and is not universal; for example, X server implementations for Windows and Macintosh typically do not provide these keyboard shortcuts.

Implementations

The X.Org implementation serves as the canonical
Canonical
Canonical is an adjective derived from canon. Canon comes from the greek word κανών kanon, "rule" or "measuring stick" , and is used in various meanings....

 implementation of X. Due to liberal licensing, a number of variations, both free and open source
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

 and proprietary
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

, have appeared. Commercial Unix vendors have tended to take the open source implementation and adapt it for their hardware, usually customizing it and adding proprietary extensions.
Up to 2004, 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 is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the...

 provided the most common X variant on free Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 systems. XFree86 started as a port
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...

 of X for 386
Intel 80386
The Intel 80386, also known as the i386, or just 386, was a 32-bit microprocessor introduced by Intel in 1985. The first versions had 275,000 transistors and were used as the central processing unit of many workstations and high-end personal computers of the time...

-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
X.Org Server
X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...

, 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. Hewlett-Packard
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...

's OpenVMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...

 operating system includes a version of X with Common Desktop Environment
Common Desktop Environment
The Common Desktop Environment is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit.- Corporate history :...

 (CDE), known as DECwindows, as its standard desktop environment. Apple's Mac OS X v10.3
Mac OS X v10.3
Mac OS X Panther is the fourth major release of Mac OS X, Apple’s desktop and server operating system. It followed Mac OS X v10.2 "Jaguar" and preceded Mac OS X Tiger...

 (Panther) and v10.4
Mac OS X v10.4
Mac OS X v10.4 Tiger is the fifth major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers. Tiger was released to the public on 29 April 2005 for US$129.95 as the successor to Mac OS X Panther , which had been released 18 months earlier...

 (Tiger) include X11.app
X11.app
XQuartz is Apple Inc.'s version of the X server, a component of the X Window System, for Mac OS X. The current version of XQuartz is a DDX included in the X.Org Server and implements support for hardware-accelerated 2D graphics , hardware OpenGL acceleration and integration with Aqua, the Mac OS...

, based on XFree86 4.3 and X11R6.6, with better Mac OS X integration. On Mac OS X v10.5
Mac OS X v10.5
Mac OS X Leopard is the sixth major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers. Leopard was released on 26 October 2007 as the successor of Tiger , and is available in two variants: a desktop version suitable for personal computers, and a...

 (Leopard), Apple included X.org (X11R7.2 codebase) instead of XFree86 (X11R6.8). Third-party servers under Mac OS 7, 8 and 9 included Apple's MacX
MacX
MacX is an X11 server implementation that ran on System 7, Mac OS 8, and Mac OS 9. It also ran under A/UX. Prior to X11R4 and the introduction of the PowerPC-based Power Macintosh, this server was developed internally by Apple Inc. for the Motorola 68000 based Macintoshes...

 and White Pine Software's eXodus
EXodus
eXodus is X server software that was originally developed by White Pine Software. White Pine founders began development in the fall of 1987, and released Version 1.0 in April 1989...

.

Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 is not shipped with support for X, but many third-party implementations exist, as free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

 such as Cygwin/X
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...

, Xming
Xming
Xming is an implementation of the X Window System for Microsoft Windows operating systems, including Windows XP, Windows Server 2003, Windows Vista and Windows 7.-Features:...

 (free up to 6.9.0.31) and WeirdX
WeirdX
WeirdX is a Java applet that talks with X Window System server, allowing cross platform GUI session from the web browser. It is written in pure Java and licensed under GNU GPL by JCraft. It is derived from WiredX-lite, a commercial branch of the software, and provides limited support of the...

; freeware
Freeware
Freeware is computer software that is available for use at no cost or for an optional fee, but usually with one or more restricted usage rights. Freeware is in contrast to commercial software, which is typically sold for profit, but might be distributed for a business or commercial purpose in the...

 such as Mocha X Server; and proprietary products such as Xmanager, Exceed, eXcursion (Hewlett-Packard), MKS X/Server
MKS X/Server
MKS X/Server is for a commercial X server product for accessing Unix/Linux systems from a PC, developed by MKS Inc.. The product offers both a full 32-bit X server and a native 64-bit X server that operates on various versions of Microsoft Windows.- History:Since 1995 MKS has distributed the...

, Reflection X, X-Win32
X-Win32
In computing, X-Win32 is a proprietary implementation of the X Window System for Microsoft Windows, produced by StarNet Communications. It is based on X11R7.4...

 and Xming
Xming
Xming is an implementation of the X Window System for Microsoft Windows operating systems, including Windows XP, Windows Server 2003, Windows Vista and Windows 7.-Features:...

 (current versions).

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
Thin client
A thin client is a computer or a computer program which depends heavily on some other computer to fulfill its traditional computational roles. This stands in contrast to the traditional fat client, a computer designed to take on these roles by itself...

 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
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....

) 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 terminal device such as a floppy disk, CDROM, or USB storage device. However, printing is usually supported as a shared network or serial connection near the terminal.

Dedicated (hardware) X terminals have become less common; a PC
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

 or modern thin client
Thin client
A thin client is a computer or a computer program which depends heavily on some other computer to fulfill its traditional computational roles. This stands in contrast to the traditional fat client, a computer designed to take on these roles by itself...

 with an X server typically provides the same functionality at the same, or lower, cost.

Limitations and criticism

The UNIX-HATERS Handbook
The UNIX-HATERS Handbook
The UNIX-HATERS Handbook is a semi-humorous edited compilation of messages to the UNIX-HATERS mailing list. The book was edited by Simson Garfinkel, Daniel Weise and Steven Strassmann and published in 1994....

(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
Inter-Client Communication Conventions Manual
In computing, the Inter-Client Communication Conventions Manual is a standard for interoperability between X Window System clients of the same X server. It is primarily used for communication between normal clients and the window manager. It was designed by David S. H. Rosenthal of the MIT X...

 (ICCCM), a specification for client interoperability, has a reputation as being difficult to implement correctly. Further standards efforts such as Motif
Motif (widget toolkit)
In computing, Motif refers to both a graphical user interface specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It emerged in the 1980s as Unix workstations were on the rise, as a...

 and CDE
Common Desktop Environment
The Common Desktop Environment is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit.- Corporate history :...

 did not alleviate problems. This has frustrated users and programmers. Graphics programmers now generally address consistency of application look and feel
Look and feel
In software design, look and feel is a term used in respect of a graphical user interface and comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces , as well as the behavior of dynamic elements such as buttons, boxes, and menus...

 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.

Computer accessibility related issues

Systems built upon the X windowing system may have accessibility
Computer accessibility
In human-computer interaction, computer accessibility refers to the accessibility of a computer system to all people, regardless of disability or severity of impairment...

 issues that make utilization of a computer difficult for disabled users, including right click, double click, middle click, mouseover
Mouseover
In computing a mouseover, mouse hover or hover box refers to a GUI event that is raised when the user moves or "hovers" the cursor over a particular area of the GUI. The technique is particularly common in web browsers where the URL of a hyperlink can be viewed in the status bar...

, and focus stealing
Focus stealing
In computing, focus stealing is a mode error produced when a program not in focus places a window in the foreground and redirects all keyboard input to that window...

. Some X11 clients deal with accessibility issues better than others, so those 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, so the known ongoing accessibility problems are probably going to persist into the future.

Network

An X client cannot generally be detached from one server and reattached to another unless its code specifically provides for it (emacs
Emacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...

 is one of the few common programs with this ability). By extension, moving an entire session from one X server to another is generally not possible. However, approaches like Virtual Network Computing
Virtual Network Computing
In computing, Virtual Network Computing is a graphical desktop sharing system that uses the RFB protocol to remotely control another computer...

 (VNC), NX
NX technology
NX technology is a computer program that handles remote X Window System connections, and attempts to greatly improve on the performance of the native X display protocol to the point that it can be usable over a slow link such as a dial-up modem...

 and Xpra
Xpra
xpra or X Persistent Remote Applications is a tool which allows you to run X programs usually on a remote host and then direct their display to your local machine without losing any state. It differs from standard X forwarding in that it allows disconnection and reconnection without disrupting the...

 allow a virtual session to be reached from different X servers (in a manner similar to GNU Screen
GNU Screen
GNU Screen is a software application that can be used to multiplex several virtual consoles, allowing a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session...

 in relation to terminals), and other applications and toolkits provide related facilities.
Workarounds like x11vnc
X11vnc
In computing, x11vnc is a Virtual Network Computing 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...

 (VNC :0 viewers) and NX (nxagent's shadow mode) also exist to make the current X-server screen available via VNC and NX respectively. 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. This can be important in some applications, such as process monitoring and control.

Network traffic between an X server and remote X clients is not encrypted by default. An attacker with a packet sniffer
Packet sniffer
A packet analyzer is a computer program or a piece of computer hardware that can intercept and log traffic passing over a digital network or part of a network...

 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
Secure Shell
Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...

 (SSH) tunnel for communication.

When using X across a network, bandwidth limitations can impede the use of bandwidth-intensive applications. Even a relatively small 640x480x24bit, 30fps video stream, if uncompressed, can easily outstrip the 100Mbit networking commonly in the consumer market in 2010, and is not itself a problem with X. However, early versions of X would suffer even when not using the local network for such applications, due to the network-centric protocol which would still utilize an internal network model within the computer, via localhost or unix sockets. In contrast, modern versions of X generally have extensions allowing local display of a local program's graphics to be optimized to bypass the network model, for performant 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
Round-trip delay time
In telecommunications, the round-trip delay time or round-trip time is the length of time it takes for a signal to be sent plus the length of time it takes for an acknowledgment of that signal to be received...

 between client and server (latency
Latency (engineering)
Latency is a measure of time delay experienced in a system, the precise definition of which depends on the system and the time being measured. Latencies may have different meaning in different contexts.-Packet-switched networks:...

) 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
Unix domain socket
A Unix domain socket or IPC socket is a data communications endpoint for exchanging data between processes executing within the same host operating system. While similar in functionality to...

s for efficient connections on the same host. Additionally shared memory
Shared memory
In computing, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Depending on context, programs may run on a single processor or on multiple separate processors...

 (via the MIT-SHM
MIT-SHM
The MIT Shared Memory Extension or MIT-SHM is a X Window System extension for exchange of image data between client and server using shared memory.The basic capability provided is that of shared memory XImages...

 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
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

's NeWS
NeWS
NeWS was a windowing system developed by Sun Microsystems in the mid 1980s. Originally known as "SunDew", its primary authors were James Gosling and David S. H. Rosenthal...

, which failed in the market, and NeXT
NeXT
Next, Inc. was an American computer company headquartered in Redwood City, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets...

's Display PostScript
Display PostScript
Display PostScript is an on-screen display system. As the name implies, DPS uses the PostScript imaging model and language to generate on-screen graphics...

, both PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...

-based systems supporting user-definable display-side procedures, which X lacked. Mac OS X, iOS, and Android are the main Unix-like systems not using X for graphics.

When Apple Inc. bought NeXT, and used NeXTSTEP
NEXTSTEP
NeXTSTEP was the object-oriented, multitasking operating system developed by NeXT Computer to run on its range of proprietary workstation computers, such as the NeXTcube...

 to construct Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, they replaced Display PostScript with Quartz
Quartz (graphics layer)
Quartz specifically refers to a pair of Mac OS X technologies, each part of the Core Graphics framework: Quartz 2D and Quartz Compositor. It includes both a 2D renderer in Core Graphics and the composition engine that sends instructions to the graphics card...

. Mike Paquette, one of the authors of Quartz, explained why Apple did not move from Display PostScript to X, and chose instead to develop its own window server, by saying that once Apple 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.

Wayland display server, hosted by freedesktop.org
Freedesktop.org
freedesktop.org is a project to work on interoperability and shared base technology for free software desktop environments for the X Window System on Linux and other Unix-like operating systems. It was founded by Havoc Pennington from Red Hat in March 2000.The organisation focuses on the user....

 and developed by several X.Org developers, both addresses criticisms of X by replacing it completely and works directly with the hardware via DRI. It is planned for Wayland to eventually replace X in Ubuntu
Ubuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...

 and Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...

, the two most popular Linux distributions. Wayland handles backward compatibility with X by optionally running an X.org server as a client, which can be rootless (having one Wayland window per X client).

Other attempts to address criticisms of X by replacing it completely include Berlin/Fresco
Fresco (computing)
In computing, Fresco was a windowing system intended as a replacement for the X Window System. It was free software, licensed under the terms of the GNU Lesser General Public License ....

 and the Y Window System
Y Window System
The Y Window System is a windowing system, consisting of a window server and a client library for writing applications. It was written by Mark Thomas as the subject of his Master's thesis at Imperial College, London. It is intended to be a successor to the X Window System, hence the name...

. These alternatives have seen negligible take-up and have been abandoned by their developers; commentators widely doubt the viability of any replacement that does not preserve backward compatibility with X.

Other competitors attempt to avoid the overhead of X by working directly with the hardware. Such projects include DirectFB
DirectFB
DirectFB stands for Direct Frame Buffer. It is a software library for GNU/Linux/Unix-based operating systems 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...

. The Direct Rendering Infrastructure
Direct Rendering Infrastructure
In computing, the Direct Rendering Infrastructure is an interface and a free software implementation used in the X Window System to securely allow user applications to access the video hardware without requiring data to be passed through the X server. Its primary application is to provide...

 (DRI), which aims to provide a reliable kernel-level interface to the framebuffer
Framebuffer
A framebuffer is a video output device that drives a video display from a memory buffer containing a complete frame of data.The information in the memory buffer typically consists of color values for every pixel on the screen...

, may make these efforts redundant.

Other ways to achieve network transparency for graphical services include:
  • the SVG Terminal, a protocol to update Scalable Vector Graphics
    Scalable Vector Graphics
    Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...

     (SVG) content in a browser in near-real-time
  • Virtual Network Computing
    Virtual Network Computing
    In computing, Virtual Network Computing is a graphical desktop sharing system that uses the RFB protocol to remotely control another computer...

     (VNC), a very low-level system which sends compressed bitmaps across the network; the Unix implementation includes an X server
  • Citrix XenApp, an X-like product for Microsoft Windows
  • Tarantella
    Tarantella, Inc.
    Santa Cruz Operation was a software company based in Santa Cruz, California which was best known for selling three Unix variants for Intel x86 processors: Xenix, SCO UNIX , and UnixWare. Eric Raymond, in his book The Art of Unix Programming, calls SCO the "first Unix company"...

    , which provides a Java client for use in web browsers
  • RAWT, IBM's Java-only Remote AWT, which implements a Java "server" and simple hooks for any remote Java client.


MicroXwin
MicroXwin
MicroXwin is a windowing system similar to the X Window System . By a different architecture, it provides a faster graphical user interface backend than the original X Window System, while still preserving the compatibility with standard X11 applications...

 is not a full-fledged replacement for X but maintains binary compatibility with standard X clients while providing better performance and significantly lower memory overhead by a different architecture of design that directly implements the system as a kernel module. The kernel module is proprietary while the user space libraries, libX11 (counterpart of Xlib
Xlib
Xlib 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 details of the protocol...

) and libXext, are available under BSD
BSD licenses
BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named....

 style license.

Predecessors

Several bitmap display systems preceded X. From Xerox
Xerox
Xerox Corporation is an American multinational document management corporation that produced and sells a range of color and black-and-white printers, multifunction systems, photo copiers, digital production printing presses, and related consulting services and supplies...

 came the Alto
Xerox Alto
The Xerox Alto was one of the first computers designed for individual use , making it arguably what is now called a personal computer. It was developed at Xerox PARC in 1973...

 (1973) and the Star
Xerox Star
The Star workstation, officially known as the Xerox 8010 Information System, was introduced by Xerox Corporation in 1981. It was the first commercial system to incorporate various technologies that today have become commonplace in personal computers, including a bitmapped display, a window-based...

 (1981). From Apollo Computer
Apollo Computer
Apollo Computer, Inc., founded 1980 in Chelmsford, Massachusetts by William Poduska and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo was one of the first vendors of graphical workstations in the 1980s...

 came Display Manager (1981). From Apple came the Lisa
Apple Lisa
The Apple Lisa—also known as the Lisa—is a :personal computer designed by Apple Computer, Inc. during the early 1980s....

 (1983) and the Macintosh
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...

 (1984). The Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 world had the Andrew Project
Andrew Project
The Andrew Project was a distributed computing environment developed at Carnegie Mellon University beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infrastructure....

 (1982) and Rob Pike's Blit
Blit (computer terminal)
In computing, the Blit was a programmable bitmap graphics terminal designed by Rob Pike and Bart Locanthi Jr. of Bell Labs in 1982.When initially switched on, the Blit looked like an ordinary textual terminal, although taller than usual: Similar to the VT100 it had an addressable cursor and...

 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
W Window System
The W window system is a windowing system and precursor in name and concept to the modern X window system.W was originally developed at Stanford University by Paul Asente and Brian Reid for the V operating system...

 (the letter preceding X in the English alphabet
English alphabet
The modern English alphabet is a Latin alphabet consisting of 26 letters and 2 ligatures – the same letters that are found in the Basic modern Latin alphabet:...

). W ran under the V operating system
V (operating system)
The V operating system is a microkernel operating system that was developed by faculty and students in the distributed systems group at Stanford University from 1981 to 1988, led by Professors David Cheriton and Keith A. Lantz...

. W used a network protocol supporting terminal and graphics windows, the server maintaining display lists.

Introduction

X was introduced to the MIT Project Athena
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, eight years after it began...

 community in the following email in June 1984:


From: rws@mit-bold (Robert W. Scheifler)
To: window@athena
Subject: window system X
Date: 19 Jun 1984 0907-EDT (Tuesday)

I've spent the last couple weeks writing a window
system for the VS100. I stole a fair amount of code
from W, surrounded it with an asynchronous rather
than a synchronous interface, and called it X. Overall
performance appears to be about twice that of W. The
code seems fairly solid at this point, although there are
still some deficiencies to be fixed up.

We at LCS have stopped using W, and are now
actively building applications on X. Anyone else using
W should seriously consider switching. This is not the
ultimate window system, but I believe it is a good
starting point for experimentation. Right at the moment
there is a CLU (and an Argus) interface to X; a C
interface is in the works. The three existing
applications are a text editor (TED), an Argus I/O
interface, and a primitive window manager. There is
no documentation yet; anyone crazy enough to
volunteer? I may get around to it eventually.

Anyone interested in seeing a demo can drop by
NE43-531, although you may want to call 3-1945
first. Anyone who wants the code can come by with a
tape. Anyone interested in hacking deficiencies, feel
free to get in touch.

Origin and early development

The original idea of X emerged at MIT in 1984 as a collaboration between Jim Gettys
Jim Gettys
Jim Gettys is an American computer programmer at Alcatel-Lucent Bell Labs, USA. Until January 2009, he was the Vice President of Software at the One Laptop per Child project, working on the software for the OLPC XO-1. He is one of the original developers of the X Window System at MIT and worked on...

 (of Project Athena
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, eight years after it began...

) and Bob Scheifler
Bob Scheifler
Robert William Scheifler is an American computer scientist. He is most notable for leading the development of the X Window System from the project's inception in 1984 until the closure of the MIT X Consortium in 1996...

 (of the MIT Laboratory for Computer Science). Scheifler needed a usable display environment for debugging the Argus system. Project Athena
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, eight years after it began...

 (a joint project between Digital Equipment Corporation
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...

 (DEC), MIT and IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 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
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....

's Andrew Project
Andrew Project
The Andrew Project was a distributed computing environment developed at Carnegie Mellon University beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infrastructure....

 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 (computer science)
In computer science, synchronization refers to one of two distinct but related concepts: synchronization of processes, and synchronization of data. Process synchronization refers to the idea that multiple processes are to join up or handshake at a certain point, so as to reach an agreement or...

 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
Ron Newman (computer programmer)
Ron Newman is a computer programmer. He is most famous for his work in the early development of the X Window System, from the first version in 1984 to X11R2 in 1988....

 set to work and X progressed rapidly. They released Version 6 in January 1985. DEC, then preparing to release its first Ultrix
Ultrix
Ultrix was the brand name of Digital Equipment Corporation's native Unix systems. While ultrix is the Latin word for avenger, the name was chosen solely for its sound.-History:...

 workstation, judged X the only windowing system likely to become available in time. DEC engineers ported X6 to DEC's QVSS display on MicroVAX
MicroVAX
The MicroVAX was a family of low-end minicomputers developed and manufactured by Digital Equipment Corporation . The first model, the MicroVAX I, was introduced in 1984...

.

In the second quarter of 1985, X acquired color
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 is shipped with every X11 installation, hence the name, and is usually located in <X11root>/lib/X11/rgb.txt.It is not known who originally compiled...

 support to function in the DEC VAXstation
VAXstation
The VAXstation was a family of workstation computers developed and manufactured by Digital Equipment Corporation using processors implementing the VAX instruction set architecture .- VAXstation I :...

-II/GPX, forming what became version 9.

A group at Brown University
Brown University
Brown University is a private, Ivy League university located in Providence, Rhode Island, United States. Founded in 1764 prior to American independence from the British Empire as the College in the English Colony of Rhode Island and Providence Plantations early in the reign of King George III ,...

 ported version 9 to the IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 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 began 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
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

, 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
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...

 releasing products based on it. Other groups ported X10 to Apollo
Apollo Computer
Apollo Computer, Inc., founded 1980 in Chelmsford, Massachusetts by William Poduska and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo was one of the first vendors of graphical workstations in the 1980s...

 and to Sun
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

 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 displayed on PCs running an X server) 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
In computing, Virtual Network Computing is a graphical desktop sharing system that uses the RFB protocol to remotely control another computer...

 (VNC) would later allow a desktop to be shared. One such early effort was Philip J. Gust's SharedX
SharedX
SharedX is a set of extensions to the X Window System that was developed at 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 standard applications to collaborate in real-time in an X Window...

 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 September 15, 1987.

The X11 protocol design, led by Scheifler, was extensively discussed on open mailing lists on the nascent Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

 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
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

 projects.

The MIT X Consortium and the X Consortium, Inc.

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
Keith Packard 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...

 in March 1988 as senior developers, with Jim focusing on Xlib
Xlib
Xlib 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 details of the protocol...

, fonts
Computer font
A computer font is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats. Although the term font first referred to a set of metal type sorts in one style and size, since the 1990s it is generally used to refer to a scalable set of digital shapes that may be...

, 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
PHIGS
PHIGS is an API standard for rendering 3D computer graphics, at one time considered to be the 3D graphics standard for the 1990s. Instead a combination of features and power led to the rise of OpenGL, which became the most popular professional 3D API of the 1990s...

 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.
In 1993, the X Consortium, Inc. (a non-profit corporation) formed as the successor to the MIT X Consortium. It released X11R6 on May 16, 1994. In 1995 it took on the development of the Motif
Motif (widget toolkit)
In computing, Motif refers to both a graphical user interface specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It emerged in the 1980s as Unix workstations were on the rise, as a...

 toolkit and of the Common Desktop Environment
Common Desktop Environment
The Common Desktop Environment is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit.- Corporate history :...

 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
The Open Group is a vendor and technology-neutral industry consortium, currently with over three hundred member organizations. It was formed in 1996 when X/Open merged with the Open Software Foundation...

, a vendor group formed in early 1996 by the merger of the Open Software Foundation
Open Software Foundation
The Open Software Foundation was a not-for-profit organization founded in 1988 under the U.S. National Cooperative Research Act of 1984 to create an open standard for an implementation of the UNIX operating system.-History:...

 and X/Open
X/Open
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 information technology. More specifically, the original aim was to define a single specification for operating systems derived from UNIX, to...

.

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. The new terms would have prevented its adoption by many projects (such as 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 is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the...

) and even by some commercial vendors. After XFree86 seemed poised to fork, 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
XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the...

 originated in 1992 from the X386
X386
X386 was the first 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 was created by Thomas Roell while at...

 server for IBM PC compatible
IBM PC compatible
IBM PC compatible computers are those generally similar to the original IBM PC, XT, and AT. Such computers used to be referred to as PC clones, or IBM clones since they almost exactly duplicated all the significant features of the PC architecture, facilitated by various manufacturers' ability to...

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
X.Org refers to several things related to the X Window System:* X.Org, the organisation in charge of X standards from 1999 * The X.Org Foundation, a community-based foundation which took over X stewardship in 2004...

. 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
The Cathedral and the Bazaar
The Cathedral and the Bazaar is an essay by Eric S. Raymond on software engineering methods, based on his observations of the Linux kernel development process and his experiences managing an open source project, fetchmail. It examines the struggle between top-down and bottom-up design...

-like development model; developers could not get CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

 commit access and vendors had to maintain extensive patch
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

 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's advertising clause, which was viewed by the Free Software Foundation
Free Software Foundation
The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software...

 and Debian
Debian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...

 as incompatible with the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

. Other groups saw it as against the spirit of the original X. Theo de Raadt
Theo de Raadt
Theo de Raadt , born May 19, 1968 in Pretoria, South Africa, is a software engineer who lives in Calgary, Alberta, Canada. He is the founder and leader of the OpenBSD and OpenSSH projects, and was a founding member of the NetBSD project.- Childhood :...

 of OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...

, for instance, threatened to fork 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
X.Org Foundation
The X.Org Foundation is the organization holding the stewardship for the development of the X Window System. It was founded on 22 January 2004....

, and the Open Group gave it control of the x.org domain name
Domain name
A domain name is an identification string that defines a realm of administrative autonomy, authority, or control in the Internet. Domain names are formed by the rules and procedures of the Domain Name System ....

. 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
The Cathedral and the Bazaar
The Cathedral and the Bazaar is an essay by Eric S. Raymond on software engineering methods, based on his observations of the Linux kernel development process and his experiences managing an open source project, fetchmail. It examines the struggle between top-down and bottom-up design...

 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
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...

 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
The GNOME Foundation is a non-profit organization based in Cambridge, Massachusetts, United States, coordinating the efforts in the GNOME project.-Purpose:...

. The Foundation employs no developers.

The Foundation released X11R6.7, the X.Org Server
X.Org Server
X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...

, 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.

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
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....

 and the Croquet project
Croquet Project
The Croquet Project was an international effort to promote the continued development of the Croquet open source software development kit for creating and delivering deeply collaborative multi-user online applications....

. External applications called compositing window manager
Compositing window manager
A compositing window manager is a type of window manager. A window manager is software that draws a graphical user interface on a computer display – it positions windows, draws additional elements on windows , and controls how windows interact with each other, and with the rest of the desktop...

s
provide policy for the visual appearance.

On December 21, 2005, X.Org released X11R6.9, the monolithic source
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 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 May 22, 2006, about four months after 7.0, with considerable feature improvements.

On the other side, XFree86 is still being developed at a very slow pace, and version 4.8.0 was released on 15 December 2008.

Future directions

The X.Org Foundation and freedesktop.org managed the main line of X development and they intend to provide more access to ubiquitous 3D hardware features. For sufficiently capable combinations of hardware and operating systems, X.Org plans to access the video hardware only via the Direct Rendering Infrastructure
Direct Rendering Infrastructure
In computing, the Direct Rendering Infrastructure is an interface and a free software implementation used in the X Window System to securely allow user applications to access the video hardware without requiring data to be passed through the X server. Its primary application is to provide...

 (DRI), using the 3D hardware. The DRI first appeared in XFree86 version 4.0 and became standard in X11R6.7 and later and this work is ongoing.

Nomenclature

People in the computer trade commonly shorten the phrase "X Window System" to "X Window", "X11" (for version 11, used since 1987) or simply to "X". The term "X-Windows" (in the manner of "Microsoft Windows") is not officially endorsed, though it has been in common use since early in the history of X and has been used deliberately for provocative effect, for example in the UNIX-HATERS Handbook.

Release history

Version Release date Most important changes
X1 June 1984 First use of the name "X"; fundamental changes distinguishing the product from W
W Window System
The W window system is a windowing system and precursor in name and concept to the modern X window system.W was originally developed at Stanford University by Paul Asente and Brian Reid for the V operating system...

.
X6 January 1985 First version licensed to a handful of outside companies.
X9 September 1985 Color. First release under MIT License
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

.
X10 late 1985 IBM RT/PC, AT (running DOS
DOS
DOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...

), and others
X10R2 January 1986
X10R3 February 1986 First freely redistributable X release. Earlier releases required a BSD source license to cover code changes to init/getty to support login. uwm
Ultrix Window Manager
The Ultrix Window Manager was the standard window manager for the X Window System from X11R1 through X11R3 releases. In fact, it was the only X11-compatible window manager as of X11R1.- History :...

 made standard window manager.
X10R4 December 1986 Last version of X10.
X11 September 15, 1987 First release of the current protocol.
X11R2 February 1988 First X Consortium release.
X11R3 October 25, 1988 XDM
X11R4 December 22, 1989 XDMCP, twm
Twm
In computing, twm is the standard window manager for the X Window System, version X11R4 onwards...

 brought in as standard window manager, application improvements, Shape extension
Shape extension
In the X Window System, the X Nonrectangular Window Shape Extension allows windows to be given arbitrary, non-rectangular shapes.Two well-known applets that use the shape extension are oclock, which is a simple round analog clock, and xeyes, which shows two googly eyes that follow the cursor on the...

, new fonts.
X11R5 September 5, 1991 PEX
PHIGS
PHIGS is an API standard for rendering 3D computer graphics, at one time considered to be the 3D graphics standard for the 1990s. Instead a combination of features and power led to the rise of OpenGL, which became the most popular professional 3D API of the 1990s...

, Xcms (color management
Color management
In digital imaging systems, color management is the controlled conversion between the color representations of various devices, such as image scanners, digital cameras, monitors, TV screens, film printers, computer printers, offset presses, and corresponding media.The primary goal of color...

), font server
X Font Server
The X font server provides a standard mechanism for an X server to communicate with a font renderer, frequently one running on a remote machine. It usually runs on TCP port 7100.- Current status :...

, X386
XFree86
XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the...

, X video extension
X video extension
The X video extension, often abbreviated as XVideo or Xv, is a video output mechanism for the X Window System. The protocol was designed by David Carver; the specification for version 2 of the protocol was written in July 1991. Its main use today is to rescale video playback in the video controller...

X11R6 May 16, 1994 ICCCM v2.0; Inter-Client Exchange; X Session Management; X Synchronization extension; X Image extension
X Image Extension
X Image Extension, or XIE was an extension to the X Window System to enhance its graphics capability. It was intended to provide a powerful mechanism for the transfer and display of virtually any image on any X-capable hardware. It was first released with X11R6 in 1994...

; XTEST extension; X Input; X Big Requests; XC-MISC; XFree86 changes.
X11R6.1 March 14, 1996 X Double Buffer extension; X keyboard extension
X keyboard extension
In human-computer interfaces, the X keyboard extension or XKB is a part of the X Window System that extends the ability to control the keyboard over what is offered by the X Window System core protocol...

; X Record extension.
X11R6.2
X11R6.3 (Broadway)
December 23, 1996 Web functionality, LBX
Low Bandwidth X
In computing, LBX, or Low Bandwidth X, was a protocol to use the X Window System over network links with low bandwidth and high latency. It was introduced in X11R6.3 in 1996, but never achieved wide use...

. Last X Consortium release. X11R6.2 is the tag for a subset of X11R6.3 with the only new features over R6.1 being XPrint and the Xlib implementation of vertical writing and user-defined character support.
X11R6.4 March 31, 1998 Xinerama
Xinerama
Xinerama is an extension to the X Window System which enables multi-headed X applications and window managers to use two or more physical displays as one large virtual display.It was originally developed by Madeline T...

.
X11R6.5 Internal X.org release; not made publicly available.
X11R6.5.1 August 20, 2000
X11R6.6 April 4, 2001 Bug fixes, XFree86 changes.
X11R6.7.0 April 6, 2004 First X.Org Foundation release, incorporating XFree86 4.4rc2. Full end-user distribution. Removal of XIE
X Image Extension
X Image Extension, or XIE was an extension to the X Window System to enhance its graphics capability. It was intended to provide a powerful mechanism for the transfer and display of virtually any image on any X-capable hardware. It was first released with X11R6 in 1994...

, PEX
PHIGS
PHIGS is an API standard for rendering 3D computer graphics, at one time considered to be the 3D graphics standard for the 1990s. Instead a combination of features and power led to the rise of OpenGL, which became the most popular professional 3D API of the 1990s...

 and libxml2.
X11R6.8.0 September 8, 2004 Window translucency, XDamage, Distributed Multihead X, XFixes
XFixes
In computing, XFixes is an X Window System extension which makes useful additions to the X11 protocol. It was started in 2003 by Keith Packard. It first appeared in the KDrive X server and later in X.Org Server version 6.8.0....

, Composite.XEvIE
X11R6.8.1 September 17, 2004 Security fix in libxpm
XPM (image format)
X Pixmap is an image file format used by the X Window System, created in 1989 by Daniel Dardailler and Colas Nahaboo working at Bull Research Center at Sophia Antipolis, France, and later enhanced by Arnaud Le Hors....

.
X11R6.8.2 February 10, 2005 Bug fixes, driver updates.
X11R6.9
X11R7.0
December 21, 2005 EXA
EXA
In computing, EXA is a graphics acceleration architecture of the X.Org Server designed to replace XAA and to make the XRender extension more usable, with only minor changes needed to adapt XFree86 video drivers written to use XAA; it was designed by Zack Rusin and announced at LinuxTag 2005 and...

, major source code refactoring. From the same source-code base, the modular autotooled
GNU build system
The GNU build system, also known as the Autotools, is a suite of programming tools designed to assist in making source-code packages portable to many Unix-like systems....

 version became 7.0 and the monolithic imake
Imake
imake is a build automation system implemented on top of the C preprocessor.imake generates makefiles from a template, a set of cpp macro functions, and a per-directory input file called an Imakefile...

 version was frozen at 6.9.
X11R7.1 May 22, 2006 EXA enhancements, KDrive
KDrive
KDrive is a small X Window System server implementation created by Keith Packard. Unlike the X.Org Server, KDrive was not based on XFree86 code...

 integrated, AIGLX
AIGLX
Accelerated Indirect GLX is an open source project founded by Red Hat and the Fedora community, led by Kristian Høgsberg, to allow accelerated indirect GLX rendering capabilities to the X.Org Server and DRI drivers...

, OS and platform support enhancements.
X11R7.2 February 15, 2007 Removal of LBX and the built-in keyboard driver, X-ACE, XCB
XCB
In computing, XCB is a C language binding for the X Window System. It is implemented as free software and aims to replace Xlib. The project was started in 2001 by Bart Massey....

, autoconfig improvements, cleanups.
X11R7.3 September 6, 2007 XServer 1.4
X.Org Server
X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...

, Input hotplug, output hotplug (RandR
RandR
The X Resize, Rotate and Reflect Extension is a X Window System extension, which allows clients to dynamically change X screens, so as to resize, rotate and reflect the root window of a screen. The initial X11 design did not anticipate the need for dynamic resizing and it was necessary to restart...

 1.2), DTrace
DTrace
DTrace is a comprehensive dynamic tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time...

 probes, PCI
Peripheral Component Interconnect
Conventional PCI is a computer bus for attaching hardware devices in a computer...

 domain support.
X11R7.4 September 23, 2008 XServer 1.5.1
X.Org Server
X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...

, XACE, PCI-rework, EXA speed-ups, _X_EXPORT, GLX
GLX
GLX provides the interface connecting OpenGL and the X Window System: it enables programs wishing to use OpenGL to do so within a window provided by the X Window System.-History:...

 1.4, faster startup and shutdown.
X11R7.5 October 26, 2009 XServer 1.7
X.Org Server
X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...

, Xi 2, XGE, E-EDID support, RandR
RandR
The X Resize, Rotate and Reflect Extension is a X Window System extension, which allows clients to dynamically change X screens, so as to resize, rotate and reflect the root window of a screen. The initial X11 design did not anticipate the need for dynamic resizing and it was necessary to restart...

 1.3, MPX, predictable pointer acceleration, DRI2
Direct Rendering Infrastructure
In computing, the Direct Rendering Infrastructure is an interface and a free software implementation used in the X Window System to securely allow user applications to access the video hardware without requiring data to be passed through the X server. Its primary application is to provide...

 memory manager, SELinux security module, further removal of obsolete libraries and extensions.
X11R7.6 December 20, 2010 X Server 1.9, XCB
XCB
In computing, XCB is a C language binding for the X Window System. It is implemented as free software and aims to replace Xlib. The project was started in 2001 by Bart Massey....

 requirement.

Forthcoming releases

Version Release date Most important planned changes
X11R7.7 2011 Xorg server 1.10 changes; RandR extension 1.4; Sync extension 1.3.
X11R7.8 2012 Xi 3; XKB
X keyboard extension
In human-computer interfaces, the X keyboard extension or XKB is a part of the X Window System that extends the ability to control the keyboard over what is offered by the X Window System core protocol...

 2.

See also

  • History of the graphical user interface
    History of the graphical user interface
    The graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, has a four decade history of incremental refinements built on some constant core principles...

  • X11 color names
    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 is shipped with every X11 installation, hence the name, and is usually located in <X11root>/lib/X11/rgb.txt.It is not known who originally compiled...

  • Xgl
    Xgl
    Xgl was an X server architecture designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL via glitz. It supported hardware acceleration of all X, OpenGL and XVideo applications and graphical effects by a compositing window manager such as Compiz or...

  • General Graphics Interface
    General Graphics Interface
    General Graphics Interface is a project that aims to develop a reliable, stable and fast computer graphics system that works everywhere...

  • VirtualGL
    VirtualGL
    VirtualGL is an open source program which redirects the 3D rendering commands from Unix and Linux OpenGL applications to 3D accelerator hardware in a dedicated server and displays the rendered output interactively to a thin client located elsewhere on the network.- The problem :Normally, VNC and...

  • rio - the windowing system for Plan 9
    Plan 9 from Bell Labs
    Plan 9 from Bell Labs is a distributed operating system. It was developed primarily for research purposes as the successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002...

  • List of Unix programs
  • DESQview/X
  • Cairo (graphics)
    Cairo (graphics)
    cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK