# Release Notes for X11R&relvers;

The X.Org Foundation
&reldate;

These release notes contain information about features and their status in the X.Org Foundation X11R&relvers; release.

## Introduction to the X11R&relvers; Release

This release is the &whichfullrel; modular release of the X Window System. The next full release will be X11R&nextrelvers; and is expected in &nextfullreldate;.

Unlike X11R1 through X11R6.9, X11R7.x releases are not built from one monolithic source tree, but many individual modules. These modules are distributed as individual source code releases, and each one is released when it is ready, instead of only when the overall window system is ready for release. The X11R7.x releases are made by “rolling up” the individual module releases into a collection that is often affectionately called the “katamari” by the developers.

The X11R&relvers; release does not include all of the software formerly included in the previous X Window System releases. It is designed to be a reasonable baseline from which to start when building the window system for the first time for a new installation, distribution, or package set. It does not provide a full desktop environment, expecting a more feature rich set of applications to be installed from one of the several excellent desktop environments available for the X Window System. The X.Org developers continue to maintain and produce new releases of much of the software that was formerly in the main window system releases but is no longer included in the katamari releases, including many of the Athena Widgets desktop applications that were provided as samples in previous window system versions.

Once their window system build is established, most builders watch for announcements of individual module updates on the xorg-announce mailing list and update to those as needed. The X.Org Foundation currently releases the X Window System katamari releases approximately once a year, but many modules, especially the X servers and drivers, are updated more frequently between those releases.

For help with how to build and develop in the modular tree see the Modular Developer's Guide in the X.Org wiki.

We encourage you to report bugs using freedesktop.org's bug tracking system using the xorg product, and to submit bug fixes and enhancements to xorg-devel@lists.x.org. More details on patch submission and review process are available on the SubmittingPatches page of the X.Org wiki.

The release numbering is based on the original MIT X numbering system. X11 refers to the version of the network protocol that the X Window system is based on: Version 11 was first released in 1988 and has been stable for nearly 25 years, with only upward compatible additions to the core X protocol, a record of stability envied in computing. Formal releases of X started with X version 9 from MIT; the first commercial X products were based on X version 10. The MIT X Consortium and its successors, the X Consortium, the Open Group X Project Team, and the X.Org Group released versions X11R3 through X11R6.6. Since the founding of the X.Org Foundation in early 2004, many further releases have been issued, from X11R6.7 to the current &relvers;.

The next section describes what is new in the latest full release (&relvers;) compared with the previous full release (&prevrelvers;).

## Summary of new features in X11R&relvers;

This is a sampling of the new features in X11R&relvers;. A more complete list of changes can be found in the ChangeLog files that are part of the source of each X module.

- Multi-touch events are now supported for touchpads and touchscreens which can report position information on more than one finger providing input at the same time, such as found on many tablets and recent laptops. These are exposed by Xorg server 1.12 and later via the Xinput extension version 2.2.

- Additional Xinput extension features were introduced in version 2.1, as supported in Xorg server 1.11, including allowing clients to track raw events from input devices, additional detail in scrolling events so that clients may perform smoother scrolling, and additional constants in the Xlib-based libXi API.

- More progress has been made on the X.Org Documentation modernization - the rest of the library and protocol specifications have been converted to DocBook XML from the variety of formats they were previously in, and support for cross-linking between documents hase been added. On most systems these documents will be installed under `/usr/share/doc/`. They are also posted on the X.Org website at .

- Fence objects are now available in Version 3.1 of the Synchronization (Sync) extension. These allow clients to create a object that is either in triggered or not-triggered state, and to perform actions when the object becomes triggered. When a client requests a fence be triggered, the X server will first complete all rendering from previous requests that affects resources owned by the fence's screen before changing the state, so that clients may synchronize with such rendering. Support for these has been added to both the `libxcb-sync` and `libXext` API's.

- Pointer barriers were added by X Fixes extension Version 5.0. Compositing managers and desktop environments may have UI elements in particular screen locations such that for a single-headed display they correspond to easy targets, for example, the top left corner. For a multi-headed environment these corners should still be semi-impermeable. Pointer barriers allow the application to define additional constraint on cursor motion so that these areas behave as expected even in the face of multiple displays.

- The XCB libraries have begun adding support for the GLX and XKB extensions. This work is not yet complete in this release, and not all of the functionality available through these extensions is accessibile via the XCB APIs. Some of this effort was funded by past Google Summer of Code projects.

- Video and input driver enhancements. Please see the ChangeLog files for individual drivers; there are far too many updates to list here.

- ... and the usual assortment of correctness and crash fixes.

## Overview of X11R&relvers;

On most platforms, X11R&relvers; has a single hardware-driving X server binary called `Xorg`. This binary can dynamically load the video drivers, input drivers, and other modules that are needed. `Xorg` has currently has support for Linux, Solaris, and some BSD OSs on Alpha, PowerPC, IA-64, AMD64, Intel x86, Sparc, and MIPS platforms.

Additional specialized X server binaries may be found depending on the platform and build configuration, including:

`Xdmx`

  is a proxy X server that uses one or more other X servers as its display devices. It provides multi-head X functionality for displays that might be located on different machines.

`Xnest`

  is a nested X server, that operates as both an X client and X server. `Xnest` is a client of the real server which manages windows and graphics requests on its behalf. `Xnest` is a server to its own clients, and manages windows and graphics requests on their behalf. To these clients, it appears to be a conventional server.

`Xephyr`

  is a X server that outputs to a window on a pre-existing “host” X display. Unlike `Xnest` which is an X proxy, and thus limited to the capabilities of the host X server, `Xephyr` is a full X server which uses the host X server window as a “framebuffer” via fast SHM XImages.

