X.Org Server

From Wikipedia, the free encyclopedia
  (Redirected from Xorg)
Jump to: navigation, search
X.Org Server
X.Org Server logo
Developer(s) X.Org Foundation
Initial release 6 April 2004; 10 years ago (2004-04-06)[1]
Stable release 1.15 (December 27, 2013; 6 months ago (2013-12-27)[2]) [±]
Preview release 1.15.99.903 (June 4, 2014; 37 days ago (2014-06-04)[3]) [±]
Written in C
Operating system Cross-platform
Size 3.7 MiB[4]
Available in English
Type display server
License MIT License
Website www.x.org

X.Org Server refers to the free and open source implementation of the X Window System stewarded by the X.Org Foundation that includes not only the display server but also the client libraries (like Xlib and XCB), developer and user tools, and the rest of the components required to run an entire X Window System architecture.

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

History[edit]

DRI-based graphics stack
A display server like 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. X11R6.7.0, the first version of the X.Org Server, was forked from XFree86 4.4 RC2. 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,[5] 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 release 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 (using GNU Autotools) 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.[6] Both efforts had the long-term goal of bringing new developers to the project. In the words of Alan Coopersmith:[7]

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 release 7.1 the KDrive framework (a small implementation of X, written by Keith Packard, that 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 KMS-based DRI2 replaced the old 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 2013 the implementation of GLX was rewritten by Adam Jackson at Red Hat.[8]

Support for DRI3 was added to X.Org Server 1.15.[9] X.Org Server 1.16 received support for XWayland and Glamor.[10]

Xspice[edit]

There is a device driver for the X.Org Server called Xspice. It supports the QXL framebuffer device and includes a wrapper script[11] 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.

Future development lines[edit]

XWayland[edit]

XWayland is a series of patches over the X.Org server codebase to implement a X server running upon the Wayland protocol. The patches are developed and maintained by the Wayland developers for compatibility of X11 applications during the transition to Wayland,[12] and is expected to be mainlined[13] in version 1.16 of X.Org server.

Glamor[edit]

Glamor is a generic 2D acceleration driver for the X server that works translating the X render primitives to OpenGL operations, taking advantage of any existing 3D OpenGL drivers, proprietary and open-source.[14] The ultimate goal of GLAMOR is to obsolete and replace all the DDX, the device dependent X drivers, and acceleration architectures for them (like XAA, EXA, UXA or SNA) by a single hardware independent 2D driver, avoiding the need to write X 2D specific drivers for every supported graphic chipset.[15][16][17] Glamor requires a 3D driver with shader support.[18]

Glamor performance tuning was accepted for Google Summer of Code 2014.[19]

Adoption[edit]

Unix and Linux[edit]

The X.Org Server is a display server that is to be replaced by another display server: Wayland compositor
Illustration of the Linux graphics stack

The X.Org Server runs on many free-software Unix-like operating systems; most Linux distributions and BSD variants have adopted it. It is also the X server for the Solaris operating system.

Microsoft Windows[edit]

Cygwin/X, Cygwin's implementation of the X server for Microsoft Windows, uses the X.Org Server, as do VcXsrv[20] (Visual C++ X-server[21]) and Xming.

OS X[edit]

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.[22] Starting with OS X Mountain Lion, (10.7) X11 is not bundled in OS X; instead, it has to be installed from, for example, the open source XQuartz project.[23] 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.

See also[edit]

References[edit]

  1. ^ "X.Org Foundation releases X Window System X11R6.7". Linux Weekly News. 2004-04-07. Retrieved 2012-04-04. 
  2. ^ http://lists.x.org/archives/xorg-announce/2013-December/002384.html
  3. ^ "xorg-server 1.15.99.903". 2014-06-04. 
  4. ^ "Debian X.Org Server Package in sid". 
  5. ^ "X.Org Foundation Modularization Working Group". X.Org Foundation. Retrieved 6 February 2014. 
  6. ^ Høgsberg, Kristian. "Doing git migration now". Retrieved 6 February 2014. 
  7. ^ Coopersmith, Alan. "Some times it’s a book sprint, other times it’s a marathon". Retrieved 6 February 2014. 
  8. ^ "The X.Org Server's GLX Is Being Rewritten". 2013-10-26. 
  9. ^ "ANNOUNCE: xorg-server 1.14.99.901". 2013-11-01. 
  10. ^ "add XWayland GLAMOR & DRI3 support". 2014-06-25. 
  11. ^ "XSpice README". Cgit.freedesktop.org. Retrieved 2013-10-25. 
  12. ^ "X Clients under Wayland (XWayland)". Wayland Project. Retrieved 10 February 2014. 
  13. ^ "Part Of XWayland Has Been Proposed For Mainlining". 2013-10-17. 
  14. ^ "What is Glamor?". FreeDesktop.org. Retrieved 10 February 2014. 
  15. ^ Anholt, Eric. "Building 2D rendering acceleration with OpenGL". linux.conf.au. Retrieved 10 February 2014. 
  16. ^ Packard, Keith. "Brief Glamor Hacks". Retrieved 7 March 2014. 
  17. ^ "Adam Jackson - GLX rewrite". 2013-09-24. Retrieved 2014-03-23. 
  18. ^ "Radeon Feature Matrix". freedesktop.org. 
  19. ^ "Glamor Performance Tuning". 
  20. ^ "VcXsrv Windows X Server". Sourceforge.net. Retrieved 2014-04-28. 
  21. ^ "VcXsrv Windows X Server". SourceForge.net. Retrieved 2013-06-23. "Windows X-server based on the xorg git sources (like xming or cygwin's xwin), but compiled with Visual C++ 2010." 
  22. ^ Re: Xorg in Leopard?, From: Ben Byer, Date: 29 June 2007, Apple Mailing Lists
  23. ^ Slivka, Eric (February 17, 2012). "Apple Removes X11 in OS X Mountain Lion, Shifts Support to Open Source XQuartz". MacRumors. Retrieved February 23, 2012. 

External links[edit]