X.Org Server

System/Common 2014. 4. 9. 17:07


X.Org Server
X.Org Server logo
Developer(s)X.Org Foundation
Initial release6 April 2004; 10 years ago[1]
Stable release1.15 (December 27, 2013; 3 months ago[2]) [±]
Preview release1.15.0 (December 27, 2013; 3 months ago[3]) [±]
Written inC
Operating systemCross-platform
Size3.7 MiB[4]
Available inEnglish
Typedisplay server
LicenseX11 License
Websitewww.x.org


X.Org Server refers to the X server release packages stewarded by the X.Org Foundation, which is hosted by freedesktop.org, and grants public access to thestandard X Window releases for the efforts of the free and open source software community.

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 globaldevelopers[clarification needed].

History[edit]

DRI-based graphics stack
display server like X.Org Serverimplements 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]

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[9] 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 serie 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,[10] and is expected to be mainlined[11] in a future release 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.[12] The ultimate goal of GLAMOR is to obsolete and replace all the DDX, the device dependent X drivers, and acceleration architectures for them (like XAAEXAUXA or SNA) by a single hardware independent 2D driver, avoiding the need to write X 2D specific drivers for every supported graphic chipset.[13][14][15]

Adoption[edit]

Unix and Linux[edit]

The X.Org Server is a display serverthat 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 Solarisoperating system.

Microsoft Windows[edit]

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

Apple[edit]

Mac OS X versions prior to 10.5 ("Leopard") shipped with an XFree86-based server, but 10.5's X server adopted the X.Org codebase.[18] Starting with OS X Mountain Lion, X11 is not bundled in OS X; instead, it has to be installed from, for example, the open source XQuartz project.[19] 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. Jump up^ "X.Org Foundation releases X Window System X11R6.7". Linux Weekly News. 2004-04-07. Retrieved 2012-04-04.
  2. Jump up^ http://lists.x.org/archives/xorg-announce/2013-December/002384.html
  3. Jump up^ http://xorg.freedesktop.org/releases/individual/xserver/
  4. Jump up^ "Debian X.Org Server Package in sid".
  5. Jump up^ "X.Org Foundation Modularization Working Group". X.Org Foundation. Retrieved 6 February 2014.
  6. Jump up^ Høgsberg, Kristian. "Doing git migration now". Retrieved 6 February 2014.
  7. Jump up^ Coopersmith, Alan. "Some times it’s a book sprint, other times it’s a marathon". Retrieved 6 February 2014.
  8. Jump up^ "The X.Org Server's GLX Is Being Rewritten". 2013-10-26.
  9. Jump up^ "XSpice README". Cgit.freedesktop.org. Retrieved 2013-10-25.
  10. Jump up^ "X Clients under Wayland (XWayland)". Wayland Project. Retrieved 10 February 2014.
  11. Jump up^ "Part Of XWayland Has Been Proposed For Mainlining". 2013-10-17.
  12. Jump up^ "What is Glamor?". FreeDesktop.org. Retrieved 10 February 2014.
  13. Jump up^ Anholt, Eric. "Building 2D rendering acceleration with OpenGL"linux.conf.au. Retrieved 10 February 2014.
  14. Jump up^ Packard, Keith. "Brief Glamor Hacks". Retrieved 7 March 2014.
  15. Jump up^ "Adam Jackson - GLX rewrite". 2013-09-24. Retrieved 2014-03-23.
  16. Jump up^ http://sourceforge.net/projects/vcxsrv/
  17. Jump up^ "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."
  18. Jump up^ Re: Xorg in Leopard?, From: Ben Byer, Date: 29 June 2007, Apple Mailing Lists
  19. Jump up^ 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]



출처 - http://en.wikipedia.org/wiki/X.Org_Server



'System > Common' 카테고리의 다른 글

virtualbox - 64bit guest 32bit host  (0) 2014.04.21
ACPI(Adavanced Configuration and Power Interface)  (0) 2014.04.11
Windowing system  (0) 2014.04.09
display server like X.Org server  (0) 2014.04.09
X window manager  (0) 2014.04.09
Posted by linuxism
,

Windowing system

System/Common 2014. 4. 9. 17:06


The display server (here called Wayland compositor) is the central component of a windowing system. It communicates with its clients over the display server protocol.[citation needed]
Typical elements of a window. The window decoration is either drawn by the window manager(X11) or by the client (Wayland). The drawing of the content is the task of the client.[citation needed]

windowing system (or window system) is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer)paradigm for a user interface. Each currently running application is assigned a usually resizeable and usually rectangular shaped surface of the entire screen to present its graphical user interface to the user. Usually a window decoration is drawn around each window. The programming of both, the window decoration and of available widgets inside of the window, these are graphical elements for direct user interaction, such as sliders, buttons, etc., is eased and simplified through the use of widget toolkits. The idea behind any of the available desktop environments is to use the same widget toolkit for all clients, and to create and groom icon sets and themes to achieve a consistent "look and feel" for at least the main programs, such as the file browser.[citation needed]

Technical details[edit]

