Mode-Setting

aus Wikipedia, der freien Enzyklopädie

Unter Mode-Setting versteht man das Einstellen der Bildschirmauflösung, Bildwiederholfrequenz und Farbtiefe der Grafikkarte durch Software. Moderne Mode-Setting-Software unterstützt nebst Hot-Plugging auch die Verwendung von mehreren Monitoren (sogenannter Multi-Head-Betrieb).

Varianten des Mode-Setting

Das Mode-Setting kann sowohl im Kernel-Space als auch im User-Space erfolgen.

Mode-Setting im User-Space

Unter Linux und BSD kümmert sich klassischerweise das X Window System um diesen Teil, das heißt, das Mode-Setting passiert im User-Space. Bevor der X Server gestartet wird, wird die Grafikkarte meistens in einem Textmodus betrieben, welcher normalerweise über den Kernel-Parameter „vga“[1] gesetzt wird. Erreicht das Betriebssystem einen gewissen Runlevel (meistens 5, bei Debian bspw. jedoch 3), wird der X Server gestartet.

Vorteile

  • Das Versetzen der Grafikkarte in einen Textmodus ist wesentlich einfacher zu bewerkstelligen; so sind die Aussichten auf Erfolg höher (vor allem nach dem Tausch der Grafikkarte und/oder des Monitors, falls die neue Hardware andere Parameter benötigt). Wenn der grafische Server also nicht mehr startet oder der Bildschirm schwarz bleibt (z. B. weil eine falsche Auflösung oder falsche Bildwiederholfrequenz eingestellt ist), so hat man dann noch den Textmodus, um beispielsweise benötigte Treiber einzuspielen oder die Konfigurationsdateien zu ändern. Meistens bietet das Betriebssystem einen „Recovery-Modus“, bei dem der grafische Server nicht gestartet wird, um diese Aufgaben zu erfüllen.

Nachteile

  • Das Umschalten vom Textmodus, der beim Starten des Kernels gesetzt wurde, in den Grafikmodus führt bei vielen Monitoren dazu, dass kurzzeitig kein Bild angezeigt wird. Bei Röhrenmonitoren können außerdem Geräusche auftreten. Dies passiert sowohl beim Start des Betriebssystems, wenn der grafische Server das erste Mal gestartet wird, als auch wenn der grafische Server beendet wurde oder ein neuer grafischer Server auf einem anderen virtuellen Terminal gestartet wird und zu diesem umgeschaltet wird (z. B. im Zuge des Fast-User-Switchings). Ebenso wird normalerweise beim Herunterfahren der grafische Server beendet und wieder in den Textmodus zurückgeschaltet.
  • Der direkte Hardwarezugriff von Software im User-Space erfordert erweiterte Rechte, was aus Sicht der Sicherheit nicht wünschenswert ist.

Mode-Setting im Kernel-Space

Datei:Linux kernel and OpenGL video games.svg
Linux-Kernel Komponenten DRM und KMS: während der DRM den Speicher sowie die GPU verwaltet, verwaltet der KMS den Display Controller und ist außerdem für das Mode-Setting zuständig.

Bei Kernel Mode-Setting, wie es der Linux-Kernel ab Version 2.6.28 für einige Grafikkartenmodelle beherrscht, übernimmt bereits der Kernel das Einstellen der Grafikkarte.

Vorteile

  • Schnelleres Umschalten zwischen mehreren gleichzeitig laufenden grafischen Servern (zum Beispiel im Zuge des Fast User Switchings[2]), da kein Mode-Setting stattfindet, wenn beide Sitzungen dieselben Parameter verwenden[3].
  • Kein Flackern des Monitors beim Umschalten zwischen mehreren grafischen Servern.

Einzelnachweise

  1. Kernel Parameters. (Memento des Originals vom 23. September 2005 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/lxr.linux.no Auf: linux.no (engl.)
  2. Kernel Modesetting and Memory Management . Auf: fedoraproject.org (engl.)
  3. Kernel-Log: Was 2.6.28 bringt (4) – Verbesserungen bei der Grafik-Unterstützung. Auf: heise.de, 24. Oktober 2008.