X.Org Server

Last updated

Developer(s) X.Org Foundation
Initial release6 April 2004;20 years ago (2004-04-06) [1]
Stable release
21.1.13 [2]   OOjs UI icon edit-ltr-progressive.svg / 12 April 2024
Repository
Written in C
Operating system Cross-platform
Size 3.7 MiB [3]
Available in English
Type Display server
License MIT License
Website x.org

X.Org Server is the free and open-source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation.

Contents

Implementations of the client-side X Window System protocol exist in the form of X11 libraries, which serve as helpful APIs for communicating with the X server. [4] Two such major X libraries exist for X11. The first of these libraries was Xlib, the original C language X11 API, [5] but another C language X library, XCB, was created later in 2001. [6] Other smaller X libraries exist, both as interfaces for Xlib and XCB in other languages, and as smaller standalone X libraries.[ citation needed ]

The services with which the X.Org Foundation supports X Server include the packaging of the releases; certification (for a fee); evaluation of improvements to the code; developing the web site, and handling the distribution of monetary donations.[ citation needed ] The releases are coded, documented, and packaged by global developers.[ clarification needed ]

Software architecture

xdpyinfo, a command to show X.Org Server information Xdpyinfo screenshot.png
xdpyinfo, a command to show X.Org Server information

The X.Org Server implements the server side of the X Window System core protocol version 11 (X11) and extensions to it, e.g. RandR. [7]

Version 1.16.0 integrates support for systemd-based launching and management which improved boot performance and reliability. [8]

Device Independent X (DIX)

The Device Independent X (DIX) is the part of the X.Org Server that interacts with clients and implements software rendering. The main loop and the event delivery are part of the DIX. [9]

An X server has a tremendous amount of functionality that must be implemented to support the X core protocol. This includes code tables, glyph rasterization and caching, XLFDs, and the core rendering API which draws graphics primitives.

Device Dependent X (DDX)

The Device Dependent X (DDX) is the part of the x-server that interacts with the hardware. In the X.Org Server source code, each directory under "hw" corresponds to one DDX. Hardware comprises graphics cards as well as mouse and keyboards. Each driver is hardware specific and implemented as a separate loadable module.

2D graphics driver

For historical reasons the X.Org Server still contains graphics device drivers supporting some form of 2D rendering acceleration. In the past, mode-setting was done by an X-server graphics device driver specific to some video controller hardware (e.g., a GPU). To this mode-setting functionality, additional support for 2D acceleration was added when such became available with various GPUs. The mode-setting functionality was moved into the DRM and is being exposed through a DRM mode-setting interface, the new approach being called "kernel mode-setting" (KMS). But the 2D rendering acceleration remained.

In Debian the 2D graphics drivers for the X.Org Server are packaged individually and called xserver-xorg-video-*. [10] After installation the 2D graphics driver-file is found under /usr/lib/xorg/modules/drivers/. The package xserver-xorg-video-nouveau installs nouveau_drv.so with a size of 215 KiB, the proprietary Nvidia GeForce driver installs an 8 MiB-sized file called nvidia_drv.so and Radeon Software installs fglrx_drv.so with a size of about 25MiB.

The available free and open-source graphics device drivers are being developed inside of the Mesa 3D-project. While these can be recompiled as required, the development of the proprietary DDX 2D graphics drivers is greatly eased when the X.Org Server keeps a stable API/ABI across multiple of its versions.

With version 1.17 a generic method for mode-setting was mainlined. The xf86-video-modesetting package, the Debian-package being called xserver-xorg-video-modesetting, was retired, and the generic modesetting DDX it contained was moved into the server package to become the KMS-enabled default DDX, supporting the vast majority of AMD, Intel and NVidia GPUs.

On April 7, 2016 AMD employee Michel Dänzer released xf86-video-ati version 7.7.0 [11] and xf86-video-amdgpu version 1.1.0, [12] the latter including support for their Polaris microarchitecture.

Acceleration architectures

There are (at least) XAA (XFree86 Acceleration Architecture), [13] EXA, UXA and SNA.

