XStandards

Specifications of the X Window System. Documents can have bugs as well as code.

Select a component to see open bugs in that component.

Component Default Assignee Default QA Contact
BDF Paul Anderson Xorg Project Team
The bitmap distribution format for fonts. This is primarily of historical interest.
BigReq Paul Anderson Xorg Project Team
This extension enables the use of protocol requests that exceed 262140 bytes in length. It is standard and universally deployed.
DBE Paul Anderson Xorg Project Team
The Double Buffer Extension (DBE) provides a standard way to utilize double-buffering within the framework of the X Window System. It is standard and deployed.
FontService Paul Anderson Xorg Project Team
This specifies a font service protcol for the "core" fonts in X. Note that client side fonts make this more and more of historical note. It is a standard.
ICCCM Paul Anderson Xorg Project Team
Inter-Client Communication Conventions Manual It was an explicit design goal of X Version 11 to specify mechanism, not policy.

As a result, a client that converses with the server using the protocol defined by the X Window System Protocol,Version 11 may operate correctly in isolation but may not coexist properly with others sharing the same server.

Being a good citizen in the X Version 11 world involves adhering to conventions that govern inter-client communications in the following areas:

Selection mechanism
Cut buffers
Window manager
Session manager
Manipulation of shared resources
Device color characterization

See also related documents being developed on freedesktop.org that go beyond the ICCCM. These are found at: http://www.freedesktop.org/Standards/Home and are candidates for more formal ratification as they stabilize. Note that many of them are already widely deployed by KDE and Gnome.

ICE Paul Anderson Xorg Project Team
There are numerous possible protocols that can be used for communication among clients. They have many similarities and common needs, including authentication, version negotiation, data typing, and connection management. This is an X standard.
KeySyms Paul Anderson Xorg Project Team
KEYSYM Encoding Keyboard symbols are encoded in X using keysyms. This specifies the encoding of such keysyms.
LBX Keith Packard Xorg Project Team
The Low Bandwidth X extension was intended to be a solution for running X over low bandwidth links. While standard, it is not always available, and is in the process of being phased out in favor of ssh (with compression) and possibly other mechanisms.
PEX Paul Anderson Xorg Project Team
PEX Protocol Specification While standard, it is now of only historical interest, no longer used by anyone.
Protocol Jim Gettys Xorg Project Team
The core X protocol provides the base functionality of the X Window System. The protocol contains many management mechanisms that are not intended for normal applications. Not all mechanisms are needed to build a particular user interface. It is important to keep in mind that the protocol is intended to provide mechanism, not policy.
RandR Jim Gettys Xorg Project Team
The X Resize, Rotate and Reflect Extension, called RandR for short, brings the ability to resize, rotate and reflect the root window of a screen. It is based on the X Resize and Rotate Extension as specified in the Proceedings of the 2001 Usenix Technical Conference [RANDR]. RandR as implemented and integrated into the XFree86 server differs in one substantial fashion from the design discussed in that paper: that is, RandR 1.0 does not implement the depth switching described in that document, and the support described for that in the protocol in that document and in the XFree86 implementationhas been removed from the protocol described here, as it has been overtaken by events.
Record Paul Anderson Xorg Project Team
The Record extension unifies and extends the previous diverse approaches to generate a proposal for an X extension that provides support for the recording of all core X protocol and arbitrary extension protocol. Input synthesis, or playback, has already been implemented in the XTest extension, an X Consortium standard. Therefore, this extension is limited to recording.
Render Keith Packard Xorg Project Team
The X Rendering Extension (Render) introduces digital image composition as the foundation of a new rendering model within the X Window System. Rendering geometric figures is accomplished by client-side tesselation into either triangles or trapezoids. Text is drawn by loading glyphs into the server and rendering sets of them. This is not yet considered a standard, though it is widely deployed, there is still some work left before it is completely finished.
Security Jim Gettys Xorg Project Team
The Security extension contains new protocol needed to provide enhanced X server security. The Security extension should not be exposed to untrusted clients (defined below). This is a standard part of X. It is not always available.
Session Paul Anderson Xorg Project Team
The X Session Management Protocol defines how clients participate in X sessions. Please make sure you are aware of the more recent work on freedesktop.org in this area.
Shape Keith Packard Xorg Project Team
The shape extension provides arbitrary window and border shapes within the X11 protocol. It is standard, and universally deployed.
Sync Jim Gettys Xorg Project Team
TThe core X protocol makes no guarantees about the relative order of execution of requests for different clients. This means that any synchronization between clients must be done at the client level in an operating system-dependent and network-dependent manner. Even if there was an accepted standard for such synchronization, the use of a network introduces unpredictable delays between the synchronization of the clients and the delivery of the resulting requests to the X server. This is a standard. Note that driver support for many interesting counters is not yet present in X implementations (e.g. vertical sync, etc.), but the basic functionality is present everywhere.
XC-MISC Paul Anderson Xorg Project Team
When an X client connects to an X server, it receives a fixed range of resource IDs to use to identify the client's resources inside the X server. Xlib hands these out sequentially as needed. When it overruns the end of the range, an IDChoice protocol error results. Long running clients, or clients that use resource IDs at a rapid rate, may encounter this circumstance. When it happens, there are usually many resource IDs available, but Xlib doesn't know about them. It is standard, and universally deployed.
XDMCP Keith Packard Xorg Project Team
X Display Manager Control Protocol The purpose of the X Display Manager Control Protocol (XDMCP) is to provide a uniform mechanism for an autonomous display to request login service from a remote host.
XIE Paul Anderson Xorg Project Team
The X Image Extension was an attempt to provide imaging services to X. While a "standard", it is not present in current implementations, should not be used, and can safely be ignored.
XInput Jim Gettys Xorg Project Team
This specification defines an extension to the X11 protocol to support input devices other than the core X keyboard and pointer. It is a standard part of X. It needs work to extend for hotplug devices.
XKB Paul Anderson Xorg Project Team
The X Keyboard extension provides finer control over keyboards. It is standard, but not always present.
XLFD Paul Anderson Xorg Project Team
X Logical Font Description Conventions This is primarily of historical interest.
XLib Jim Gettys Xorg Project Team
Xlib is a C subroutine library that application programs clients) use to interface with the window system by means of a stream connection. Although a client usually runs on the same machine as the X server it is talking to, this need not be the case.
Xt Paul Anderson Xorg Project Team
The X Toolkit Intrinsics and Widgets are a programming library tailored to the special requirements of user interface construction within a network window system, specifically the X Window System. The toolkit intrinsics (Xt) and a widget set make up a tookit. Note that more modern toolkits such as GTK+ or Qt are more likely to be of current interest.
XTEST Paul Anderson Xorg Project Team
This extension is a minimal set of client and server extensions required to completely test the X11 server with no user intervention.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.