Zwischenablage
X-Server

xdpyinfo

Server Visuals - Farbmanagement des X-Servers

In der bei X11 üblichen Sprechweise bezeichnet das Server-Visual im Wesentlichen die Farbtiefe, genauer gesagt ein Farbmodell, das der X-Server anbietet. Typische Server-Visuals sind:
  • GrayScale:  256 Graustufen, ein 8 Bit-Wert  pro Pixel.
  • PseudoColor:  256 beliebig (vom X-Client) wählbare Farben, ein 8 Bit-Wert pro Pixel. Die Liste der Farben nennt man Palette, das sind 256 RGB-Werte. Jeder RGB-Wert enthält je ein Byte zur Bestimmung des Rot-, Grün- und Blau-Anteils. Damit lassen sich alle vom menschlichen Auge unterscheibaren Farben beschreiben.
  • TrueColor: das inzwischen am meisten verbreitete Farbmodell, bei dem für jedes Pixel ein vollständiger 24 Bit tiefer (=3 Bytes) Farbwert zur Verfügung steht. Für jedes Pixel stehen also rund 16,7 Mio. Farben zur Auswahl. Heutige Graphikkarten liefern diese Farbtiefe auch bei hohen Auflösungen, in den frühen Jahren der X11-Geschichte war dies alles andere als selbstverständlich.
  • DirectColor: erlaubt wie TrueColor die Darstellung von 16,7 Mio. Farben, allerdings haben X-Clients bei jedem Pixel die Möglichkeit, jeden der drei RGB-Werte einzeln zu manipulieren.
Von TrueColor abweichende Visuals werden heute, von spezieller Hardware abgesehen, hauptsächlich von alten X-Applikationen verlangt, die u.U. nicht in der Lage sind, mit TrueColor zu arbeiten. X11R5 beherrschte noch kein TrueColor und alten X11-Hasen sind noch die lustigen Farbeffekte bekannt, die entstehen, wenn eine X-Applikation die Farbpalette ummappt und so die Fenster anderer Applikationen einen psychodelischen einfärben. Neben den oben genannten Visuals gibt es noch eine Reihe von Exoten:
  • StaticGray: Graustufen wie bei GrayScale. Allerdings erlaubt GrayScale ähnlich wie PseudoColor ein dynamisches Um-Mappen der 256 Graustufen, während die Graustufen bei StaticGray eben einmalig "statisch"  festgelegt sind.
  • StaticColor: eine "statisch" festgelegte Palette von 256 Farbwerten (8 Bit tief).
  • PseudoColor 12 Bit:  eine 4096 Farbwerte umfassende Palette, die dynamisches Mapping der Farbwerte erlaubt.
Ein Server-Visual ist also einiges komplexer als lediglich die Farbtiefe in Bits pro Pixel. Deshalb bietet sich die Bezeichnung Farbmodell als Übersetzung an.

Da die Größe des Videospeichers auf Grafikkarten heute nicht mehr zu eingeschränkter Farbtiefe zwingt, ist inzwischen TrueColor das Standard-Visual auf Linux. Natürlich ist auch das konfigurierbar, und zwar sowohl als Kommandozeilen-Parameter als auch in der xorg.conf:

Bedeutung Kommandozeile xorg.conf
Farbtiefe -depth (früher -bpp)
Dies ist ein Implementierungs-spezifischer Parameter.
Mögliche Werte sind 1, 4, 8, 15, 16, 24,
abhängig vom Treiber der Grafikkarte.
SubSection "Display"
                   Depth  depth
                   entries
                   ...
EndSubSection
Sever Visual -cc <visual class no.>                   Visual  "visual-name"

Nicht alle Visuals sind bei jeder Farbtiefe möglich. Der X-Server von X.org unterstützt folgende Kombinationen:
Farbtiefen 15, 16, 24 Bit
TrueColor, DirectColor (nicht bei allen Grafikkarten)
Farbtiefe 8 Bit:
StaticGray, GrayScale, StaticColor, PseudoColor (das ist der Default für 8 Bit), TrueColor, DirectColor
Farbtiefe 4 Bit:
StaticGray, GrayScale, StaticColor (Default für 4 Bit), PseudoColor
Farbtiefe 1 Bit:
StaticGray
TrueColor und DirectColor werden bei Farbtiefen < 24 Bit durch Dithering dargestellt.

Detaillierte Auskunft über die zur Verfügung stehende Visuals und zahlreiche andere Eigenschaften des X-Servers gibt xdpyinfo.
Zwischenablage
     ©2005, 2007 Andreas Gottwald
xdpyinfo