XAA is an API between the Device-Independent-X (DIX) and the Device-Dependent-X (DDX), a 2D graphics driver, here e.g. with the Linux kernel. Linux graphics drivers 2D.svg
XAA is an API between the Device-Independent-X (DIX) and the Device-Dependent-X (DDX), a 2D graphics driver, here e.g. with the Linux kernel.

In the X Window System, XFree86 Acceleration Architecture (XAA) is a driver architecture to make a video card's 2D hardware acceleration available to the X server. [14] [15] It was written by Harm Hanemaayer in 1996 and first released in XFree86 version 3.3. It was completely rewritten for XFree86 4.0. [16] It was removed again from X.Org Server 1.13.

Most drivers implement acceleration using the XAA module. XAA is on by default, though acceleration of individual functions can be switched off as needed in the server configuration file (XF86Config or xorg.conf).

The driver for the ARK chipset was the original development platform for XAA.

In X.Org Server release 6.9/7.0, EXA was released as a replacement for XAA, as XAA supplies almost no speed advantage for current video cards. EXA is regarded as an intermediate step to converting the entire X server to using OpenGL.

Glamor

Glamor is a generic, hardware independent, 2D acceleration driver for the X server that translates the X render primitives into OpenGL operations, taking advantage of any existing 3D OpenGL drivers. [17] In this way, it is functionally similar to Quartz Extreme and QuartzGL (2D performance acceleration) for Apple Quartz Compositor.

The ultimate goal of GLAMOR is to obsolete and replace all the DDX 2D graphics device drivers and acceleration architectures, thereby avoiding the need to write X 2D specific drivers for every supported graphic chipset. [18] [19] [20] Glamor requires a 3D driver with support for shaders. [21]

Glamor performance tuning was accepted for Google Summer of Code 2014. [22] Glamor supports Xephyr and DRI3, [23] and can boost some operations by 700–800%. [24] Since its mainlining into version 1.16 of the X.Org Server, development on Glamor was continued and patches for the 1.17 release were published. [25]

Virtualization

There is a distinct and special DDX for instances of the X.Org Server which run on a guest system inside of a virtualized environment: xf86-video-qxl, a driver for the "QXL video device". SPICE makes use of this driver though it works without it as well.

In the Debian repositories it is called xserver-xorg-video-qxl, cf. https://packages.debian.org/buster/xserver-xorg-video-qxl

Input stack

Under Debian, drivers related to input are found under /usr/lib/xorg/modules/input/. Such drivers are named e.g. evdev_drv.so, mouse_drv.so, synaptics_drv.so or wacom_drv.so.

With version 1.16, the X.Org Server obtained support for the libinput library in form of a wrapper called xf86-input-libinput. [26] At the XDC 2015 in Toronto, libratbag was introduced as a generic library to support configurable mice. [27] [28] xserver-xorg-input-joystick is the input module for the X.Org server to handle classic joysticks and gamepads, which is not meant for playing games under X, but to control the cursor with a joystick or gamepad. [29] [30]

Other DDX components

XWayland
XWayland is a series of patches over the X.Org server codebase that implement an X server running upon the Wayland protocol. The patches are developed and maintained by the Wayland developers for compatibility with X11 applications during the transition to Wayland, [31] and were mainlined in version 1.16 of the X.Org Server in 2014. [8] When a user runs an X application from within Weston, it calls upon XWayland to service the request. [32]
XQuartz
XQuartz is a series of patches from Apple Inc. to integrate support for the X11 protocol into their Quartz Compositor, in a similar way to how XWayland integrates X11 into Wayland compositors.
Xspice
Xspice is a device driver for the X.Org Server. It supports the QXL framebuffer device and includes a wrapper script [33] which makes it possible to launch an X.Org Server whose display is exported via the SPICE protocol. This enables use of SPICE in a remote desktop environment, without requiring KVM virtualization.
Xephyr
Xephyr is an X-on-X implementation. Since version 1.16.0, Xephyr serves as the primary development environment for the new 2D acceleration subsystem (Glamor), permitting rapid development and testing on a single machine. [8]
RandR
RandR (resize and rotate) is a communications protocol written as an extension to the X11 [34] protocol. XRandR provides the ability to resize, rotate and reflect the root window of a screen. RandR is responsible for setting the screen refresh rate. [35] It allows for the control of multiple monitors. [36]

