RandR
Artikel wird überarbeitet
Dieser Artikel wird momentan überarbeitet.
Solltest du dir nicht sicher sein, ob an dieser Anleitung noch gearbeitet wird, kontrolliere das Datum der letzten Änderung und entscheide, wie du weiter vorgehst.
Achtung: Insbesondere heißt das, dass dieser Artikel noch nicht fertig ist und dass wichtige Teile fehlen oder sogar falsch sein können. Bitte diesen Artikel nicht als Anleitung für Problemlösungen benutzen!
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
RandR steht für "Resize and Rotate" und ist ab Ubuntu 8.10 das Standardwerkzeug zur Konfiguration von Grafikkarten und Bildschirmauflösungen. Der moderne XServer erkennt viele Monitore beim Anstecken an die Grafikkarte automatisch und passt die X-Konfiguration dynamisch an. Über RandR lässt sich die Auflösung mehrerer angeschlossener Monitore bzw. Beamer sowie ein erweiterter Desktop recht einfach konfigurieren. Darüber hinaus kann man die evtl. vorhandene Pivot-Funktion eines Bildschirms nutzen.
RandR wird von den freien Grafiktreibern für den XServer in der Regel in vollem Umfang unterstützt. Diese Aussage gilt jedoch nur bedingt für herstellereigene (proprietäre) Kernelmodule (Treiber). Insbesondere das unfreie Kernelmodul von NVidia-Grafikkarten unterstützt nur einen älteren RandR-Standard (bzw. den neueren nur unvollständig). Wichtig wird dies bei mehreren Monitoren, da die Konfiguration eines erweiterten Desktops die vollständige Unterstützung von RandR 1.2 voraussetzt, wie sie der herstellereigene Treiber von ATI/AMD seit geraumer Zeit bieten kann. Nvidia stellt daher als Alternative das Programm nvidia-settings und für einen erweiterten Desktop den Betriebsmodus TwinView zur Verfügung. Twinview deaktiviert allerdings die RandR-Unterstützung komplett.
Geschichte¶
Von den ersten Versionen von Linux, wo man die Bildschirmeinstellungen noch direkt in den Kernel kompilieren musste, bis in die Gegenwart haben sich die Konfigurationsmöglichkeiten um Welten verbessert. Trotzdem kann das Einrichten mehrerer Bildschirmen unter Linux noch immer eine Herausforderung für Einsteiger sein. Wenn die Einrichtung nicht auf Anhieb (automatisch) klappt, ist das auch der Ort, wo der Linux-Schuh nach dem ersten Anziehen am meisten drückt.
Zwischenzeitlich wurden unter Linux die meisten Problemfälle über das Editieren der Datei /etc/X11/xorg.conf gelöst. Die modernere Variante über RandR hat jedoch einige Vorteile: Bildschirmeinstellungen können auch ohne Root-Rechte geändert werden und nicht jede Änderung macht einen Neustart des XServers erforderlich.
Grundlagen¶
Prinzipiell ist in allen Ubuntu-Varianten und Desktop-Umgebungen ein grafisches Werkzeug (GUI) für das Einrichten von Bildschirmen vorhanden. Dieses findet man meist in den "Systemeinstellungen", z.B. unter "Bildschirm". Neu angeschlossene Monitore müssen zuerst aktiviert werden. Es kommt leider vor, dass auch nach einem Neustart des System die angeschlossenen Monitore nicht erkannt werden. Somit erscheint der zusätzliche Monitor auch nicht bei den diversen grafischen Werkzeugen. Erst nach der Aktivierung werden dort alle Monitore sichtbar sein. Dies geschieht im einfachsten Fall in einem Terminal-Fenster [1] mit dem Befehl:
xrandr --auto
Falls die Konfiguration dann immer noch nicht möglich ist, muss man sich tiefer mit der Materie beschäftigen. Die möglichen Fehlerquellen sind so vielfältig wie die unter Linux betriebene Hardware. Beispielsweise kann es passieren, dass ein Monitor seine technischen Eckdaten ausnahmsweise nicht an das System übermittelt. Oder der zusätzliche Monitoranschluss wurde im BIOS des Geräts deaktiviert. Manchmal tritt auch ein spezielles Problem mit einem proprietären Grafiktreiber auf.
Hilfe zur Selbsthilfe¶
Abfrage der Hardware¶
Falls man Hilfe in Foren sucht, sollte man zumindest die aktuelle Situation angemessen beschreiben können. Dazu gehört die Ausgabe des folgenden Befehls, der prüft, ob alle Anschlüsse korrekt erkannt wurden [1]:
xrandr
Die Ausgabe sieht in etwa so aus:
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 3200 x 1200 VGA-0 disconnected (normal left inverted right) S-video disconnected (normal left inverted right) DVI-0 disconnected (normal left inverted right) LVDS connected 1280x800+0+0 (normal left inverted right) 0mm x 0mm 1280x800 60.2*+ 60.0 1280x768 60.0 1024x768 60.0 800x600 60.3 640x480 59.9
Beispiele | |
Bezeichnung | Anschluss |
VGA | analoge VGA-Buchse (D-Sub) |
DisplayPort | digitale DisplayPort-Buchse |
DVI oder TMDS | digitale DVI-Buchse |
HDMI | digitale HDMI-Buchse |
LVDS | interner Monitor bei Notebooks |
S-video, TV oder DIN | TV-Ausgang |
In der Beispielausgabe sind die erkannten Anschlüssen aufgelistet. Automatisch benutzt wird bei diesem Notebook das eingebaute Display (LVDS connected
) mit der Auflösung 1280x800. Der Stern * steht dabei für die aktuell verwendete Auflösung, das Pluszeichen + für die bevorzugte Auflösung. Weitere Ausgänge werden nicht benutzt (disconnected
). Darüber hinaus kann man erkennen, dass das Gerät keinen HDMI-Anschluss besitzt.
Hinweis:
Die konkrete Anschluss-Bezeichnung hängt von der verwendeten Grafikkarte ab. Beispiel: Intel verwendet VGA
, der freie ATI-Treiber stattdessen VGA-0
. Des Weiteren findet man auch default
als Platzhalter für den aktuell genutzten Anschluss bzw. Bildschirm.
Praxisbeispiele¶
In diesem Abschnitt sollen kurz drei der häufigsten Fragen/Probleme behandelt werden:
Wie nutze ich 2 Bildschirme gleichzeitig?
Wie füge ich die richtige Auflösung meines Bildschirms hinzu?
Wie behalte ich Einstellungen nach dem Neustart?
2 Monitore gleichzeitig nutzen¶
Sobald ein zweiter Monitor angeschlossen wird, kann man ihn mit folgendem Befehl aktivieren:
xrandr --auto
Falls man damit nicht den gewünschten Effekt erzielt, kann man die Parameter von Hand eingeben, beispielsweise über:
xrandr --output DVI-0 --auto --right-of LVDS
Dabei wird der DVI-Ausgang automatisch konfiguriert und rechts (--right-of
) neben dem internen Bildschirm angeordnet. Die Anordnung spielt allerdings nur dann eine Rolle, wenn man den Desktop über mehrere Bildschirme erweitern möchte. Bei der Nutzung eines Beamers bzw. für Präsentationen ist eine solche Anweisung eher kontraproduktiv, da beide Bildschirme oft das gleiche Bild zeigen sollen.
Einmal aktivierte und auf der Kommandozeile eingerichtete Monitore verlieren ihre Konfiguration beim Neustart des Computers wieder. Dieses Problem löst man am einfachsten durch die Einrichtung eines entsprechenden Befehls im Autostart. Unter KDE sieht das z.B. wie im Bild rechts aus.
Auflösung¶
Achtung!
Die im folgenden verwendeten Parameter zur Modifikation der Auflösung und der Bildfrequenz müssen aus dem Benutzerhandbuch oder von der Herstellerseite bezogen werden. Alle hier aufgeführten Werte sind Beispielwerte und dürfen nicht 1:1 übernommen werden. Das Ansteuern eines Bildschirms mit falschen Parametern kann im ungünstigsten Fall zu dessen Zerstörung führen, auch wenn sich viele Monitore heutzutage selbst abschalten, um Beschädigungen zu vermeiden.
Falls die Auflösung und Frequenz von einem Bildschirm nicht richtig erkannt wird, kann man diese manuell hinzufügen. Dazu muss man die für den Bildschirm spezifischen technischen Daten kennen. Für das folgende Beispiel wird 1024x768 bei 60Hz verwendet.
xrandr akzeptiert neue Modi über die Option --newmode ...
. Die konkreten Parameter können mit dem Befehl cvt
ermittelt werden. Die Syntax für das obige Beispiel:
cvt 1024 768 60
Die Ausgabe sieht dann so aus:
# 1024x768 59.92 Hz (CVT 0.79M3) hsync: 47.82 kHz; pclk: 63.50 MHz Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
In der zweiten Zeile befindet sich nach dem Wort Modeline
ist die gesuchte Zeichenfolge, die man dem erwähnten xrandr --newmode
mitgeben muss. Wenn der neue Modus erstellt wurde, muss man xrandr auch noch sagen, dass er hinzugefügt und aktiviert werden soll. Die vollständigen Befehle:
xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync xrandr --addmode DVI-0 "1024x768_60.00" xrandr --output DVI-0 --mode "1024x768_60.00"
Wenn alles geklappt hat, zeigt der angesteuerte Bildschirm nun die gewünschte Auflösung. Auch hier gilt: Diese Konfigurationen gehen beim Neustart des Computers verloren - bitte den Hinweis unter 2 Monitore gleichzeitig nutzen lesen. Weitere Informationen und Problemlösungen findet man weiter unten oder auch unter Bildschirmauflösung (Abschnitt „Bildwiederholraten-setzen“).
Manuelle (statische) Konfiguration¶
Für Benutzer, die diese Einstellungen nicht jedes Mal (automatisch) neu setzen möchten, empfiehlt sich eine feste Konfiguration. Die folgenden Inhalte der Konfigurationsdateien sind nur Beispiele und müssen für das jeweilige System bzw. die eigenen Wünsche angepasst werden.
xorg.conf¶
In der /etc/X11/xorg.conf werden im Abschnitt Section "Device"
die Bezeichnungen (Identifier
) der angeschlossenen Monitore eingetragen. Dabei muss jeder Monitor einem Anschluss der Grafikkarte zugewiesen werden. Die Namen dieser Anschlüsse können mit dem Befehl xrandr
ermittelt werden (siehe oben).
Hier ein Beispiel für ein Notebook, an das ein externer Monitor angeschlossen ist. LVDS
ist der interne Anschluss, VGA
der analoge Anschluss für einen externen Monitor, der über einen DSUB-Stecker angeschlossen ist. Die Identifier Internes Display
und Externer Monitor
können frei gewählt werden und beziehen sich auf die Monitor
-Sections, die so aussehen kann:
Section "Device" Identifier "Meine Grafikkarte" ... Option "Monitor-LVDS" "Internes Display" Option "Monitor-VGA" "Externer Monitor" EndSection Section "Monitor" Identifier "Internes Display" EndSection Section "Monitor" Identifier "Externer Monitor" Option "RightOf" "Internes Display" EndSection Section "Screen" Identifier "Default Screen" Monitor "Internes Display" ... SubSection "Display" Virtual 3200 1200 EndSubSection EndSection
In den Monitor
-Sections lassen sich weitere Konfigurationen für die Monitore vornehmen. Einer der beiden Monitore (in diesem Fall der externe) kann so konfiguriert werden, dass er den Desktop erweitert (RightOf
bzw. LeftOf
). Eine detaillierte Beschreibung der Syntax und aller möglichen Parameter ist im Artikel Xserver und im Thinkwiki.org 🇬🇧 zu finden.
45custom_xrandr-settings¶
Hinweis:
In vielen Anleitungen zu Grafik-Konfigurationen unter Linux ist von /etc/X11/xorg.conf die Rede. Dies war und ist eine zentrale Konfigurationsdatei, in der man einen oder mehrere Monitore manuell konfigurieren kann, aber nicht muss. Ab Ubuntu 9.04 übernimmt normalerweise RandR die gesamte Verwaltung des X-Servers. Die Datei, die die Funktion von xorg.conf übernimmt, ist /etc/X11/Xsession.d/45custom_xrandr-settings. Diese ist aber optional und nicht zwingend vorhanden. Sollte man die Datei benötigen, muss man diese mit Root-Rechten erstellen [2].
Will man RandR die Kontrolle nicht wieder entziehen, aber trotzdem eine statische Konfiguration eines externen Monitors anlegen, empfiehlt es sich, 45custom_xrandr-settings zu nutzen. Folgender Codeblock erweitert die Anzeige um einen externen Bildschirm und plaziert diesen nach Wunsch. Bildschirm-Bezeichnungen bitte entsprechend anpassen:
#Erweiterter Desktop beim Start des XServers # Hier die Bezeichner der Bildschirme eintragen INTERNAL_OUTPUT="LVDS" EXTERNAL_OUTPUT="VGA" # EXTERNAL_LOCATION kann sein: left, right, above, oder below EXTERNAL_LOCATION="right" case "$EXTERNAL_LOCATION" in left|LEFT) EXTERNAL_LOCATION="--left-of $INTERNAL_OUTPUT" ;; right|RIGHT) EXTERNAL_LOCATION="--right-of $INTERNAL_OUTPUT" ;; top|TOP|above|ABOVE) EXTERNAL_LOCATION="--above $INTERNAL_OUTPUT" ;; bottom|BOTTOM|below|BELOW) EXTERNAL_LOCATION="--below $INTERNAL_OUTPUT" ;; *) EXTERNAL_LOCATION="--left-of $INTERNAL_OUTPUT" ;; esac xrandr |grep $EXTERNAL_OUTPUT | grep " connected " if [ $? -eq 0 ]; then xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --auto $EXTERNAL_LOCATION else xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --off fi |}}
Die Datei muss nicht ausführbar gemacht werden. Dies gilt für alle Dateien in /etc/X11/Xsession.d/. RandR steuert nun den externen Monitor automatisch korrekt an - falls dieser beim Start des X-Servers angeschlossen ist. Weitere Befehle/Optionen können vor oder nach dem obigen Code eingefügt und so weitere Einstellungen vorgenommen werden. Nützlich sind zum Beispiel:
falls die Schriftgrößen nicht passen (logische Platzierung: nach dem obigen Code)
xrandr --dpi xxx
nicht erkannte Auflösungen und Frequenzen (logische Platzierung: vor dem obigen Code)
xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync xrandr --addmode DVI-0 "1024x768_60.00" xrandr --output DVI-0 --mode "1024x768_60.00"
.xprofile¶
Man legt im Homeverzeichnis die Datei .xprofile an und kann nun dieselben Befehle wie oben eintragen. Während der eben beschriebene Weg über 45custom_xrandr-settings systemweit berücksichtigt wird, gelten die Einstellungen hier nur für den jeweiligen Benutzer.
xrandr¶
Grundsätzlich gibt es bei xrandr zwei verschiedene Arten von Optionen:
allgemeine und
monitorspezifische
Letztere beziehen sich auf den Monitor, der durch das vorangestellte --output GERÄT
bezeichnet wird. Dabei können mehrere monitorspezifische Optionen hintereinander geschaltet werden, ohne jedesmal den --output
Befehl wiederholen zu müssen. Ein komplexer Befehl sieht z. B. so aus:
xrandr --output LVDS1 --auto --scale 1x1 --output VGA1 --scale 1x1 --below LVDS1 --auto
Die folgende Tabelle geht kurz auf die wichtigsten Befehle ein. Eine vollständige Beschreibung erhält man mit dem Befehl
xrandr --help
und in der Manpage zu xrandr.
Allgemeine Kommandos | |
-q | Zeige Statusinformationen (dasselbe passiert bei Aufruf ohne Parameter) |
--dryrun | Testlauf ohne Änderungen |
--fb BREITExHÖHE | Die Größe des dargestellten Screens, in Pixeln (das ist nicht die Bildschirmauflösung, siehe unten) |
--auto | xrandr aktiviert alle angeschlossenen Monitore und versucht eine Auflösung zu finden, die auf alle Monitore passt |
monitorspezifische Kommandos | |
--mode MODUS | hier kann jetzt die Auflösung angegeben werden, meist kann auf diesen Befehl verzichtet werden weil --auto gute Ergebnisse erzielt |
--panning BREITExHÖHE | Es wird die Umgebung der Maus dargestellt (Die BREITExHÖHE bestimmt den Bereich in dem die Maus verfolgt wird. Hier sollte meist das gleiche wie bei --fb stehen). |
--scale XxY | Verkleinert oder vergrößert den Bildschirm um die Faktoren X und Y, siehe unten |
--auto | Der Bildschirm wird mit einer automatisch gewählten Auflösung aktiviert. Wenn ein Bildschirm nicht aktiviert wird hilft es, diese Option zur Kommandozeile hinzuzufügen. |
--off | Schaltet den Bildschirm aus |
--above DEVICE | Bildschirm über Bildschirm DEVICE anordnen |
--below DEVICE | Bildschirm unter Bildschirm DEVICE anordnen |
--left-of DEVICE | Bildschirm links von Bildschirm DEVICE anordnen |
--right-of DEVICE | Bildschirm rechts von Bildschirm DEVICE anordnen |
Ansicht skalieren (scale) oder schwenken (panning)¶
Hat man mehrere Monitore mit unterschiedlichen Auflösungen, stellt sich die Frage, was die einzelnen Monitore anzeigen sollen. Ein solcher Fall tritt etwa auf, wenn neben einem üblichen Monitor mit einer Auflösung von 1280x1024 ein HD-Fernseher mit 1920x1080 als Zweitmonitor zum Einsatz kommen soll. Oder wenn ein Netbook mit der nativen Auflösung von 800x480 einen Beamer/Projektor mit 1024x768 ansteuern soll.
Man hat dann grundsätzlich drei Möglichkeiten:
"Kleinster gemeinsamer Nenner": Beide Geräte benutzen die geringere Auflösung. Der größere Monitor kann seine Auflösung nicht ausnutzen.
"Skalieren/scale": Durch die Option
--scale XxY
für den kleineren Monitor wird das Bild vom großen Monitor auf die niedrigere Auflösung skaliert ("zusammengestaucht") dargestellt. Der größere Monitor kann so seine volle Auflösung nutzen. Die Anzeige auf dem kleineren Monitor ist verzerrt, aber reicht meist aus, um ein Video zu starten oder die Präsentations-Folien auf dem Beamer weiterzublättern."Schwenken/panning": Die Option
--panning
stellt den kleineren Bildschirm auf eine Art "Verfolgungsmodus" um. Dort wird nur ein Ausschnitt der größeren Auflösung angezeigt. Die Position des Mauszeigers beeinflusst dann, welchen Ausschnitt der kleinere Monitor zeigt. Diese Variante dürfte die idealste sein, da beide Monitore ihre volle Auflösung ausreizen.
Falls bei alledem der sichtbare Ausschnitt ungünstig verschoben ist, kann man ihn mittels der Option --pos XxY
verschieben, also z.B. --pos 0x0
für die linke obere Ecke.
Skalieren/scale¶
Mit der Option scale
wird das Bild vom größeren Monitor auf die geringere Auflösung des kleineren zusammengestaucht.
Beispiel: Der kleinere Monitor namens "LVDS", Auflösung von 1280x1024, soll das Bild des größeren, 1920x1080, darstellen:
xrandr --output LVDS --scale 1.5x1.05
Die Faktoren berechnen sich aus gewünschter Auflösung, geteilt durch die Auflösung, die im Bildschirm eingestellt ist (in diesem Fall 1920/1024=1,5 und 1080/1024=1,05). Da die beiden Faktoren (einer für die X-, der andere für die Y-Achse) nicht identisch sind, wird die Anzeige in diesem Fall verzerrt.
Schwenken/panning¶
Mit der Option --panning
lässt sich der kleinere Monitor in den "Verfolgungsmodus" stellen, in dem nur ein Ausschnitt der größeren Auflösung angezeigt wird. Die Position des Mauszeigers beeinflusst dann, auf welchen Ausschnitt des größeren Bildschirms der kleinere Monitor "schwenkt".
Beispiel: Der kleinere Monitor namens "LVDS", Auflösung von 1280x1024, soll das Bild des größeren, 1920x1080, im panning-Modus darstellen:
xrandr --output LVDS --panning 1920x1080
Rotation / Ansicht drehen¶
Mit der Option --orientation
kann die Ausrichtung der Anzeige geändert werden. Typischer Fall ist, dass man einen drehbaren Monitor hat, den man um 90 Grad drehen kann (vom Quer- zum Hochformat). Diese Pivot-Funktion beherrschen aber nicht alle Bildschirme.
xrandr --output LVDS --orientation inverted
Sollte die Meldung kommen, dass die Auflösung nicht unterstützt wird, muss man ggf. in der /etc/X11/xorg.conf eine Zeile "Virtual" einfügen, in der man die maximale virtuelle Auflösung hochsetzen muss:
Section "Screen" Identifier "Default Screen" Device "ATI Technologies, Inc. Radeon X700 Pro (RV410)" Monitor "Externer" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1080@50" "1024x768" "800x600" '''Virtual 1920 1920''' EndSubSection EndSection
Normalerweise errechnet der Monitor eine maximale vertikale Auflösung von (hier) 1080 Pixeln. Durch eine Drehung der Ansicht mit XRandR würde die gewünschte neue vertikale Auflösung darüber liegen. Daher muss die maximale virtuelle Auflösung hochgesetzt werden.
Alternative grafische Werkzeuge¶
Neben den integrierten Werkzeugen gibt es weitere, die man bei Bedarf nutzen kann.
GRandR¶
Für den Einsatz unter GNOME 2 wurde GRandR entwickelt. Es wird folgendes Paket benötigt [4]:
grandr (universe, nur bis Ubuntu 11.10)
Befehl zum Installieren der Pakete:
sudo apt-get install grandr
Oder mit apturl installieren, Link: apt://grandr
Allerdings muss die Einrichtung nach jedem Neustart erneut erfolgen.
Es ist möglich, dass sich die Umschalttaste ⇧ nicht mehr betätigen lässt, wenn man die Standard-Tastenkombinationen aktiviert ("Hot Keys → enable Hot Keys"). Dann lassen sich keine Großbuchstaben und Umlaute mehr erzeugen. Oft wird vermutet, dass dieser Fehler an Compiz liegt (weil der Fehler nicht mehr auftritt, wenn dieses deaktiviert wird). Deaktiviert man jedoch die Tastenkombinationen von GRandR, kann Compiz aktiv bleiben und es funktioniert wieder normal.
ARandR¶
Teilweise funktioniert GRandR trotzdem nicht einwandfrei. Externe Monitore können beispielsweise nicht geklont, sondern nur erweiternd angeschlossen werden. Hier kann das Programm ARandR 🇬🇧 weiterhelfen, das ebenfalls über die offiziellen Paketquellen verfügbar ist:
arandr (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install arandr
Oder mit apturl installieren, Link: apt://arandr
Aber auch hier gibt es das Problem, dass die Einstellungen mit der Abmeldung bzw. dem Herunterfahren verloren geht. Allerdings lassen sich die Einstellungen speichern und mit dem Befehl:
arandr Pfad/zur/Datei
wiederherstellen. Man kann das Programm daher auch via Autostart ausführen.
Da beide der genannten Programme auf GTK+ basieren, kann man sie auch unter Xubuntu und Lubuntu verwenden (falls man mit den dort integrierten Werkzeugen - siehe hier und hier - nicht zufrieden ist).
myKrandr¶
Achtung!
Dieses Programm ist eine frühe Entwicklerversion, die nicht mehr gepflegt wird.
Für KDE gibt es das kleine Programm myKrandr 🇬🇧 zur Einrichtung mehrerer Monitore. Wie bei GrandR muss die Einrichtung nach jedem Neustart erneut erfolgen.
Problembehebung¶
xorg.conf¶
Probleme kann unter Umständen eine bereits bestehende /etc/X11/xorg.conf bereiten. Einstellungen, die RandR selbst ermitteln kann, sollten dort nicht (mehr) eingetragen werden. Beispiele:
doppelte Einträge für "Device" und "Screen"
Auflösungen (Modes) in der "Display"-Subsection
HorizSync- und VertRefresh-Einstellungen
"MonitorLayout"-Sections
Hinweis:
Auf jeden Fall sollte man vor einer Änderung eine Kopie der alten xorg.conf als Sicherung aufheben.
Hier ein Auszug aus einer funktionierenden xorg.conf unter Verwendung einer ATI-Karte:
Section "Device" Identifier "ATI Technologies Inc Radeon Mobility X700 (PCIE)" Driver "ati" BusID "PCI:3:0:0" EndSection Section "Monitor" Identifier "Default Display" EndSection Section "Screen" Identifier "Default Screen" Device "ATI Technologies Inc Radeon Mobility X700 (PCIE)" Monitor "Default Display" EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "Synaptics Touchpad" EndSection
xrandr erkennt Auflösung nicht richtig¶
Stellt ein Bildschirm keine EDID-Informationen zur Verfügung, muss jeder Automatismus zur Erkennung des Monitor scheitern. Dies wird in der Protokolldatei /var/log/kernel.log wie folgt vermerkt:
[ 0.298125] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found [ 0.298127] EDD information not available.
Für weitere Hinweise, wie in der xorg.conf die Bildschirmparameter für horizonale und vertikale Frequenzen anzugeben sind, sollte man hier weiterlesen: Bildschirmauflösung (Abschnitt „Bildwiederholraten-setzen“)
Falls man einen zweiten Monitor im laufenden Betrieb anschließt, kann es passieren, dass "xrandr" nicht die richtige Auflösung erkennen kann. Das liegt daran, dass der Framebuffer, der beim Start von X initialisiert wird, nur die Größe hat, die alle in diesem Moment angeschlossenen Monitore benötigen.
Hat man z.B. beim Rechnerstart nur einen Monitor mit einer maximalen Auflösung von 1024x768 angeschlossen und schließt einen zweiten Monitor mit einer maximalen Auflösung von 1280x1024 an, kann "xrandr" nur maximal eine Auflösung von 1024x768 einstellen (für beide Monitore!). Wenn man weiß, was für eine Auflösung man maximal benötigt, kann man diese in die /etc/X11/xorg.conf eintragen. Um eine maximale Auflösung von 2304x1792 (1024+1280 x 768x1024) anzeigen zu können, muss der Eintrag Virtual
ergänzt werden. In der Praxis darf man auch höhere Werte verwenden - falls die Grafikkarte deswegen aussteigt, erfolgt eine entsprechende Rückmeldung. Beispiel:
Section "Screen" (...) SubSection "Display" (...) Virtual 2304 2048 EndSubSection EndSection
Wenn vom System keine xorg.conf angelegt wurde (weil sie nicht mehr zwingend notwendig ist), dann kann man sie mit folgender Grundkonfiguration anlegen:
Section "Device" Identifier "Configured Video Device" EndSection Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" SubSection "Display" Virtual 1920 1200 EndSubSection EndSection
Hinweis:
Bei bestimmten virtuellen Auflösungen läuft Compiz nicht mehr richtig und sollte dann deaktiviert werden.
Rotation funktioniert nicht (NVidia-Karten)¶
Um den Bildschirm mittels "xrandr" rotieren zu können, muss in /etc/X11/xorg.conf die Option RandRRotation aktiviert werden:
Section "Device" (...) Driver "nvidia" Option "RandRRotation" "True" (...) EndSection
Nach einem Neustart des X-Servers kann man nun dann den Bildschirm mittels
xrandr -o Orientierung
rotieren.
4:3 Auflösung auf Breitbild-Laptops¶
4:3 skalierte Auflösungen auf 16:9 Bildschirmen werden nicht mehr mit zwei schwarzen Bereichen rechts und links der Anzeige dargestellt, sondern werden über die verfügbare Breite gedehnt. Abhilfe schafft der Befehl:
xrandr --output LVDS1 --set "scaling mode" "Full aspect"
Wer dies permanent einstellen will, erstellt eine Datei /etc/xdg/autostart/4-3Auflösung.desktop mit folgendem Inhalt:
[Desktop Entry] Type=Application Name=4-3Auflösung Exec=xrandr --output LVDS1 --set "scaling mode" "Full aspect"
Der korrekte Anzeigename (--output xxx
) muss gegebenenfalls angepasst werden und kann über den Befehl
xrandr
ermittelt werden. Um die Änderungen nur für einen Benutzer auszuführen, genügt der Eintrag des Befehls in "System → Einstellungen → Startprogramme".
Links¶
LaTeX/Beamer-Präsentationen mit RandR 🇬🇧 ⮷ (PDF)
Zwischen Notebookbildschirm und externem Monitor hin- und herwechseln - Skript ggf. anpassen!
XServer Grundlagen