RandR (von englisch Resize and Rotate) ist ein Kommunikationsprotokoll, welches in Form einer Erweiterung von X11 oder Wayland zum Setzen von Monitoreinstellungen genutzt wird. XRandR (bzw. WRandR bei Wayland) kann Fenster skalieren, rotieren und reflektieren.[2]

RandR
Basisdaten

Hauptentwickler Keith Packard, Jim Gettys
Entwickler X.Org Foundation
Aktuelle Version 1.5.0
(16. Mai 2015[1])
Betriebssystem Linux
Kategorie Protokoll
www.x.org/wiki/Projects/XRandR/

Um den Grafikmodus zu wechseln, muss sowohl ein Befehl an die Bildschirm-Ansteuerungseinheit (engl. display controller) ausgehen, als auch einer an den x-server (X.Org Server), welche das Wurzelfenster entsprechend einstellt.

Die vom jeweiligen Bildschirm unterstützten Modi werden vom Grafiktreiber über EDID erhalten, während die von der Bildschirm-Ansteuerungseinheit unterstützten Modi im Treiber enthalten sind.

Die Möglichkeiten zu skalieren, zu rotieren und/oder zu reflektieren beziehen sich auf den Inhalt des Framebuffers, bzw. auf das Wurzelfenster.

Benutzer benutzen RandR entweder über ein graphisches Konfigurationsprogramm oder die Kommandozeilenprogramme xrandr (X11) bzw. weston-wrandr (Wayland).

Eine Beispielausgabe von xrandr sieht folgendermaßen aus:

Screen 0: minimum 8 × 8, current 1920 × 1080, maximum 32767 × 32767
eDP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080     60.05*+  40.03
   1400x1050     59.98
   1280x1024     60.02
   1280x960      60.00
   1024x768      60.00
   800x600       60.32    56.25
   640x480       59.94
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

In diesem Beispiel ist nur ein Monitor am DisplayPort-Anschluss 1 (mit eDP1 bezeichnet) angeschlossen (DisplayPort erlaubt den Anschluss von mehreren Bildschirmen an einem Anschluss über Verkettung (engl. daisy chaining)) und, das am eDP1-Ausgang ausgegebene Signal hat die Parameter Bildschirmauflösung=1920x1080 Pixel, Bildwiederholrate=60,05 Hz.[3] An den vorhandenen HDMI- und VGA-Anschlüssen ist nichts angeschlossen.

Der folgende Aufruf spiegelt die Ausgabe am LVDS-Ausgang 1 auf den HDMI-Ausgang 3, skaliert das Bild dabei aber. Als Ergebnis werden beide Ausgabegeräte mit ihrer jeweiligen nativen Auflösung betrieben:

xrandr --fb 1600x900 --output LVDS1 --mode 1600x900 --scale 1x1 --output HDMI3 --same-as LVDS1 --mode 1920x1200 --scale-from 1600x900[4]

Hinweis: Die Bezeichnung der einzelnen Ausgänge wird im DRM bestimmt.

Bildschirmfotos

Bearbeiten

Es gibt recht zahlreiche grafische Programme, welche RandR nutzen, um Bildschirmeinstellungen vorzunehmen. Wie aus dem obigen Beispiel zu entnehmen, bieten diese im Gegensatz zum Kommandozeilenprogramm weit weniger Möglichkeiten an, den bzw. die Bildschirme, dem Wunsch entsprechend zu konfigurieren.

Siehe auch

Bearbeiten

Einzelnachweise

Bearbeiten
  1. [ANNOUNCE] randrproto 1.5.0, 16. Mai 2015
  2. The X Resize, Rotate and Reflect Extension Version 1.5.0, 14. März 2015
  3. Phoronix: A Newbie’s Guide To RandR 1.2, 26. November 2007.
  4. Opening a Window to a Wider World.