IPC

The X.Org Server, and any x-client, each run as distinct processes. On Unix/Linux, a process knows nothing about any other processes. For it to communicate with another process, it is completely and utterly reliant on the kernel to moderate the communication via available inter-process communication (IPC) mechanisms. Unix domain sockets are used to communicate with processes running on the same machine. Special socket function calls are part of the System Call Interface. Although Internet domain sockets can be used locally, Unix domain sockets are more efficient, since they do not have the protocol overhead (checksums, byte orders, etc.).

X.Org Server does not use D-Bus.

Sockets are the most common interprocess communication (IPC) method between the processes of the X server and its various X clients. It provides the Application Programming Interface (API) for communication in the TCP/IP domain and also locally only in the UNIX domain. There are several other APIs described in the X Transport Interface, for instance TLI (Transport Layer Interface). Other options for IPC between for the X client-server, require X Window system extensions, for instance the MIT Shared Memory Extension (MIT-SHM).

Multiseat configuration

Multi-seat refers to an assembly of a single computer with multiple "seats", allowing multiple users to sit down at the computer, log in, and use the computer at the same time independently. The computer has multiple keyboards, mice, and monitors attached to it, each "seat" having one keyboard, one mouse and one monitor assigned to it. A "seat" consists of all hardware devices assigned to a specific workplace. It consists of at least one graphics device (graphics card or just an output and the attached monitor) and a keyboard and a mouse. It can also include video cameras, sound cards and more.

Due to limitation of the VT system in the Linux kernel and of the X core protocol (in particular, how X defines the relation between the root window and an output of the graphics card), multi-seat does not work out-of-the-box for the usual Linux distribution but necessitates a special configuration.

There are these methods to configure a multi-seat assembly:

The utilized command-line options of the xorg-server are:

Only the user on the first monitor has the use of vt consoles and can use Ctrl+Alt+Fx to select them. The other users have a GDM login screen and can use xorg-server normally, but have no vt's.

Even though a single user can utilize multiple monitors connected to the different ports of a single graphics card (cf. RandR), the method which is based on multiple instances of the xorg-server seems to require multiple PCI graphics cards.

It is possible to configure multi-seat employing only one graphics card, but due to limitations of the X protocol this necessitates the usage of X Display Manager Control Protocol XDMCP. [37]

There is also Xdmx (Distributed Multihead X).

Adoption

Unix and Linux
The X.Org Server runs on many free-software Unix-like operating systems, including being adopted for use by most Linux distributions and BSD variants. It is also the X server for the Solaris operating system. X.Org is also available in the repositories of Minix 3.
Windows
Cygwin/X, Cygwin's implementation of the X server for Microsoft Windows, uses the X.Org Server, as do VcXsrv [38] (Visual C++ X-server [39] ) and Xming. SSH clients such as PuTTY allow launching of X applications through X11 forwarding on the condition that it is enabled on both the server and client.
OS X / macOS
OS X versions prior to Mac OS X Leopard (10.5) shipped with an XFree86-based server, but 10.5's X server adopted the X.Org codebase. [40] Starting with OS X Mountain Lion, (10.8) X11 is not bundled in OS X; instead, it has to be installed from, for example, the open source XQuartz project. [41] As of version 2.7.4, X11.app/XQuartz does not expose support for high-resolution Retina displays to X11 apps, which run in pixel-doubled mode on high-resolution displays.
OpenVMS
Current versions of the DECwindows X11 server for OpenVMS are based on X.org Server. [42]

History

A display server, such as X.Org Server, implements the windowing system and serves its clients. Schema of the layers of the graphical user interface.svg
A display server, such as X.Org Server, implements the windowing system and serves its clients.

The modern X.Org Foundation came into being in 2004 when the body that oversaw X standards and published the official reference implementation joined forces with former XFree86 developers. [43] X11R6.7.0, the first version of the X.Org Server, was forked from XFree86 4.4 RC2. [1] The immediate reason for the fork was a disagreement with the new license for the final release version of XFree86 4.4, but several disagreements among the contributors surfaced prior to the split. Many of the previous XFree86 developers have joined the X.Org Server project.

