Nach der Installation von Ubuntu tritt eventuell das Problem auf, dass die Bildschirmauflösung nicht korrekt eingestellt ist. Die Hardwareerkennung von Linux ist zwar sehr gut, dennoch kann es manchmal vorkommen, dass die Auflösung nicht automatisch ermittelt werden kann. Während bei Flachbildschirmen (TFT) im Regelfall eine für den Monitor optimale Auflösung gewählt wird, kann es insbesondere bei älteren Röhrenbildschirmen (CRT) zu solchen Problemen kommen. Im Gegensatz zu TFTs kann der Bildschirm hier ohne Qualitätsverlust (Interpolation) in verschiedenen Auflösungen betrieben werden.
Eine wichtige Rolle spielt in diesem Zusammenhang der DDC, über den der Monitor (im Idealfall) die Auflösungen mitteilt, die er beherrscht. Falls nicht, dann müssen dem für die Ausgabe zuständigen XServer die richtigen Einstellungen mitgeteilt werden. Liegt das ursächliche Problem nicht am Grafiktreiber, gibt es dazu diverse Möglichkeiten.
Ubuntu verwendet inzwischen einen größtenteils selbst konfigurierenden XServer, der die früher berühmt-berüchtigte zentrale Datei /etc/X11/xorg.conf nicht mehr unbedingt benötigt. Daher sollte man bei Problemen immer zuerst die Lösung über die Möglichkeiten der installierten Desktop-Umgebung (siehe unten) bzw. mit Hilfe eines Kommandozeilen-Werkzeugs versuchen, bevor man diese Datei von Hand editiert (ist sie nicht vorhanden, erstellt man sie einfach). Darüber hinaus ist die direkte Konfiguration ein Thema für Fortgeschrittene und Profis.
Dies ist für die Desktop-Umgebungen
im Artikel XServer grafisch einrichten beschrieben.
Mit Hilfe des Programms XRandR kann man die Bildschirmauflösung via Kommandozeile ein- bzw. umstellen. Dieses empfehlenswerte Programm wird im Artikel RandR ausführlich besprochen.
Speziell bei älteren Röhrenmonitoren kann es sinnvoll sein, eine bestimmte Auflösung zu erzwingen. Der XServer steuert den Monitor normalerweise mit der höchstmöglichsten Auflösung an. Hat man eigene Vorlieben, ist dies nicht unbedingt hilfreich. In folgendem Beispiel wird der Befehl xrandr
verwendet, der zudem in ein Shell-Skript eingebettet wird, um ihn bequemer nutzen zu können:
1 2 | #!/bin/sh
xrandr --output VGA-0 --mode 1280x1024 --pos 0x0 --rotate normal
|
Als Dateiname für das Skript kann man beispielsweise /usr/local/bin/my_resolution.sh verwenden. Anschließend muss es noch ausführbar [3] gemacht werden. Ein weiterer Vorteil ist, dass sich ein solches Skript auch in den Autostart aufnehmen lässt, um es automatisch nach der grafischen Anmeldung auszuführen.
Allerdings ist ein solches Skript nicht die einzige Lösung. Tipps zur manuellen Konfiguration des XServers sind im nächsten Abschnitt zu finden.
Wie in der Einleitung bereits erwähnt, konfiguriert sich der XServer inzwischen weitgehend selbst. Daher kann es sein, dass einige der unten genannten Änderungen keine Wirkung zeigen, da (falsche) Einträge ignoriert werden.
Alle Änderungen werden an der XServer-Konfigurationsdatei /etc/X11/xorg.conf vorgenommen. Zum Bearbeiten [1] dieser Datei werden Root-Rechte benötigt. Nach jeder Änderung muss der XServer mit Alt + Druck + K neu gestartet werden.
Ein Neustart des XServers beendet die grafische Oberfläche und damit auch alle dort laufenden Programme.
Alternativ kann der Rechner neu gestartet werden.
Oft ist es auch so, dass die gewünschte Auflösung unter der Ubuntu Live-CD richtig angezeigt wird. Falls dies der Fall sein sollte, kann man die xorg.conf der Live-CD z.B. auf einen USB-Stick sichern und die eigene xorg.conf damit überschreiben. Aber Achtung: Man sollte darauf achten, dass der Grafiktreiber derselbe ist!
Oft reicht es, die korrekten Bildwiederholraten eines Röhrenmonitors in der xorg.conf einzutragen. Diese bestehen aus
einer horizontalen Angabe (HorizSync
) in Kilohertz (kHz) und
einer vertikalen Frequenzangabe (VertRefresh
) in Hertz (Hz)
Diese Angaben finden sich (hoffentlich) an einer der folgenden Stellen:
im Handbuch des Monitors
auf der Webseite des Herstellers
auf der Rückseite des Monitors
in einer Windows-Treiberdatei (die man ggf. auf der Webseite des Herstellers bekommt)
im Web bei MonitorWorld
mit dem Befehl [2]
sudo ddcprobe | grep monitorrange
Falls der Befehl nicht funktioniert, muss man zuerst das Paket
xresprobe
mit apturl
Paketliste zum Kopieren:
sudo apt-get install xresprobe
sudo aptitude install xresprobe
nachinstallieren [4].
Diese Daten sind in der Form
Section "Monitor" Identifier "Standardmonitor" Option "DPMS" HorizSync 30.0 - 96.0 VertRefresh 50.0 - 160.0 EndSection
im Abschnitt "Monitor" einzutragen. Damit der Monitor die Frequenzraten auch benutzt und nicht intern eigene weitergibt, hilft es oft, die Option "UseEdidFreqs" in der Sektion für die Grafikkarte zu setzen:
Section "Device" Identifier "Meine Grafikkarte" Driver "nvidia" ... Option "UseEdidFreqs" "no" EndSection
Bei Nvidia-Grafikkarten in Kombination mit dem Kernelmodul nvidia
kann außerdem das Problem auftreten, dass in den GNOME-Einstellungen keine korrekte Bildwiederholrate angezeigt wird. Hier hilft die Option "DynamicTwinView" "0"
in der oben genannten "Device" Sektion. Leider verliert man hierdurch auch die Möglichkeit, eine einzelne Ausgabe ("X Screen"
) beliebig auf mehrere Bildschirme zu verteilen.
Section "Device" Identifier "Nvidia 7600GS" Driver "nvidia" ... Option "DynamicTwinView" "0" EndSection
Alternativ lässt sich bei Verwendung von "DynamicTwinView"
die tatsächliche Bildwiederholrate auch direkt über den proprietären Treiber ermitteln und ausgeben:
nvidia-settings -q RefreshRate
DynamicTwinView
bietet die Möglichkeit, eine einzelne Ausgabe ("X Screen"
) auf mehrere Bildschirme zu verteilen. Die Bildwiederholrate wird unter X meist mithilfe der RandR-Erweiterung des XServers ermittelt. Gegenwärtig ist RandR noch nicht in der Lage, einzelne "X Screens"
zu handhaben, die auf mehrere Bildschirme verteilt sind. Nvidia umgeht diese Einschränkung durch Verwendung eines "MetaModus"
, die Ermittlung der Bildwiederholrate mittels RandR schlägt daraufhin jedoch fehl.
Hilft dies auch noch nicht, sollte man darauf achten, ob man den zugehörigen Modus auch im Unterabschnitt Display
in der xorg.conf eingetragen hat. Beispiel:
Section "Screen" Identifier "Default Screen" Device "NVIDIA Corporation NV34 [GeForce FX 5200]" Monitor "S19-1" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1280x1024" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection
Das genaue Gegenteil: man entfernt alle anderen, nicht erwünschten Modi aus dem Unterabschnitt Display
. Diese können einfach entfernt werden. Beispiel:
SubSection "Display" Depth 16 Modes "1280x1024" EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection
Die letzte Möglichkeit ist das Erzwingen einer Auflösung bzw. Bildwiederholrate mit den XServer Modelines. Die konkreten Parameter können mit dem Befehl cvt
ermittelt werden. Die Angaben im Beispiel sind durch die eigenen Werte zu ersetzen. Die Syntax für die Auflösung 1024x768 bei 60Hz:
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
die gesuchte Zeichenfolge, die man in die Datei /etc/X11/xorg.conf an passender Stelle der "Section "Monitor
" einfügen muss. Zur Sicherheit sollte vorher eine gegebenenfalls bestehende /etc/X11/xorg.conf gesichert werden. Dann kann die Datei bearbeitet werden. Ein Beispiel, das auf die persönlichen Bedürfnisse angepasst werden muss:
# xserver-xorg-video-radeon # native Aufloesung 1920x1080, 24 bit, 60 Hz # 2013-01-09 Section "Device" Identifier "X1200" Driver "radeon" Screen 0 EndSection Section "Monitor" Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync Identifier "1080p" Gamma 1 EndSection Section "Screen" Identifier "Default Screen" Device "X1200" Monitor "1080p" DefaultDepth 24 SubSection "Display" Virtual 1920 1080 Depth 24 Modes "1920x1080@60" "1024x768@60" EndSubSection EndSection
Nach einem Neustart des XServers (oder auch des Rechners) sollte die gewünschte Bildschirmauflösung zur Verfügung stehen. Eine weitere Anleitung ist im Blogbeitrag Hinzufügen einer Auflösung über cvt und xrandr zu finden.
Startet keine Desktop-Umgebung nach Start des XServers, bleibt die anfangs von ihm gewählte Auflösung erhalten. Deshalb muss man diese Auflösung anpassen, wenn man z.B. IceWM oder GDM in einer bestimmten Auflösung starten will. Um dies zu erreichen, setzt man die Option PreferredMode im Monitorabschnitt der /etc/X11/xorg.conf:
Section "Monitor" Identifier "Configured Monitor" ... Option "PreferredMode" "1280x1024" EndSection
Bei PCs ohne Monitor, die ausschließlich über VNC betrieben werden, ist die Bildschirmauflösung auf 800x600 Pixeln eingestellt. Das System wählt diese Einstellung, da beim Bootvorgang kein Monitor gefunden wurde. Hier kann es helfen, eine xorg.conf mit folgendem Inhalt zu benutzen:
Section "Device" Identifier "VNC Device" Driver "vesa" EndSection Section "Monitor" Identifier "VNC Monitor" HorizSync 30-70 VertRefresh 50-75 EndSection Section "Screen" Identifier "VNC Screen" Device "VNC Device" Monitor "VNC Monitor" SubSection "Display" Modes "1024x768" EndSubSection EndSection
Der Betrieb mit zwei oder mehr Bildschirmen unterscheidet sich grundsätzlich nicht vom Einsatz eines einzelnen Monitors. Empfehlenswert sind zuerst die grafischen Werkzeuge der jeweiligen Desktop-Umgebung. Dann kann der Befehl xrandr verwendet werden. Am aufwendigsten ist die Konfiguration über die Datei /etc/X11/xorg.conf (siehe oben).
Unter GNOME kann man innerhalb der Einstellung "Anzeigegeräte" nicht nur die Position der Bildschirme verschieben, sondern auch einstellen, auf welchem das Menü dargestellt wird: Hierzu einfach den kleinen schwarzen Balken auf den gewünschten Monitor ziehen.
Die Entwicklung der mit Ubuntu 11.04 neu eingeführten Desktop-Oberfläche Unity ist noch nicht abgeschlossen. Dies kann speziell bei Ubuntu – andere Varianten wie Kubuntu, Xubuntu und Lubuntu sind davon nicht betroffen – eine weitere Problemquelle sein (siehe auch nächster Abschnitt).
Manchmal ist der voreingestellte Grafiktreiber nicht in der Lage, eine große Auflösung oder hohe Frequenzen zu unterstützen. Hier kann es helfen, einen anderen (z.B. 3D-beschleunigten oder proprietären) Grafiktreiber für die Grafikkarte zu installieren.
Weitere Anleitungen findet man auf der Übersichtsseite Grafikkarten.
Ubuntu verwendet ab 10.04 GRUB 2 und Plymouth, um einen grafischen Startbildschirm anzuzeigen. Zur Einstellung der Auflösung während des Startvorgangs helfen die Artikel Bootoptionen und GRUB 2/Aussehen. Nach einer Änderung (bei GRUB 2) nicht vergessen, den Bootmanager zu aktualisieren. Danach führt man einen Neustart aus und erfreut sich an einer angepassten Auflösung.
Lcdtest - TFT-Monitore auf defekte Pixel prüfen
Monitor profilieren mit ArgyllCMS - Farbverbindlichkeit definieren
xcalib - Monitorkalibrierung
Grafikkarten Artikelübersicht
Diese Revision wurde am 16. März 2014 14:48 von aasche erstellt.