The main central key component of any windowing system is usually called display server, though alternative denominations such as window server or compositor are also in use. Any application that runs and presents its GUI in a window, is a client of the display server. The display server and its clients communicate with each other over a communications protocol, which is usually called display server protocol, the display server being the mediator between the clients and the user. It receives all the input from the kernel, that the kernel receives from all attached input devices, such as keyboardpointing devices, or touchscreen and transmits it to the correct client. The display server is also responsible for the output of the clients to the computer monitor. The output of sound is usually not managed by the display server, but the sound volume, is usually handled through GUI applets and it is the display server who decides which applications are on top. A windowing system enables the computer user to work with several programs at the same time. Each program presents its GUI in its own window, which is generally a rectangular area of the screen.[citation needed]

From a programmer's point of view, a windowing system implements graphical primitives such as rendering fonts or drawing a line on the screen, effectively providing an abstraction of the graphics hardware from higher level elements of the graphical interface like window managers.[citation needed]

A display server protocol can be network capable or even network transparent, facilitating the implementation of thin clients.[citation needed]

List of windowing systems[edit]

For Unix-like operating systems[edit]

Web windowing systems[edit]

Other[edit]

Operating systems such as Microsoft WindowsMac OS (version 9 and earlier), and Palm OS, contain a windowing system which is integrated with the OS.[citation needed]

See also[edit]



출처 - http://en.wikipedia.org/wiki/Windowing_system



'System > Common' 카테고리의 다른 글

ACPI(Adavanced Configuration and Power Interface)  (0) 2014.04.11
X.Org Server  (0) 2014.04.09
display server like X.Org server  (0) 2014.04.09
X window manager  (0) 2014.04.09
XDM(X Display Manager)  (0) 2014.04.09
Posted by linuxism
,



The basic components of a GUI: the display server implements the windowing system, a simplewindow manager draws only the window decorations, though compositing window managers do more.


display server or window server is a program whose primary task is to coordinate the input and output of its clients to and from the rest of the operating system, the hardware and to and from each other. The display server communicates with its clients over the display server protocol, a communications protocol, which can be network transparent or simply network capable.

The display server is a key component in any graphical user interface, specifically the windowing system.

Available display server communications protocols[edit]

X.org[edit]

X11.svg

One example of a display server is the X Window System, which runs on top of the kernel. It receives data from evdev (a loadable kernel module which is usually compiled as part of the kernel and not as a module) and passes it to one of its clients. The display server also receives data from its clients; it processes the data, it does the compositing and passes the data to one of three kernel components – drmgem or kms. The component writes the data into the framebuffer and content of the framebuffer is transmitted to the connected screen and displayed. X relies on GLX.

One of the implementations of display server concept is X Window System, in particular its actually used version – X.Org Server and Xlib and XCB client libraries. The X.Org Server is a display server, but in its current implementation it relies on a second program, the compositing window manager, to do the compositing. Examples are Mutter or KWin.

Notable examples of display servers implementing the X11 display server protocol are X.Org ServerXFree86X11.app and Cygwin/X, while client libraries implementing the X11 display server protocol are Xliband XCB.

One tool called xev is a unix command which creates a window and then asks the display server to send information of events every time something happens to the window (like if it's resized, if any keys are pushed, if it's clicked it etc.) to the console.

Wayland[edit]

Wayland Logo.svg
The Wayland display server protocol

The Wayland display server protocol defines that the display server is responsible for the compositing, while each of its clients is responsible for the drawing. Thus, display servers as defined by the Wayland display server protocol, contain logic of a typical X compositing window manager and are also called Wayland compositors. Implementations are Weston, Mutter, KWin or Clayton. These programs additionally include the window manager and, for security reasons, also the screensaver (when standalone it exposes bare desktop if crashed or killed). Wayland compositors communicate with wayland clients over the Wayland display server protocol. This protocol defines that clients can directly write data into the framebuffer using the EGL rendering API. The display server still gets to decide which window is on top and thus visible to the user and also still is responsible for passing data regarding to input devices from evdev to its clients.

Display servers and clients implementing the Wayland display server protocol are employed not only in modern Linux desktop distributions but also in ones running on mobile devices, such as the mer-based Sailfish OS or the operating system running on the Vivaldi Tablet.

The only client library implementing the X11 display server protocol is libwayland-client.

Mir[edit]

The Mir display server protocol is different to X11 and Wayland. It is developed by Canonical Ltd. and is intended to be the display server of choice for Ubuntu.

There is only one program and one client library for the Mir protocol. They are the Mir display server and the libmir-client library, respectively.

SurfaceFlinger[edit]

For Android, another Linux-based operating system primarily for mobile devices, Google Inc. developed the display server SurfaceFlinger.[1][2]

Quartz Compositor[edit]

Quartz2D.png

Quartz Compositor is the name of the component, that is fulfilling the tasks of a display server and of a window manager in the windowing system, that is being natively used by the Mac OS X family of operating systems.

References[edit]

See also[edit]



출처 - http://en.wikipedia.org/wiki/Display_server




'System > Common' 카테고리의 다른 글

X.Org Server  (0) 2014.04.09
Windowing system  (0) 2014.04.09
X window manager  (0) 2014.04.09
XDM(X Display Manager)  (0) 2014.04.09
X.Org Server  (0) 2014.04.09
Posted by linuxism
,