RandR
Original author(s) | X.Org Foundation |
---|---|
Stable release | 1.3.1[1]
/ August 11, 2009 |
Website | x.org/wiki/Projects/XRandR |
The X Resize, Rotate and Reflect Extension (RandR)[2] 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 the X server to bring about the changes. However, changing the screen resolution on the fly without changing the desktop size had been available under XFree86 since the beginning. RandR extension framework brought the ability to change display characteristics without restarting the X session. The extension framework allows laptops and handheld computers to change their screen size to drive external monitors at different resolutions than their built in screens.[3]
If one's desktop environment doesn't provide a graphical tool for interfacing with this functionality, the xrandr command line tool may be used.
Key terms
The X window system (q.v.) has nuanced usage of a number of terms when compared to common usage, particularly "display" and "screen", a subset of which is given here for convenience:
- device
- A graphics device such as a computer graphics card or a computer motherboard's integrated graphics chipset.
- monitor
- A physical device such as a CRT or a flat screen computer display.
- screen
- An area into which graphics may be rendered, either through software alone into RAM as with VNC, or within a graphics device, some of which support rendering into more than one screen simultaneously, either viewable simultaneously or interchangeably. Interchangeable screens are often set up to be notionally left and right from one another, flipping from one to the next as the mouse pointer reaches the edge of the monitor.
- virtual screen
- Two different meanings are associated with this term:
- A technique allowing panning a monitor around a screen running at a larger resolution than the monitor is currently displaying.
- An effect simulated by a window manager by maintaining window position information in a larger coordinate system than the screen and allowing panning by simply moving the windows in response to the user.
- display
- A collection of screens, often involving multiple monitors, generally configured to allow the mouse to move the pointer to any position within them. Linux-based workstations usually support having multiple displays, which are switched by special keyboard combinations such as control-alt-function-key, simultaneously flipping all the monitors from showing the screens of one display to the screens in another.
The term "display" should not be confused with the more specialized jargon "Zaphod display". The latter is a rare configuration allowing multiple users of a single computer to each have an independent set of display, mouse, and keyboard, as though they were using separate computers, but at a lower per-seat cost.
Limitations and criticisms of RandR
This section contains confusing and inaccurate terminology and information This section has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
No issues specified. Please specify issues, or remove this template. |
RandR 1.2
RandR 1.2 only permits one virtual screen per display device. It is not possible to assign each monitor on a device to a different screen (sometimes called "Zaphod" mode), or to combine monitors from multiple devices into a single screen.[4]
One practical limiting effect of this is that it is not possible to run a different WM on each monitor, since window managers are limited to one per screen.
Some of these specific issues are resolved in RandR 1.3[5], but the Xorg Foundation has been criticised for removing useful, and widely used[citation needed], functionality before an effective substitute is available.[citation needed]
Release history
RandR 1.3
Some of the features in version 1.3[6]:
- querying state without output probing
- multi-monitor panning (still limited to one separate screen per GPU[7])
- display transformations (translation, scaling, rotation, projection)
- support for standard outputs
References
- ^ lists.freedesktop.org [ANNOUNCE] xrandr 1.3.1 Release
- ^ The X Resize, Rotate and Reflect Extension Version 1.3.1
- ^ The X Resize and Rotate Extension (Jim Gettys and Keith Packard, Usenix Technical Conference 2001)
- ^ Debian XStrikeForce (documentation and information on Xrandr 1.2)
- ^ Freedesktop.org GIT Repository Browser - XRandR Protocol Headers - "Add unicode art pictures for panning"
- ^ RandR 1.3 Explained, Demonstrated
- ^ Overview of the GPU object implementation state