In 2005, a great effort was put in the modularization of the X.Org server source code, [44] resulting in a dual release by the end of the year. The X11R7.0.0 release added a new modular build system based on the GNU Autotools, while X11R6.9.0 kept the old imake build system, both releases sharing the same codebase. Since then the X11R6.9 branch is maintained frozen and all the ongoing development is done to the modular branch. The new build system also brought the use of dlloader standard dynamic linker to load plugins and drivers, deprecating the old own method. As a consequence of the modularization, the X11 binaries were moving out of their own /usr/X11R6 subdirectory tree and into the global /usr tree on many Unix systems.

In June 2006, another effort was done to move the X.Org server source codebase from CVS to git. [45] Both efforts had the long-term goal of bringing new developers to the project. In the words of Alan Coopersmith: [46]

Some of our efforts here have been technological - one of the driving efforts of the conversions from Imake to automake and from CVS to git was to make use of tools developers would already be familiar and productive with from other projects. The Modularization project, which broke up X.Org from one giant tree into over 200 small ones, had the goal of making it possible to fix a bug in a single library or driver without having to download and build many megabytes of software & fonts that were not being changed.

In the 7.1 release, the KDrive framework (a small implementation of X written by Keith Packard, which was not based on XFree86 that X.Org developers used as a testing ground for new ideas, such as EXA) was integrated into the main codebase of X.Org server.

In 2008, the new DRI2, based on the kernel mode-setting (KMS) driver, replaced DRI. This change also set a major milestone in the X.Org server architecture, as the drivers were moved out from the server and user space (UMS) to the kernel space.

In 2013, the initial versions of DRI3 and Present extensions were written and coded by Keith Packard to provide a faster and tearing-free 2D rendering. By the end of the year the implementation of GLX was rewritten by Adam Jackson at Red Hat. [47]

Releases

VersionDateX11 ReleaseMain features
Old version, no longer maintained: 1.021 December 2005 [48] X11R7.0 (1.0.1)Initial modularized X server, EXA architecture
Old version, no longer maintained: 1.122 May 2006 [49] X11R7.1 (1.1.0)KDrive integration, AIGLX support [50]
Old version, no longer maintained: 1.222 January 2007 [51] X11R7.2 (1.2.0)Autoconfiguration, enhanced support for GL-based compositing managers [52]
Old version, no longer maintained: 1.319 April 2007 [53] RandR 1.2 [54]
Old version, no longer maintained: 1.46 September 2007 [55] X11R7.3 (1.4.0)Input hotplugging support [55] [56]
Old version, no longer maintained: 1.53 September 2008 [57] X11R7.4 (1.5.1) MPX [58]
Old version, no longer maintained: 1.625 February 2009 [59] RandR 1.3, DRI2, XInput 1.5 [60]
Old version, no longer maintained: 1.71 October 2009 [61] X11R7.5 (1.7.1)XInput 2.0, multi-pointer X [62] [63]
Old version, no longer maintained: 1.82 April 2010 [64] xorg.conf.d, udev input handling [65]
Old version, no longer maintained: 1.920 August 2010 [66] X11R7.6 (1.9.3)
Old version, no longer maintained: 1.1025 February 2011 [67] X Synchronization Fences [68]
Old version, no longer maintained: 1.1126 August 2011 [69]
Old version, no longer maintained: 1.124 March 2012 [70] X11R7.7 (1.12.2)XInput 2.2 (including multi-touch support) [71]
Old version, no longer maintained: 1.135 September 2012 [72] New DDX driver API, DRI2 offload, RandR 1.4, OpenGL 3.x+ contexts, removing XAA [73]
Old version, no longer maintained: 1.145 March 2013 [74] XInput 2.3 [75]
Old version, no longer maintained: 1.1527 December 2013 [76] DRI3 and Present extensions [77] [78]
Old version, no longer maintained: 1.1617 July 2014 [79] XWayland DDX, GLAMOR acceleration, non-PCI devices support, systemd-logind support (rootless X), [79] [80] obtained support for the libinput library in form of a wrapper called xf86-input-libinput [81] [82]
Old version, no longer maintained: 1.174 February 2015 [83] Integration of the former xf86-video-modesetting generic DRM/KMS driver, [84] [85] added support for DRI2 with GLAMOR
Old version, no longer maintained: 1.189 November 2015 [86] RandR 1.5
Old version, no longer maintained: 1.1915 November 2016 [87] Threaded Input, PRIME synchronization, XWayland pointer confinement and warping, Windows DRI extension support [88]
Old version, no longer maintained: 1.2010 May 2018 [89] Meson build system improvements, GLXVND allows for distinct OpenGL drivers for different X screens, RandR leasing improves Steam VR support
Current stable version:21.127 October 2021 [90] Meson build system now on par with Autotools, Variable refresh rate support, touchpad gestures via XInput 2.4
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

