Xinerama
Encyclopedia
Xinerama is an extension to the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

 which enables multi-headed X applications and window manager
Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...

s to use two or more physical displays as one large virtual display.

It was originally developed by Madeline T. Asmus of the Unix X Server Engineering Group at Digital Equipment Corporation
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...

 (under the name PanoramiX), who contributed it to The Open Group
The Open Group
The Open Group is a vendor and technology-neutral industry consortium, currently with over three hundred member organizations. It was formed in 1996 when X/Open merged with the Open Software Foundation...

 for X11 Release 6.4 (X11R6.4), where it was renamed Xinerama. From there it was incorporated into XFree86
XFree86
XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the...

 for the XFree86 4.0 release, and Solaris in the Solaris 7 11/99 release. According to Rob Lembree, X Server project lead at the time, the name Xinerama was inspired from the Cinerama
Cinerama
Cinerama is the trademarked name for a widescreen process which works by simultaneously projecting images from three synchronized 35 mm projectors onto a huge, deeply-curved screen, subtending 146° of arc. It is also the trademarked name for the corporation which was formed to market it...

 widescreen theatre process. "We were frustrated by having big Alpha machines with multiple displays, and being unable to move applications from one to another. It was developed as much out of frustration as competitive advantage."

It is also an advantage if the window manager, via Xinerama awareness, can pop up new windows on the active physical display. Another advantage of Xinerama awareness is to only maximize windows to the dimensions of the active physical display.

General theory of operation

The general mode of operation is that multiple X screens (as denoted normally by :0.0, :0.1, etc) can be unified into a single workspace via enabling Xinerama in the X server. This creates a single unified work area that allows windows to be transferred across X screens.

XINERAMA extension

The Xinerama extension is used to provide clients with information about the layout of viewports within the unified workspace. It contains offset and size information to allow clients to make intelligent decisions about window placement, window maximization and other user interaction events.

Use in non-XINERAMA environments

Due to the X server's client/server architecture, the server can expose Xinerama information to the client without the X server's Xinerama infrastructure being active.

RandR
RandR
The X Resize, Rotate and Reflect Extension is a X Window System extension, which allows clients to dynamically change X screens, so as to resize, rotate and reflect the root window of a screen. The initial X11 design did not anticipate the need for dynamic resizing and it was necessary to restart...

 and NVidia
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

's twinview utilize this to provide window managers and clients with useful information about the output layout relative to the framebuffer.

Future of XINERAMA

The X.Org Consortium had convened a standards committee to document the protocol and API as formal standards, but that effort has now ended. Development of the Xinerama code is now hosted on freedesktop.org and managed by the X.Org Foundation.

The RANDR extension exports its CRTC geometry in the Xinerama protocol, as well as through its own protocol. This breaks down when attempting to use multiple GPUs, because the reference X server's Xinerama implementation also tries to provide the Xinerama geometry to the protocol. Work to fix this is underway.

As of the 1.10 X server release, the Xinerama rendering multiplexer and Composite extensions no longer conflict.

Common color depth

Xinerama requires that the physical screens have the same bit depth — an 8-bit screen cannot be combined with a 16-bit screen, for example.

Hardware rendering

In most Open Source implementations, OpenGL (3D) direct-rendering only works on one of the screens. Windows that should show 3D graphics on other screens tend to just appear black. This is most commonly seen with 3D screen savers, which show on one of the screens and black on the others. The Solaris SPARC OpenGL implementation, ATI Proprietary Linux driver and nVidia Proprietary Linux driver all support hardware accelerated rendering to all screens in Xinerama mode.

Static configuration

There is currently no way to dynamically add or remove physical screens, and there is no way to change the resolution of a screen. (The RandR
RandR
The X Resize, Rotate and Reflect Extension is a X Window System extension, which allows clients to dynamically change X screens, so as to resize, rotate and reflect the root window of a screen. The initial X11 design did not anticipate the need for dynamic resizing and it was necessary to restart...

 feature is disabled when Xinerama is used). This is a particular difficulty for laptop
Laptop
A laptop, also called a notebook, is a personal computer for mobile use. A laptop integrates most of the typical components of a desktop computer, including a display, a keyboard, a pointing device and speakers into a single unit...

 and tablet PC
Tablet computer
A tablet computer, or simply tablet, is a complete mobile computer, larger than a mobile phone or personal digital assistant, integrated into a flat touch screen and primarily operated by touching the screen...

 users (or any mobile computer), where you commonly want to sit at a desk and use an external physical display in addition to the computer's built-in screen, but only when at the desk. In these cases, use of RandR, ATI's or nVidia's single GPU method is recommended.

Because Xinerama does not support adding or removing screens, it causes several problems:
  • When the external screen is not connected, windows may still appear on it. You have to drag them to the built-in screen without being able to see them.
  • The laptop may still be sending video signals, which uses unnecessary power and may reduce the battery life
    Battery life
    Battery life can refer to*How long a mobile device can work on a single charge of a rechargeable battery.*Battery lifetime degrading of battery quality over time....

    .
  • When you want to use a different external display (for example when moving between locations that have one), there's a good chance it will need different settings like screen resolution and refresh rate
    Refresh rate
    The refresh rate is the number of times in a second that a display hardware draws the data...

    . But you cannot change these settings when Xinerama is enabled.


These are all problems with the Xinerama implementation rather than the design, and they could be fixed with sufficient work.

Window manager support

Some window manager
Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...

s and desktop environment
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...

s have limited awareness of the separate physical screens in Xinerama. They work, but the desktop is simply stretched over the physical screens. When a window opens, the window manager may place it on an unexpected screen, which is confusing and annoying if the displays are not arranged like a single large desktop.

Despite these problems, Xinerama offers an advantage over separate X screens: You can move windows between Xinerama screens.

Dead space

The physical displays do not need to be the same resolution. Some window managers assume that the virtual display area is rectangular, but this isn't necessarily the case if the component physical displays are not the same size. The excess space, which is needed to make the area rectangular, is called "dead space". The window manager needs to be aware of Xinerama to recognize dead space, and avoid placing new windows there.

Resource

Asmus, Madeline T. (December 1995) "The PanoramiX Extension" THE X RESOURCE 16: A Practical Journal of the X Window System. pp.59-73 ISBN 1565921666.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK