The
X window system is a
computer softwareComputer 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 interfaceIn 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 computersA 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 independenceDevice 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 TechnologyThe 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 FoundationThe 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 ServerX.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 softwareFree 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 LicenseThe 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-sharingTime-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
terminalA 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
UnixUnix 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...
,
LinuxLinux 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 XMac 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 computerA 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
windowingA 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 displaysAn 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
keyboardIn 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 deviceA pointing device is an input interface that allows a user to input spatial data to a computer...
control functions and
touchscreenA 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
toolkitIn 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 stackThe 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-likeA 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
OpenVMSOpenVMS , 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
portedIn 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 systemAn 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
frameworkIn 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
windowsIn 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 interfaceThe 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 managerA 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 layerAn 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 transparencyNetwork 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
GLXGLX 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:...
,
OpenGLOpenGL 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 networkNetwork 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
PulseAudioPulseAudio 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 SystemThe 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 KitJACK 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
NeWSNeWS 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 managerIn 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
sessionsIn 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 managerIn 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
xinitThe 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
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 protocolA 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
networkA 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
architecturesIn 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 systemAn 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
securelyComputer 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
InternetThe Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
by
tunnelingComputer 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
XnestXnest 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
XephyrIn 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
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 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. TelnetTelnet 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 ScheiflerRobert 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 GettysJim 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, 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 interfaceThe 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
buttonIn 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...
,
menuIn 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 barIn 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 managerA 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 toolkitIn 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 environmentIn 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 WindowsMicrosoft 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
MacintoshThe 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
MetacityMetacity 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
GNOMEGNOME 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...
,
KWinKWin 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 CompilationThe 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
XfceXfce 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
CompizCompiz 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 managerIn 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
wmiiwmii is a tiling window manager for X11. It supports classic and tiling window management with extended keyboard, mouse, and filesystem based remote control...
or
RatpoisonRatpoison 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.,
twmIn 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
EnlightenmentEnlightenment, 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 standardThe 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 EnvironmentThe Common Desktop Environment is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit.- Corporate history :...
(CDE). The
freedesktop.orgfreedesktop.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 shortcutIn 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 keyA 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
canonicalCanonical 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 sourceFree 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
proprietaryProprietary 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,
XFree86XFree86 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-likeA 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
portIn 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
386The 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 ServerX.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-PackardHewlett-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
OpenVMSOpenVMS , 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 EnvironmentThe 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.3Mac 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.4Mac 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.appXQuartz 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.5Mac 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
MacXMacX 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
eXoduseXodus 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 WindowsMicrosoft 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 softwareFree 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/XCygwin/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...
,
XmingXming 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
WeirdXWeirdX 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...
;
freewareFreeware 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/ServerMKS 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-Win32In 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
XmingXming 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 clientA 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 domainA 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
PCA 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 clientA 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 HandbookThe 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 ManualIn 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
MotifIn 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
CDEThe 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 feelIn 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
accessibilityIn 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,
mouseoverIn 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 stealingIn 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 (
emacsEmacs 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 ComputingIn computing, Virtual Network Computing is a graphical desktop sharing system that uses the RFB protocol to remotely control another computer...
(VNC),
NXNX 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
Xpraxpra 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 ScreenGNU 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
x11vncIn 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 snifferA 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 ShellSecure 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 timeIn 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 (
latencyLatency 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 socketA 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 memoryIn 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-SHMThe 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
SunSun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
's
NeWSNeWS 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
NeXTNext, 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 PostScriptDisplay 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
PostScriptPostScript 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
NeXTSTEPNeXTSTEP 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 XMac 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
QuartzQuartz 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.orgfreedesktop.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
UbuntuUbuntu 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
FedoraFedora 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/
FrescoIn 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 SystemThe 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
DirectFBDirectFB 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 InfrastructureIn 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
framebufferA 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 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
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
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.
MicroXwinMicroXwin 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
XlibXlib 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
BSDBSD 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
XeroxXerox 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
AltoThe 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
StarThe 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 ComputerApollo 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
LisaThe Apple Lisa—also known as the Lisa—is a :personal computer designed by Apple Computer, Inc. during the early 1980s....
(1983) and the
MacintoshThe 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
UnixUnix 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 ProjectThe 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
BlitIn 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
WThe 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 alphabetThe 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 systemThe 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 AthenaProject 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 GettysJim 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 AthenaProject 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 ScheiflerRobert 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 AthenaProject 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 CorporationDigital 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
IBMInternational 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 UniversityCarnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....
's
Andrew ProjectThe 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
synchronousIn 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 NewmanRon 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
UltrixUltrix 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
MicroVAXThe 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
colorIn 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
VAXstationThe 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 UniversityBrown 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
IBMInternational 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 LicenseThe 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-PackardHewlett-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
ApolloApollo 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
SunSun 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 ComputingIn 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
SharedXSharedX 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
InternetThe 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 softwareFree 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 PackardKeith 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
XlibXlib 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...
,
fontsA 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
PEXPHIGS 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
MotifIn 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 EnvironmentThe 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 GroupThe 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 FoundationThe 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/OpenX/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
XFree86XFree86 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
XFree86XFree86 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
X386X386 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 compatibleIBM 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.OrgX.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
cathedralThe 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
CVSThe 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
patchA 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 FoundationThe 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
DebianDebian 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 LicenseThe 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 RaadtTheo 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
OpenBSDOpenBSD 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 FoundationThe 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 nameA 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
bazaarThe 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-PackardHewlett-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 FoundationThe 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 ServerX.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 GlassProject 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 projectThe 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 managerA 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
sourceIn 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 InfrastructureIn 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 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 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, 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 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 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 extensionIn 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 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 managementIn 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 serverThe 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 :... , X386XFree86 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 extensionThe 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, 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 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 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 |
XineramaXinerama 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, 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... , PEXPHIGS 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 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 libxpmX 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 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 autotooledThe 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 imakeimake 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 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, AIGLXAccelerated 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 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.4X.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 (RandRThe 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), DTraceDTrace is a comprehensive dynamic tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time... probes, PCIConventional PCI is a computer bus for attaching hardware devices in a computer... domain support. |
| X11R7.4 |
September 23, 2008 |
XServer 1.5.1X.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, GLXGLX 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.7X.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, RandRThe 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, DRI2In 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 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 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
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
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 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 is a project that aims to develop a reliable, stable and fast computer graphics system that works everywhere...
- 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 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 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