See also

Related Research Articles

<span class="mw-page-title-main">X Window System</span> Windowing system for bitmap displays on UNIX-like systems

The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.

<span class="mw-page-title-main">XFree86</span> Implementation of the X Window System

XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and was available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It was developed by the XFree86 Project, Inc. The lead developer was David Dawes. The last released version was 4.8.0, released December 2008. The last XFree86 CVS commit was made on May 18, 2009; the project was confirmed dormant in December 2011.

<span class="mw-page-title-main">XQuartz</span> Version of the X.Org X server for macOS

XQuartz is an open-source version of the X.Org X server, a display server for the X Window System that runs on macOS. It formally replaced Apple's internal X11 app. The name "XQuartz" derives from Quartz, part of the macOS Core Graphics framework, to which XQuartz connects these applications. XQuartz allows cross-platform applications using X11 for the GUI to run on macOS, many of which are not specifically designed for macOS. This includes numerous scientific and academic software projects.

freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.

<span class="mw-page-title-main">X.Org Foundation</span> Nonprofit organization

The X.Org Foundation is a non-profit corporation chartered to research, develop, support, organize, administrate, standardize, promote, and defend a free and open accelerated graphics stack. This includes, but is not limited to, the following projects: DRM, Mesa 3D, Wayland, and the X Window System and its primary implementation, the X.Org Server.

GLX is an extension to the X Window System core protocol providing an interface between OpenGL and the X Window System as well as extensions to OpenGL itself. It enables programs wishing to use OpenGL to do so within a window provided by the X Window System. GLX distinguishes two "states": indirect state and direct state.

Keith Packard is a software developer, best known for his work on the X Window System.

<span class="mw-page-title-main">Direct Rendering Infrastructure</span> Framework

The Direct Rendering Infrastructure (DRI) is the framework comprising the modern Linux graphics stack which allows unprivileged user-space programs to issue commands to graphics hardware without conflicting with other programs. The main use of DRI is to provide hardware acceleration for the Mesa implementation of OpenGL. DRI has also been adapted to provide OpenGL acceleration on a framebuffer console without a display server running.

<span class="mw-page-title-main">EXA</span> Graphics acceleration architecture

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 obsolete XFree86 video drivers written to use XAA; it was designed by Zack Rusin and announced at LinuxTag 2005 and first released with X.Org Server version 6.9/7.0.

The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and perform operations such as configuring the mode setting of the display. DRM was first developed as the kernel-space component of the X Server Direct Rendering Infrastructure, but since then it has been used by other graphic stack alternatives such as Wayland and standalone applications and libraries such as SDL2 and Kodi.

Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers.

<span class="mw-page-title-main">Xgl</span> Display server implementation

Xgl is an obsolete display server implementation supporting the X Window System protocol designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL. It supports hardware acceleration of all X, OpenGL and XVideo applications and graphical effects by a compositing window manager such as Compiz or Beryl. The project was started by David Reveman of Novell and first released on January 2, 2006. It was removed from the X.org server in favor of AIGLX on June 12, 2008.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

Xsun is an X Window System (X11) display server implementation included with Solaris, developed by Sun Microsystems. It replaced the older Xnews server, which supported the display of not only X11 applications, but also NeWS and SunView programs. Xsun discontinued support for these legacy environments, and added support for Display PostScript.