`Xvfb`

  is a virtual framebuffer X server that can run on machines with no display hardware and no physical input devices. It emulates a dumb framebuffer using virtual memory.

`Xquartz`

  is an X server that interacts with the MacOS X native Aqua window system, displaying windows on the Mac desktop and accepting input from the Mac system devices, allowing X11 applications to be used in a native Mac desktop session.

`Xwin`

  is an X server that runs under the Cygwin environment, interacting with the Microsoft Windows native window system, displaying windows on the Windows desktop and accepting input from the Windows system devices, allowing X11 applications to be used in a native Windows desktop session.

## Details of X11R&relvers; components

### Video Drivers

X11R&relvers; includes the following video drivers:

Driver Name | Description | Further Information
--- | --- | ---
`ark` | Ark Logic |
`ast` | ASPEED Technology |
`cirrus` | Cirrus Logic |
`dummy` | Virtual/offscreen framebuffer |
`fbdev` | Linux framebuffer device | fbdev(4)
`geode` (*) | AMD Geode GX and LX |
`glide` | 3Dfx Voodoo 1, 2, Banshee, 3, 4 & 5 | glide(4)
`glint` | 3Dlabs, TI | glint(4)
`i128` | Number Nine | README.I128, i128(4)
`intel` | Intel Integrated Graphics Processors | README.intel, intel(4)
`mach64` | ATI Mach64 | README.ati
`mga` | Matrox | mga(4)
`neomagic` | NeoMagic | neomagic(4)
`newport` (-) | SGI Newport | README.newport, newport(4)
`nv` | NVIDIA | nv(4)
`r128` | ATI Rage128 | README.r128, r128(4)
`radeon` | ATI Radeon | radeon(4)
`savage` | S3 Savage | savage(4)
`siliconmotion` | Silicon Motion | siliconmotion(4)
`sis` | SiS | README.SiS, sis(4)
`suncg6` (+) | Sun GX and Turbo GX |
`sunffb` (+) | Sun Creator/3D, Elite 3D |
`tdfx` | 3Dfx Voodoo Banshee, 3, 4 & 5 | tdfx(4)
`tga` | DEC TGA | README.DECtga
`trident` | Trident | trident(4)
`v4l` | Video4Linux | v4l(4)
`vesa` | VESA | vesa(4)
`vmware` | VMware guest OS | vmware(4)
`voodoo` | 3Dfx Voodoo 1 & 2 | voodoo(4)
`wsfb` | Workstation Framebuffer | wsfb(4)

Drivers marked with (*) are present in a preliminary form in this release, but are not complete and/or stable yet.

Drivers marked with (+) are for Linux/Sparc only.

Drivers marked with (-) are for Linux/mips only.

### Input Drivers

X11R&relvers; includes the following input drivers:

Driver Name | Description | Further Information
--- | --- | ---
`evdev(*)` | Linux kernel EvDev | evdev(4)
`joystick` | Joystick | joystick(4)
`kbd` | generic keyboards (non-evdev systems) | kbd(4)
`mouse` | most mouse devices (non-evdev systems) | mousedrv(4)
`synaptics` | Synaptics & ALP touchpads | synaptics(4)
`vmmouse` | VMWare virtual mouse | vmmouse(4)
`void` | dummy device | void(4)

Drivers marked with (*) are available for Linux only.

### Xorg server

#### Loader and Modules

The Xorg server relies on the operating system's native module loader support for handling program modules. The X server makes use of modules for video drivers, X server extensions, input device drivers, framebuffer layers, and internal components used by some drivers (like XAA & EXA).

The module interfaces (both API and ABI) used in this release are subject to change without notice. While we will attempt to provide backward compatibility for the module interfaces in stable releases, we cannot guarantee this. Compatibility in the other direction is explicitly not guaranteed because new modules may rely on interfaces added in new releases, nor is compatibility across stable release branches (such as between Xorg 1.11 and 1.12).

Note about module security

The Xorg server runs with root privileges, so the Xorg server loadable modules also run with these privileges. For this reason we recommend that all users be careful to only use loadable modules from reliable sources, otherwise the introduction of malware and contaminated code can occur and wreak havoc on your system.

#### Configuration File

The Xorg server uses a configuration file as the primary mechanism for providing configuration and run-time parameters. The configuration file format is described in detail in the xorg.conf(5) manual page.

Note that this release features significant improvements for running the server without a configuration file, so many users may find that that they don't need a configuration file, or may rely on just snippets of configuration placed in the `xorg.conf.d` directory.

If you do need to customize the configuration file, see the xorg.conf manual page . You can also check the driver-specific manual pages and the related documentation (found at ) also.

The recommended method for generating a configuration file is to use the Xorg server itself. Run as root:

            Xorg -configure

and follow the instructions.

#### Command Line Options

Command line options can be used to override some default parameters and parameters provided in the configuration file. Command line options available for use with all X servers in this release are described in the Xserver(1) manual page. Command line options specific to the Xorg server are described in the Xorg(1) manual page.

#### Multi-head

Some multi-head configurations are supported in X11R&relvers;. Support for multiple PCI/AGP cards may require a kernel with changes to support VGA arbitration.