evdev

evdev is a generic input event interface in the Linux kernel and FreeBSD. It generalizes raw input events from device drivers and makes them available through character devices in the /dev/input/ directory.

nouveau (software) Open source software driver for Nvidia GPU

nouveau is a free and open-source graphics device driver for Nvidia video cards and the Tegra family of SoCs written by independent software engineers, with minor help from Nvidia employees.

<span class="mw-page-title-main">Xephyr</span>

Xephyr is display server software implementing the X11 display server protocol based on KDrive which targets a window on a host X Server as its framebuffer. It is written by Matthew Allum. Xephyr is an X-on-X implementation and runs on X.Org Server and can work with Glamor. Future versions could make use of libinput. Replacing Xephyr with the xf86-video-dummy and xf86-video-nested drivers in the normal X.Org server is being considered as part of X11R7.8.

Video Decode and Presentation API for Unix (VDPAU) is a royalty-free application programming interface (API) as well as its implementation as free and open-source library distributed under the MIT License. VDPAU is also supported by Nvidia.

<span class="mw-page-title-main">Wayland (protocol)</span> Display system intended to replace X11

Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a Wayland compositor, because it additionally performs the task of a compositing window manager.

<span class="mw-page-title-main">AMDgpu (Linux kernel module)</span> AMD GPU driver for Linux

AMDgpu is an open source device driver for the Linux operating system developed by AMD to support its Radeon lineup of graphics cards (GPUs). It was announced in 2014 as the successor to the previous radeon device driver as part of AMD's new "unified" driver strategy, and was released on April 20, 2015.

References

  1. 1 2 "X.Org Foundation releases X Window System X11R6.7". LWN.net. 7 April 2004. Retrieved 4 April 2012.
  2. Matt Turner (12 April 2024). "[ANNOUNCE] xorg-server 21.1.13" . Retrieved 13 April 2024.
  3. "Debian X.Org Server Package in sid".
  4. "Xlib and XCB".
  5. "Xlib and XCB".
  6. "Xlib and XCB".
  7. "git: xorg-server, RandR".
  8. 1 2 3 "ANNOUNCE: xorg-server 1.16.0". freedesktop.org. 17 July 2014.
  9. "Glossary". X.org.
  10. "Details of package xserver-xorg-video-nouveau in stretch". packages.debian.org.
  11. "[ANNOUNCE] xf86-video-ati 7.7.0". 7 April 2016.
  12. "[ANNOUNCE] xf86-video-amdgpu 1.1.0". 7 April 2016.
  13. "Information for ARK Logic Chipset Users: Acceleration". XFree86.org. Archived from the original on 23 June 2018. Retrieved 22 September 2018.
  14. Anholt, Eric. "High Performance X Servers in the Kdrive Architecture". www.usenix.org. Retrieved 14 September 2018.
  15. Wetzel, Robert. "An acceleration architecture for DOpE" (PDF). wwwos.inf.tu-dresden.de. Retrieved 14 September 2018.
  16. "Release Notes for XFree86 4.0". XFree86 Project. 7 March 2000. Retrieved 16 September 2018.
  17. "What is Glamor?". FreeDesktop.org. Retrieved 10 February 2014.
  18. Anholt, Eric. "Building 2D rendering acceleration with OpenGL". linux.conf.au. Archived from the original on 4 March 2016. Retrieved 10 February 2014.
  19. Packard, Keith. "Brief Glamor Hacks" . Retrieved 7 March 2014.
  20. "Adam Jackson - GLX rewrite". 24 September 2013. Retrieved 23 March 2014.
  21. "Radeon Feature Matrix". freedesktop.org .
  22. "Glamor Performance Tuning".
  23. "GLAMOR Xephyr & DRI3 Support Called For Pulling". Phoronix. 5 March 2014.
  24. "GLAMOR Patch Bomb Can Boost Some Operations By 700~800%". Phoronix. 13 March 2014.
  25. "glamor changes for 1.17". 17 July 2014.
  26. Hutterer, Peter (24 September 2014). "libinput - a common input stack for Wayland compositors and X.Org drivers".
  27. "libratbag". X.org.
  28. "Tools to debug a broken input device". X.org.
  29. "XDC2012: xorg-input-joystick" (PDF) (pdf).
  30. "Details of package xserver-xorg-input-joystick in buster". packages.debian.org.
  31. "X Clients under Wayland (XWayland)". Wayland Project. Retrieved 10 February 2014.
  32. "Wayland". Arch Linux Project. Retrieved 9 May 2016.
  33. "XSpice README". Cgit.freedesktop.org. Retrieved 25 October 2013.
  34. "The X Resize, Rotate and Reflect Extension Version 1.3.1".
  35. Tyler, Chris (2008). X Power Tools. "O'Reilly Media, Inc.". pp. 86–87. ISBN   9780596101954 . Retrieved 14 September 2018.
  36. Gultsch, Daniel (2009). "Dual Image » Linux Magazine". Linux Magazine (106).
  37. "MultiseatOneCard - Community Help Wiki". help.ubuntu.com.
  38. "VcXsrv Windows X Server". Github.com. Retrieved 7 February 2024.
  39. "VcXsrv Windows X Server". SourceForge.net. Retrieved 23 June 2013. Windows X-server based on the xorg git sources (like xming or cygwin's xwin), but compiled with Visual C++ 2010.
  40. Re: Xorg in Leopard? Archived 13 February 2012 at the Wayback Machine , From: Ben Byer, Date: 29 June 2007, Apple Mailing Lists
  41. Slivka, Eric (17 February 2012). "Apple Removes X11 in OS X Mountain Lion, Shifts Support to Open Source XQuartz". MacRumors. Retrieved 23 February 2012.
  42. "Software Product Description and QuickSpecs - VSI OpenVMS Version 8.4-2L1 for Integrity servers" (PDF). VMS Software Inc. July 2019. Retrieved 2 January 2021.
  43. Coopersmith, Alan (28 May 2004). "The difference between Xorg and XFree86" . Retrieved 17 September 2018.
  44. "X.Org Foundation Modularization Working Group". X.Org Foundation. Retrieved 6 February 2014.
  45. Høgsberg, Kristian (July 2006). "Doing git migration now" . Retrieved 6 February 2014.
  46. Coopersmith, Alan. "Some times it's a book sprint, other times it's a marathon" . Retrieved 12 January 2019.
  47. "The X.Org Server's GLX Is Being Rewritten". 26 October 2013.
  48. "X11R6.9 and X11R7.0 Officially Released". X.org. Retrieved 7 February 2015.
  49. Jackson, Adam (22 May 2006). "[ANNOUNCE] xorg-server 1.1.0". X.org. Retrieved 7 February 2015.
  50. "Summary of new features in X11R7.1". X.org. Retrieved 7 February 2015.
  51. Jackson, Adam (23 January 2007). "[ANNOUNCE] xserver 1.2.0". X.org. Retrieved 7 February 2015.
  52. "X11R7.2 Release". X.org. Retrieved 7 February 2015.
  53. Packard, Keith (20 April 2007). "[ANNOUNCE] xorg-server 1.3.0.0 again". X.org. Retrieved 7 February 2015.
  54. Packard, Keith (5 March 2007). "[ANNOUNCE] xorg-server 1.2.99.901 (X server 1.3 RC1)". X.org. Retrieved 7 February 2015.
  55. 1 2 Anholt, Eric (6 September 2007). "[ANNOUNCE] xorg-server 1.4". X.org. Retrieved 7 February 2015.
  56. "X server version 1.4 release plans". X.org. Retrieved 7 February 2015.
  57. Jackson, Adam (3 September 2008). "[ANNOUNCE] xserver 1.5.0". X.org. Retrieved 7 February 2015.
  58. "MPX has been merged". 26 May 2008.
  59. Packard, Keith (25 February 2009). "[ANNOUNCE] xorg-server 1.6.0". X.org. Retrieved 7 February 2015.
  60. "Server 1.6 branch". X.org. Retrieved 7 February 2015.
  61. Hutterer, Peter (2 October 2009). "[ANNOUNCE] xorg-server 1.7.0". X.org. Retrieved 7 February 2015.
  62. "Server 1.7 branch". X.org. Retrieved 7 February 2015.
  63. Larabel, Michael. "X Server 1.7 Released With XI2/MPX Glory". Phoronix. Retrieved 7 February 2015.
  64. Packard, Keith (2 April 2010). "[ANNOUNCE] xorg-server 1.8.0". X.org. Retrieved 7 February 2015.
  65. Larabel, Michael. "X.Org Server 1.8.0 Is Here". Phoronix. Retrieved 7 February 2015.
  66. Packard, Keith (21 August 2010). "[ANNOUNCE] xorg-server 1.9.0". X.org. Retrieved 7 February 2015.
  67. Packard, Keith (26 February 2011). "[ANNOUNCE] xorg-server 1.10.0". X.org. Retrieved 7 February 2015.
  68. Larabel, Michael. "That Was Quick, X Server 1.10 Officially Released". Phoronix. Retrieved 8 February 2015.
  69. Packard, Keith (27 August 2011). "[ANNOUNCE] xorg-server 1.11.0". X.org. Retrieved 7 February 2015.
  70. Packard, Keith (5 March 2012). "[ANNOUNCE] xorg-server 1.12.0". X.org. Retrieved 7 February 2015.
  71. Larabel, Michael. "X.Org Server 1.12 Released With Multi-Touch". Phoronix. Retrieved 8 February 2015.
  72. Packard, Keith (5 September 2012). "[ANNOUNCE] xorg-server 1.13.0". X.org. Retrieved 7 February 2015.
  73. Larabel, Michael. "X.Org Server 1.13 Released With Massive Changes". Phoronix. Retrieved 8 February 2015.
  74. Packard, Keith (6 March 2013). "[ANNOUNCE] xorg-server 1.14.0". X.org. Retrieved 7 February 2015.
  75. Packard, Keith (19 December 2012). "[ANNOUNCE] xorg-server 1.13.99.901 (1.14 RC1)". X.org. Retrieved 9 February 2015.
  76. Packard, Keith (27 December 2013). "[ANNOUNCE] xorg-server 1.15.0". X.org. Retrieved 7 February 2015.
  77. Packard, Keith (November 2013). "[ANNOUNCE] xorg-server 1.14.99.901". X.org. Retrieved 9 February 2015.
  78. Larabel, Michael. "X.Org Server 1.15 Release Has Several New Features". Phoronix. Retrieved 9 February 2015.
  79. 1 2 Packard, Keith (17 July 2014). "[ANNOUNCE] xorg-server 1.16.0". X.org. Retrieved 7 February 2015.
  80. Larabel, Michael. "X.Org Server 1.16 Officially Released With Terrific Features". Phoronix. Retrieved 9 February 2015.
  81. Hutterer, Peter (24 September 2014). "libinput - a common input stack for Wayland compositors and X.Org drivers" . Retrieved 17 April 2016.
  82. de Goede, Hans (1 February 2015). "Replacing xorg input - Drivers with libinput" (PDF). Retrieved 18 April 2016.
  83. Packard, Keith (4 February 2015). "[ANNOUNCE] xorg-server 1.17.0". X.org. Retrieved 7 February 2015.
  84. Packard, Keith (29 October 2014). "[ANNOUNCE] xorg-server 1.16.99.901". X.org. Retrieved 9 February 2015.
  85. Larabel, Michael. "X.Org Server 1.17 Officially Released". Phoronix. Retrieved 9 February 2015.
  86. Jackson, Adam (9 November 2015). "[ANNOUNCE] xorg-server 1.18.0". xorg-announce (Mailing list).
  87. Packard, Keith (15 November 2016). "[ANNOUNCE] xorg-server 1.19.0". xorg-announce (Mailing list).
  88. Larabel, Michael. "X.Org Server 1.19 Officially Released With A Year's Worth Of Improvements". Phoronix. Retrieved 15 November 2016.
  89. Jackson, Adam (10 May 2018). "[ANNOUNCE] xorg-server 1.20". xorg-announce (Mailing list).
  90. Kanapickas, Povilas (27 October 2021). "[ANNOUNCE] xorg-server 21.1.0". xorg-announce (Mailing list).