One of the main problems is with drivers not sufficiently initializing cards that were not initialized at boot time. This has been improved somewhat with the INT10 support that is used by most drivers (which allows secondary card to be "soft-booted", but in some cases there are other issues that still need to be resolved. Some combinations can be made to work better by changing which card is the primary card (either by using a different PCI slot, or by changing the system BIOS's preference for the primary card).

#### Xinerama

Xinerama is an X server extension that allows multiple physical screens connected to multiple video devices to behave as a single screen. With traditional multi-head in X11, windows cannot span or cross physical screens. Xinerama removes this limitation. Xinerama does, however, require that the physical screens all have the same root depth, so it isn't possible, for example, to use an 8-bit screen together with a 16-bit screen in Xinerama mode.

Xinerama is not enabled by default, and can be enabled with the `+xinerama` command line option for the X server. Note that enabling Xinerama may disable certain other extensions which are not compatible with Xinerama.

#### DDC

The VESA® Display Data Channel (DDC) standard allows the monitor to tell the video card (or in some cases the computer directly) about itself; particularly the supported screen resolutions and refresh rates.

Partial or complete DDC support is available in most of the video drivers. DDC is enabled by default, but can be disabled with a "Device" section entry: `Option "NoDDC"`. We have support for DDC versions 1 and 2; these can be disabled independently with `Option "NoDDC1"` and `Option "NoDDC2"`.

At startup the server prints out DDC information from the display, and can use this information to set the default monitor parameters, or to warn about monitor sync limits if those provided in the configuration file don't match those that are detected.

##### Changed behavior in handling information from DDC

The X server previously used DDC information to detect screen size and pitch, and compute DPI automatically, allowing fonts and other UI elements to automatically scale to appropriate sizes. This mechanism worked reasonably well for many single-monitor cases, but did not compute accurate DPI values for multi-monitor cases or less common single-display setups. Thus, this autodetection has been removed, and the X server no longer tries to compute an appropriate DPI value. All users wanting fonts, physical measurement units, and other UI elements scaled appropriately for their display (including users for whom autodetection previously worked) must now set DPI or some other scaling factor explicitly, either via the X server's `-dpi` option, a DPI setting in their graphical enironment, or an alternate scaling mechanism provided by their environment.

#### GLX and the Direct Rendering Infrastructure (DRI)

Direct rendered OpenGL® support is provided for several hardware platforms by the Direct Rendering Infrastructure (DRI). Further information about DRI can be found at the DRI Project's web site. The 3D core rendering component is provided by Mesa.

Of note is that this release supports building the X server using the system-wide libdrm. Previously, drm was kept in the server's tree and loaded as a module, rather than using the standard OS mechanisms for managing shared libraries of code. This requires that the server be built using a version of libdrm of 2.3.0 or newer if it is to use DRM.

#### Terminate Server keystroke

The Xorg server has previously allowed users to exit the server by pressing the keys Control + Alt + Backspace. While this function is still enabled by default in this release, the keymap data usually used with Xorg, from the xkeyboard-config project, has been modified to not map that sequence by default, in order to reduce the chance that inexperienced users will accidentally destroy their work.

Users who wish to have this functionality available by default may enable it via the XKB configuration option “`terminate:ctrl_alt_bksp`”. For instance, the `setxkbmap` command can be used to enable this by running:

    	setxkbmap -option "terminate:ctrl_alt_bksp"

The XKB Configuration Guide also includes an example xorg.conf.d file that sets the “`terminate:ctrl_alt_bksp`” option by default on all keyboards. Many desktop environments include XKB configuration options in their preferences to enable this as well.

#### Grab debugging keystrokes

The Xorg server in this release provides various functions that can be mapped to keystrokes to aid in the debugging of programs with errant input grabs.

The keysyms XF86LogGrabInfo and XF86LogWindowTree are defined to print information to the Xorg log file on the current set of input grabs, and the window tree of the current display. By default, these are available for use, but not mapped to any key.

The keysym XF86Ungrab forces the X server to release all active grabs, which may leave the clients holding them in an inconsistent state. XF86ClearGrab goes further, killing the client connection of any client holding an active grab when it is pressed. These keystrokes are intended to allow developers to debug clients which are not properly releasing grabs or have problems occur while input is grabbed. Since grabs are a fundamental part of the X client security model, these keystrokes come with risks, such as the ability to bypass or kill screen locks without knowing the password, and thus are not available by default.

Users who are willing to accept the security risk and wish to enable this functionality may do so via the XKB configuration option “`grab:break_actions`”.

Security issue in older xkeyboard-config releases

The xkeyboard-config data files included in this release have the grab disabling keys correctly disabled by default, but versions before xkeyboard-config 2.5 had them enabled, leading to the security risk described above. When upgrading to the X server in this release be sure to also ensure xkeyboard-config is a safe version. More details about this issue may be found in advisories for CVE-2012-0064.

#### X Server startup state

The X servers in the X11R&relvers; release now start by default with an empty black screen and do not draw the mouse cursor until a client sets the cursor image. To restore the classic behavior of starting with the grey weave pattern and × cursor, start the X server with the `-retro` option.

### Font support

Details about the font support in X11R&relvers; can be found in the Fonts in X11R&relvers; document.

#### Default font installation directory

Previous versions of X installed font files under the `lib/X11/fonts` subdirectory of the X installation directory (for instance, in X11R6 releases, `/usr/X11R6/lib/X11/fonts` was commonly used). This release uses the default installation path of the `fonts` subdirectory of the `datadir` setting from the GNU autoconf configuration. For instance, if the fonts are configured with `./configure --prefix=/usr`, they will be installed under subdirectories of `/usr/share/fonts/X11`. The font module configure scripts all take an option of `--with-fontrootdir=PATH` to override the default. If `--with-fontrootdir` is not specified, the `fontutil` pkg-config file will be consulted to find the `fontrootdir` specified when the `fontutil` module was installed.

#### Bitmap font compression methods

The X11R&relvers; release supports PCF format bitmap fonts stored uncompressed or compressed via the `compress`, `gzip`, or `bzip2` programs. To utilize bzip2 compression, the `libXfont` and `mkfontscale` modules must be built with the `--with-bzip2` — all other methods are enabled by default.

To specify which compression method to use when installing a font module from X11R&relvers; the configure scripts accept an option of `--with-compression=TYPE`, where TYPE may be `none`, `compress`, `gzip`, or `bzip2`.

#### Type1 Font support

Previous versions of X came with two Postscript Type1 font backends. The functionality from the “Type1” backend has been replaced by the Type1 support in the “FreeType” backend.

#### CID Font support

The CID-keyed font format was designed by Adobe Systems for fonts with large character sets. The CID-keyed format is obsolete, as it has been superseded by other formats such as OpenType/CFF and support for CID-keyed fonts has been removed from X11.

## Build changes and issues

### Strict compilation flags

Most of the modules in this release use stricter compiler flags when building with the GNU gcc, LLVM clang, Oracle Solaris Studio, or Intel compilers. These flags both enable more warnings, and promote some warnings to fatal errors in the build. If these flags cause your build to fail, you can disable the flags that turn these selected warnings into errors by adding `--disable-selective-werror` to the configure command for the affected module. If that is necessary for any X.Org modules, please report a bug in the xorg product on .

Builders seeking even stricter compiler checks can instead pass `--enable-strict-compilation` to the configure command to make all warnings become errors.

### Silent build rules

Most of the modules in this release use the `AM_SILENT_RULES` option of GNU automake 1.11. When building the software, most output will show an abbreviated format for the commands being run, such as:

       CC	xmen.o

To enable verbose output, showing all the arguments to the commands being run, add the flag `V=1` to the `make` command line or add the flag `--disable-silent-rules` to the configure command.

### New configure options for font modules

The bitmap font modules now accept a configure option of `--disable-all-encodings` to set the default for all encodings to off, requiring builders to then pass `--enable-<encoding>` flags for each encoding to be built.

### New configure options for documentation in modules

As many more modules now contain documentation to be converted from DocBook XML to text, HTML, PostScript, and/or PDF formats, new standard options have been added to the configure macros to control the build of these in the modules.

`--with-xmlto=yes|no`

  Enables or disables use of the `xmlto` command to translate DocBook XML to other formats. All DocBook XML conversions require use of this command.

`--with-fop=yes|no`

  Enables or disables use of the Apache `fop` command to translate DocBook XML to PostScript and PDF formats.

`--enable-docs=yes|no`

  Enables or disables the build and installation of all documentation except traditional man pages or those covered by the --enable-devel-docs and --enable-specs options.

`--enable-devel-docs=yes|no`

  Enables or disables the build and installation of documentation for developers of the X.Org software modules.

`--enable-specs=yes|no`

  Enables or disables the build and installation of the formal specification documents for protocols and APIs.

## Miscellaneous

This section describes other items of note for the X11R&relvers; release.

### Socket directory ownership and permissions

The socket directories created in `/tmp` are now required to be owned by root and have their sticky-bit set. If the permissions are not set correctly, the component using this directory will print an error message and fail to start. Common socket directories that are known to be affected include:

            /tmp/.font-unix
            /tmp/.ICE-unix
            /tmp/.X11-unix

These directories are used by the font server (`xfs`), applications using the Inter-Client Exchange protocol (ICE) and the X server, respectively.

There are several solutions to the problem of when to create these directories. They could be created at install time by the system's installer if the `/tmp` dir is persistent. They could be created at boot time by the system's boot scripts (e.g., the `init.d` scripts). Or, they could be created by PAM modules at service startup or user login time.

The solution chosen is platform dependent, and the system administrator should be able to handle creating those directories on any systems that do not have the correct ownership or permissions.

## Deprecated components and removal plans

This section lists current plans for removal of obsolete or deprecated components in the X.Org releases. As our releases are open source, users who continue to require these can find the source in previous releases and continue to use these, but the X.Org Foundation and its volunteers have decided the burden of continued maintenance and distribution in the core X11 releases outweighs the benefits of doing so. In some cases, this is simply because no one has volunteered to do continued maintenance, so if software is listed here that you need, you can contact xorg-devel@lists.x.org to volunteer to take over maintainership, either inside or outside of the Xorg release process.

### Future Removals

DGA version 2

  DGA 2.0 is included in &relvers;. Documentation for the client libraries can be found in the XDGA(3) man page. DGA should be considered deprecated; if you are relying on it, please let us know what you need it for so we can find better solutions. In this release, support has been removed for all DGA rendering and mapping code, leaving just mode setting and raw input device access.

Input device discovery via HAL

  Xorg server 1.4 started using the HAL framework to discover connected input devices, receive notification of hotplug events for them, and to retrieve configuration parameters for them. The HAL maintainers have since deprecated HAL, so the X.Org developers have begun replacement with alternatives. As a result, configuration of input devices via HAL `*.fdi` files is no longer supported on Linux platforms using udev, and may not be supported on other platforms in future Xorg server releases.

Nested and virtual X servers

  As described in , this release contains several X servers that either display onto another X server (`Xephyr` & `Xnest`), or render into a virtual memory framebuffer (`Xvfb` & `Xfake`). These may be replaced in a future release by use of the `Xorg` server with the `xf86-video-nested` and `xf86-video-dummy` drivers which perform the same tasks.

### Removed in this Release

Unmaintained drivers

  This release no longer contains the following drivers, due to lack of maintainers with relevant hardware. Existing driver versions may work with current Xorg servers, but they are not being actively updated to support Xorg driver API & ABI changes.

  - xf86-input-acecad: Acecad Flair

  - xf86-input-aiptek: Aiptek USB tablet

  - xf86-video-apm: Alliance Pro Motion

  - xf86-video-chips: Chips & Technologies

  - xf86-video-i740: Intel i740

  - xf86-video-rendition: Rendition Verite

  - xf86-video-s3: S3 (not ViRGE or Savage)

  - xf86-video-s3virge: S3 ViRGE

  - xf86-video-sisusb: SiS Net2280-based USB

  - xf86-video-suncg14: Sun CG14

  - xf86-video-suncg3: Sun CG3

  - xf86-video-sunleo: Sun Leo (ZX)

  - xf86-video-suntcx: Sun TCX

  - xf86-video-tseng: Tseng Labs

  - xf86-video-xgi: XGI

  - xf86-video-xgixp: XGI Volari 8300

## Attributions/Acknowledgements/Credits

This section lists the credits for the X11R&relvers; release. For a more detailed breakdown, refer to the ChangeLog file in the source tree for each module, the history in the xorg product in freedesktop.org's git repositories or the '`git log`' information for individual source files.

The X Window System has been a collaborative effort from its inception. Our apologies for anyone or organization inadvertently overlooked. Many individuals (including major contributors) who worked on X are represented by their employers in this list. If you feel we have left anyone out, please let us know.

These people contributed in some way to X11R&relvers; since the release of X11R&prevrelvers;:

- Aapo Rantalainen
- Aaron Culich
- Aaron Plattner
- Abdoulaye Walsimou Gaye
- Adam Jackson
- Adam Tkac
- Adrian Bunk
- Alan Coopersmith
- Alan Curry
- Alan Hourihane
- Alban Browaeys
- Albert Damen
- Aldis Berjoza
- Alessandro Guido
- Alex Deucher
- Alex Plotnick
- Alexander Polakov
- Alexandr Shadchin
- Alexandre Julliard
- Alexey Shumitsky
- Alistair Leslie-Hughes
- Ander Conselvan de Oliveira
- Andrea Canciani
- Andreas Schwab
- Andreas Wettstein
- Andrew Randrianasulu
- Andrew Turner
- Andy Furniss
- Anssi Hannula
- Antoine Martin
- Arkadiusz Miśkiewicz
- Armin K
- Arnaud Fontaine
- Arthur Taylor
- Arvind Umrao
- Avram Lyon
- Bartosz Brachaczek
- Bartosz Kosiorek
- Bastian Blank
- Bastien Nocera
- Ben Hutchings
- Benjamin Close
- Benjamin Herrenschmidt
- Benjamin Otte
- Benjamin Tissoires
- Bernie Innocenti
- Bill Nottingham
- Bjørn Mork
- Bodo Graumann
- Bryce Harrington
- Carl Worth
- Carlos Garnacho
- Casper Dik
- Cédric Cano
- Chad Versace
- Chase Douglas
- Choe Hwanjin
- Chris Bagwell
- Chris Ball
- Chris Halse Rogers
- Chris Wilson
- Christian König
- Christian Toutant
- Christian Weisgerber
- Christoph Brill
- Christoph Reimann
- Christophe Roland
- Christopher James Halse Rogers
- Christopher Yeleighton
- Clemens Eisserer
- Colin Harrison
- Cristian Rodríguez
- Cyril Brulebois
- Daiki Ueno
- Dan Horák
- Dan Nicholson
- Daniel A. Steffen
- Daniel Drake
- Daniel Kurtz
- Daniel Stone
- Daniel Vetter
- Dave Airlie
- David Barksdale
- David Coles
- David Coppa
- David Fries
- David Ge
- David Nusinow
- David Reveman
- David Ronis
- Denis 'GNUtoo' Carikli
- Derek Buitenhuis
- Derek Foreman
- Derek Wang
- Devin J. Pohly
- Diego Elio Pettenò
- Dirk Wallenstein
- dtakahashi42
- Eamon Walsh
- Ed Schouten
- Edward Sheldrake
- Egbert Eich
- Eitan Adler
- Elias Probst
- Elie Bleton
- Elvis Pranskevichus
- Emanuele Giaquinta
- Eoghan Sherry
- Eric Anholt
- Erik Kilfoil
- Erik Saule
- Erkki Seppälä
- Eugeni Dodonov
- Evan Broder
- Fabio Pedretti
- Federico Mena Quintero
- Fernando Carrijo
- Ferry Huberts
- Francisco Jerez
- Frank Huang
- Frank Mariak
- Frédéric Boiteux
- Fredrik Höglund
- Fryderyk Dziarmagowski
- Gaetan Nadon
- George Staplin
- Giuseppe Bilotta
- Glenn Burkhardt
- Guillem Jover
- György Balló
- Hans Verkuil
- Hans-Juergen Mauser
- Hans-Peter Budek
- Harshula Jayasuriya
- Havoc Pennington
- Henry Zhao
- Ian Osgood
- Ian Romanick
- Ilija Hadzic
- Ivan Bulatovic
- Jakob Bornecrantz
- James Cloos
- James Jones
- James Simmons
- Jamey Sharp
- Jamie Kennea
- Jan Hauffa
- Jan Kriho
- Janne Huttunen
- Jari Aalto
- Javier Acosta
- Javier Jardón
- Javier Pello
- Jay Cotton
- Jeetu Golani
- Jeff Chua
- Jens Elkner
- Jeremy Huddleston
- Jerome Carretero
- Jerome Glisse
- Jesse Adkins
- Jesse Barnes
- Jian Zhao
- JJ Ding
- Joe Nahmias
- Joe Shaw
- Joerg Sonnenberger
- Johannes Obermayr
- John Martin
- Jon Nettleton
- Jon TURNEY
- Jools Wills
- Jordan Hayes
- Jörn Horstmann
- Josh Triplett
- Julien Cristau
- Julien Danjou
- Justin Dou
- Justin Mattock
- Kai-Uwe Behrmann
- Kees Cook
- Keith Packard
- Kenneth Graunke
- Kent Baxley
- Kirill Elagin
- Knut Petersen
- Konstantin Belousov
- Kristian Høgsberg
- Kristof Szabo
- Krzysztof Halasa
- Kusanagi Kouichi
- Lennart Poettering
- Lev Nezhdanov
- Linus Arver
- Luc Verhaegen
- Maarten Lankhorst
- Maarten Maathuis
- Macpaul Lin
- Magnus Kessler
- Marcin Kościelnicki
- Marcin Slusarz
- Marcin Woliński
- Marek Olšák
- Mario Kleiner
- Mark Dokter
- Mark Kettenis
- Mark Schreiber
- Marko Macek
- Marko Myllynen
- Markus Duft
- Markus Fleschutz
- Mart Raudsepp
- Martin Langhoff
- Martin-Éric Racine
- Marton Balint
- Matěj Cepl
- Mathias Krause
- Mathieu Bérard
- Mathieu Taillefumier
- Matt Dew
- Matt Turner
- Matthew D. Fuller
- matthew green
- Matthias Clasen
- Matthias Hopf
- Matthieu Herrb
- Matti Hamalainen
- Max Schwarz
- Maxim Iorsh
- Mehdi Dogguy
- meng
- Michael Chang
- Michael Larabel
- Michael Olbrich
- Michael Stapelberg
- Michael Thayer
- Michał Górny
- Michal Marek
- Michał Masłowski
- Michal Suchanek
- Michel Dänzer
- Michel Hummel
- Mikael Magnusson
- Mike Frysinger
- Mike Stroyan
- Mikhail Gusarov
- Modestas Vainius
- Mohammed Sameer
- Nick Bowler
- Nicolai Stange
- Nicolas Cavallari
- Nicolas Joly
- Nicolas Kaiser
- Nicolas Kalkhof
- Nicolas Peninguy
- Nikolai Kondrashov
- Nils Wallménius
- Nithin Nayak Sujir
- Nobuhiro Iwamatsu
- Olaf Buddenhagen
- Oldřich Jedlička
- Oleh Nykyforchyn
- Oliver McFadden
- Oliver Schmidt
- Olivier Fourdan
- Olli Vertanen
- Ondrej Zary
- Owen Taylor
- Pander
- Pär Lidberg
- Parag Nemade
- Patrick Curran
- Patrick E. Kane
- Paul Fox
- Paul Menzel
- Paul Neumann
- Pauli Nieminen
- Paulius Zaleckas
- Paulo Zanoni
- Pelle Johansson
- Pete Beardmore
- Peter Clifton
- Peter Harris
- Peter Hutterer
- Peter Korsgaard
- Peter Zotov
- Philip Langdale
- Philipp Reh
- Phillp Haddad
- Pierre-Loup A. Griffais
- Priit Laes
- Promathesh Mandal
- Rami Ylimäki
- Reinhard Karcher
- Rémi Cardona
- Richard Hartmann
- Rob Clark
- Robert Ancell
- Robert Bragg
- Robert Hooker
- Robert Morell
- Roberto Branciforti
- Roger Cruz
- Roland Cassard
- Roland Scheidegger
- Roman Jarosz
- Ross Burton
- Rui Matos
- Ryan Pavlik
- Sam Spilsbury
- Samuel Thibault
- Sascha Hlusiak
- Satoshi KImura
- Scott James Remnant
- Sebastian Glita
- Sedat Dilek
- Sergey Samokhin
- Sergey V. Udaltsov
- Servaas Vandenberghe
- Siddhesh Poyarekar
- Simon Farnsworth
- Simon Que
- Simon Thum
- Sitsofe Wheeler
- Søren Sandmann Pedersen
- Stefan Dirsch
- Stefan Glasenhardt
- Stefan Kost
- Stefan Potyra
- Stephan Hilb
- Stephane Marchesin
- Stephen Turnbull
- Stuart Kreitman
- Takashi Iwai
- Terry Lambert
- Thierry Vignaud
- Thomas Bächler
- Thomas Fjellstrom
- Thomas Hellström
- Thomas Hoger
- Thordur Bjornsson
- Tiago Vignatti
- Till Matthiesen
- Tim van der Molen
- Tim Yamin
- Timo Aaltonen
- Tobias Droste
- Tollef Fog Heen
- Tom "spot" Callaway
- Tom Fogal
- Tomas Carnecky
- Tomas Frydrych
- Tomas Hoger
- Tomáš Trnka
- Toralf Förster
- Tormod Volden
- Trevor Woerner
- U. Artie Eoff
- Uli Schlachter
- Ulrich Müller
- Van de Bugger
- Vasily Khoruzhick
- Vasyĺ V. Vercynśkyj
- Victor Machado
- Ville Skyttä
- Ville Syrjälä
- Vincent Torri
- Walter Bender
- Walter Harms
- William Jon McCann
- Xavier Bachelot
- Xiang, Haihao
- Xue Wei
- Xunx Fang
- Y.C. Chen
- Yaakov Selkowitz
- Yann Droneaud
- Yannick Heneault
- Zack Rusin
- Zhao Yakui
- Zhenyu Wang
- Zhigang Gong
- Zou Nan hai

and the members of the Translation Project.

This product includes software developed by:

- 2d3d Inc.
- 3Dlabs Inc. Ltd.
- Aaron Plattner
- Adam de Boor
- Adam Jackson
- Adobe Systems Inc.
- Advanced Micro Devices, Inc.
- After X-TT Project
- AGE Logic Inc.
- Alan Coopersmith
- Alan Cox
- Alan Hourihane
- Alexander Gottwald
- Alex Deucher
- Alex Williamson
- Alexei Gilchrist
- Anders Carlsson
- Andreas Luik
- Andreas Monitzer
- Andreas Robinson
- Andrei Barbu
- Andrew C Aitchison
- Andrey A. Chernov
- Andy Ritger
- Angus Lees
- Ani Joshi
- Anton Zioviev
- Apollo Computer Inc.
- Apple Computer Inc.
- Apple Inc.
- Ares Software Corp.
- Arnaud LE HORS
- Arne Schwabe
- ASPEED Technology Inc.
- AT&T Inc.
- ATI Technologies Inc.
- Bart Massey
- Bart Trojanowski, Symbio Technologies, LLC
- BEAM Ltd.
- Benjamin Herrenschmidt
- Benjamin Rienfenstahl
- Ben Skeggs
- Beth Mardutho: The Syriac Institute
- Bigelow and Holmes
- Bill Reynolds
- Bitstream Inc.
- Bogdan Diaconescu
- Branden Robinson
- Brian Fundakowski Feldman
- Brian Goines
- Bogdan D.
- Brian Paul
- Bruce Kalk
- Bruno Haible
- Bryan Stine
- Bryan W. Headley.
- C. Scott Ananian
- Carl Switzky
- Catharon Productions Inc.
- Charles Murcko
- Chen Xiangyang
- Chisato Yamauchi
- Chris Constello
- Chris Salch
- Christian Thaeter
- Christian Zietz
- Cognition Corp.
- Compaq Computer Corporation
- Concurrent Computer Corporation
- Conectiva S.A.
- Corin Anderson
- Corvin Zahn.
- Cronyx Ltd.
- Craig Struble
- Daewoo Electronics Co. Ltd.
- Dag-Erling Smørgrav
- Dale Schumacher
- Damien Miller
- Daniel Berrange
- Daniel Borca
- Daniel Stone
- Daniver Limited
- Daryll Strauss
- Data General Corporation
- Dave Airlie
- David Bateman
- David Dawes
- David E. Wexelblat
- David Holland
- David J. McKay
- David McCullough
- David Mosberger-Tang
- David Reveman
- David S. Miller
- David Woodhouse
- Davor Matic
- Deron Johnson
- Digeo Inc.
- Dennis De Winter
- Digital Equipment Corporation
- Dirk Hohndel
- Dmitry Golubev
- Donnie Berkholz
- DOS-EMU-Development-Team
- Doug Anson
- Drew Parsons
- Earle F. Philhower III
- Edouard TISSERANT
- Eduard Fuchs
- Eduardo Horvath
- Egbert Eich
- Egmont Koblinger
- Elliot Lee
- Eric Anholt
- Eric Fortune
- Eric Sunshine
- Erik Fortune
- Erik Nygren
- Evans & Sutherland Computer Corp.
- Fabio Massimo Di Nitto
- Fabrizio Gennari
- Fedor P. Goncharov
- Felix Kühling
- Finn Thoegersen
- Francesco Zappa Nardelli
- Frank C. Earl
- Florian Loitsch
- Francisco Jerez
- Fred Hucht
- Frederic Lepied
- Fredrik Höglund
- Free Software Foundation
- Fujitsu Limited
- Fujitsu Open Systems Solutions Inc.
- Fuji Xerox Co. Ltd.
- Gaetan Nadon
- Gareth Hughes
- Geert Uytterhoeven
- George Fufutos
- George Sapountzis
- Gerrit Jan Akkerman
- Gerry Toll
- Ghozlane Toumi
- Glenn G. Lai
- GNOME Foundation
- Go Watanabe
- Google Summer of Code participants
- Greg Kroah-Hartman
- Gregory Mokhin
- Greg Parker
- GROUPE BULL
- Guillem Jover
- Guy Martin
- Hans Oey
- Harald Koenig
- Harm Hanemaayer
- Harold L Hunt II
- Harry Langenbacher
- Hartwig Felger
- Henry A. Worth
- Henry Davies
- Hewlett-Packard Company
- Hideki Hiura
- Hitachi Ltd.
- Holger Veit
- Hong Bo Peng
- Howard Greenwell
- Hummingbird Communications Ltd.
- Ian Romanick
- IBM Corporation
- Inst. of Software Academia Sinica
- Intel Corporation
- INTERACTIVE Systems Corporation
- Itai Nahshon
- Itronix Inc.
- Ivan Kokshaysky
- Ivan Pascal
- Jakub Jelinek
- James Tsillas
- Jamey Sharp
- Jason Bacon
- Jaymz Julian
- Jean-loup Gailly
- Jeff Hartmann
- Jeff Kirk
- Jeffrey Hsu
- Jehan Bing
- Jeremy C. Reed
- Jeremy Katz
- Jeremy Huddleston
- Jerome Glisse
- Jesse Barnes
- Jim Gettys
- Jim Tsillas
- Joerg Sonnenberger
- John Dennis
- John Harper
- John Heasley
- Jonathan Adamczewski
- Jon Block
- Jon Smirl
- Jon Tombs
- Jörg Bösner
- Jorge Delgado
- José Fonseca
- Josh Triplett
- Joseph Friedman
- Joseph P. Skudlarek
- Joseph V. Moss
- Julio M. Merino Vidal
- Juan Romero Pardines
- Juliusz Chroboczek
- Jyunji Takagi
- Kaleb Keithley
- Kazushi (Jam) Marukawa
- Kazuyuki (ikko-) Okamoto
- Kazutaka YOKOTA
- Kean Johnston
- Keith Packard
- Keith Whitwell
- Kensuke Matsuzaki
- Kevin E. Martin
- Kim woelders
- Kristian Høgsberg
- Larry Wall
- Lars Knoll
- Lawrence Berkeley Laboratory
- Leif Delgass
- Lennart Augustsson
- Leon Shiman
- Lexmark International Inc.
- Linus Torvalds
- Linuxcare Inc.
- Lorens Younes
- Luc Verhaegen
- Machine Vision Holdings Inc.
- Mandriva Linux
- Manfred Brands
- Manish Singh
- Marc Aurele La France
- Mark Adler
- Mark J. Kilgard
- Mark Kettenis
- Mark Leisher
- Mark Smulders
- Mark Vojkovich
- Martin Husemann
- Marvin Solomon
- Massachusetts Inst. Of Technology
- Matrox Graphics
- Matt Dew
- Matthew Grossman
- Matthias Hopf
- Matthias Ihmig
- Matthieu Herrb
- Metro Link Inc.
- Michal Rehacek
- Michael Bax
- Michael H. Schimek
- Michael P. Marking
- Michael Schimek
- Michael Smith
- Michel Dänzer
- Mike A. Harris
- Mike Harris
- Ming Yu
- MIPS Computer Systems Inc.
- MontaVista Software Inc.
- National Security Agency
- National Semiconductor
- NCR Corporation Inc.
- Neil Brown
- NetBSD Foundation
- Netscape Communications Corp.
- Network Computing Devices Inc.
- New Mexico State University
- Nicholas Joly
- Nicholas Miell
- Nicholas Wourms
- Nicolai Haehnle
- Noah Levitt
- Nolan Leake
- Nokia Corporation
- Nokia Home Communications
- Novell Inc.
- Nozomi YTOW
- NTT Software Corporation
- Number Nine Computer Corp.
- Number Nine Visual Technologies
- NVIDIA Corporation
- Oivier Danet
- Oki Technosystems Laboratory Inc.
- Olivetti Research Limited
- OMRON Corporation
- Open Software Foundation
- Open Text Corporation
- OpenedHand Ltd.
- Oracle Corp.
- Orest Zborowski
- Owen Taylor
- Pablo Saratxaga
- Panacea Inc.
- Panagiotis Tsirigotis
- Paolo Severini
- Pascal Haible
- Patrick Lecoanet
- Patrick Lerda
- Paul Anderson
- Paul Elliott
- Paul Mackerras
- Peter Breitenlohner
- Peter Hutterer
- Peter Kunzmann
- Peter Osterlund
- Peter Trattler
- Phil Karlton
- Philip Blundell
- Philip Homburg
- Philip Langdale
- Precision Insight Inc.
- Prentice Hall
- Quarterdeck Office Systems
- Radek Doulik
- Ralf Habacker
- Randy Hendry
- Ranier Keller
- Red Hat Inc.
- Regis Cridlig
- Rene Cougnenc
- Richard A. Hecker
- Richard Burdick
- Rich Murphey
- Rickard E. Faith
- Rik Faith
- Robert Chesler
- Robert Millan
- Robert V. Baron
- Robert W. Scheifler
- Robin Cutshaw
- Roland Mainz
- Roland Scheidegger
- Ronny Vindenes
- Russ Blaine
- Ryan Breen
- Ryan Lortie
- Ryan Underwood
- S. Lehner
- S3 Graphics Inc.
- Sam Leffler
- Santa Cruz Operation Inc.
- Sascha Hlusiak.
- SciTech Software
- Scott Laird
- Sebastien Marineau
- Serge Winitzki
- Sergey Vovk
- Shigehiro Nomura
- ShoGraphics Inc.
- Shunsuke Akiyama
- Silicon Graphics Computer Systems
- Silicon Graphics, Inc.
- Silicon Integrated Systems Corp
- Silicon Motion Inc.
- Simon P. Cooper
- Simon Thum
- Snitily Graphics Consulting Services
- Sony Corporation
- Søren Sandmann
- SRI
- Stanislav Brabec
- Stefan Bethge
- Stefan Dirsch
- Stefan Gmeiner
- Stephane Marchesin
- Stephan Lang
- Steven Lang
- Stuart Kreitman
- Sun Microsystems Inc.
- SunSoft Inc.
- SuSE Inc
- Sven Luther
- Takis Psarogiannakopoulos
- Takuma Murakami
- Takuya SHIOZAKI
- T. A. Phelps
- Tektronix Inc.
- Theo de Raadt
- Theodore Ts'o
- The Open Group
- The Unichrome Project
- The Weather Channel Inc.
- Thomas E. Dickey
- Thomas G. Lane
- Thomas Hellström
- Thomas Mueller
- Thomas Roell
- Thomas Thanner
- Thomas Winischhofer
- Thomas Wolfram
- Thorsten.Ohl
- Tiago Gons
- Tilman Sauerbeck
- Todd C. Miller
- Tomohiro KUBOTA
- Torrey Lyons
- Torrey T. Lyons
- TOSHIBA Corp.
- Toshimitsu Tanaka
- Travis Tilley
- Trolltech AS
- Troy D. Hanson
- Tungsten Graphics Inc.
- Tuomas J. Lukka
- Ty Sarna
- UCHIYAMA Yasushi
- Unicode Inc.
- UniSoft Group Limited
- University of California
- University of South Australia
- University of Utah
- University of Wisconsin
- UNIX System Laboratories Inc.
- URW++ GmbH
- Valery Inozemtsev
- VA Linux Systems
- VIA Technologies Inc.
- Video Electronics Standard Assoc.
- VMware Inc.
- Vrije Universiteit
- Wittawat Yamwong
- Wyse Technology Inc.
- X Consortium
- XFree86 Project Inc.
- Xi Graphics Inc.
- X-Oz Technologies
- X-TrueType Server Project
- X.Org Foundation
- XGI Technology
- Yu Shao
- Zack Rusin
- Zephaniah E. Hull
- Zhenyu Wang

This product includes software developed by The XFree86 Project, Inc () and its contributors.

This product includes software that is based in part on the work of the FreeType Team ().

This product includes software developed by the University of California, Berkeley and its contributors.

This product includes software developed by Christopher G. Demetriou.

This product includes software developed by the NetBSD Foundation, Inc. () and its contributors.

This product includes software developed by X-Oz Technologies ().