Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2006  »  05  »  Schöne Aussichten  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

X.org 6.9 und 7.0 - die nächste X-Window-Generation

Schöne Aussichten

von René Rebe
Erschienen im Linux-Magazin 2006/05

Mit X11R7 steht seit mehr als zehn Jahren die erste Major-Release des grafischen Standardgerüsts zur Verfügung, das jetzt aus Einzelkomponenten besteht. Mit X11R6.9 erschien zugleich die letzte monolithische Ausgabe für bestehende Systeminstallationen - auf der Codebasis von Release 7.0.

Bis 2004 bezeichnete X11 den Standard der Grafikumgebung, Xfree86 und X.org waren nur die Implementationen. Seit die X.org Foundation faktisch Standardinhaberin ist, darf man X.org und X11 synonym verwenden. Nach den vielen Funktionen, die X.org erhalten hat, erhöhten die Entwickler zum Jahreswechsel die Hauptversionsnummer von 6 aus dem Jahr 1994 auf 7.0. Einen Überblick gibt der Kasten "Neue Features".

Neue Features

  • Überarbeitete 2D-Treiber: Savage-, OpenBSD- und
    NetBSD-Framebuffer-Unterstützung, Radeon (TV-in sowie
    DMA-Operationen), NV (Nvidia), Via, i810 (Unterstützung
    für i915GM/E7721/i945G), Sunffb, Sisusb, »r128«,
    Mach64, »sis« (XGI-Chips)
  • EXA-Beschleunigung für »i128«,
    »radeon« und »sis«
  • Überarbeitete 3D-Treiber: Radeon R300/R400 (Radeon 9500
    und höher)
  • Überarbeitete XvMC-Unterstützung zur
    Video-Dekomprimierung
  • Xrender: Software Fallback ist nicht ganz so langsam
  • 12-Bit-Pseudocolor und 30-Bit-Truecolor: Pixelformate, die
    einen noch größeren Dynamikumgang darstellen, zum
    Beispiel mit Matrox-Parhelia-Binärtreibern für den
    medizinischen Bereich
  • Multiseat: Unterstützung für mehrere unabhängige
    Tastaturen und Mäuse für mehrere Benutzer an einer
    Workstation
  • Ein modulares Build-System via GNU Automake und Autoconf ab der
    Version 7.0

X11R7 besteht nicht mehr aus einem großen Tarball, sondern ist in über 200 Teilkomponenten - so genannte Module - aufgesplittet. Sie lassen sich neu mit Hilfe der gewöhnlichen Autoconf-Tools kompilieren, wobei allerdings die Reihenfolge relevant ist (siehe Kasten "X11R7 kompilieren").

X11R7 kompilieren

Da Release 7 nicht mehr auf einem eigenen Makefile-System aufbaut, sondern die üblichen GNU-Autotools verwendet, ist der Übersetzungsvorgang einfacher als zuvor und besteht im Wesentlichen aus dem Ausführen von »./configure ; make ; make install« für die über 200 Pakete, in die X11 jetzt unterteilt ist.

Zuerst sind die Protokoll-definierenden Pakete mit »proto« im Namen zu übersetzen, gefolgt von Bibliotheken mit »lib« im Namen und dem X-Server »xorg-server«, abschließend die benötigten Treiberpakete »xf86-video-*«, »xf86-input-*« sowie die Schriften »fonts-*« und die mitgelieferten Programme »xhost«, »xset« und so weiter.

Wer X.org weiterhin in einem eigenen Verzeichnis in »/usr« haben möchte, sollte noch »--prefix=/usr/X11R7« oder einfach nur »--prefix=/usr/X11« an »configure« übergeben. Auch wenn der Vorgang durch die schiere Anzahl der Pakete nach mehr Aufwand aussieht, hat man doch den Vorteil, einzelne Treiber installieren zu können, wenn diese neue Features oder Fehlerbereinigungen enthalten.

Einzelne Pakete sind zum Beispiel die Protokolle (Header), Bibliotheken, der X-Server sowie die Treiber für die einzelnen Grafikkarten. Auch die vielen kleinen Werkzeuge und Beispielprogramme, die sich in X über die Jahre angesammelt haben, etwa »xterm«, »xclock«, »twm«, »xdm«, »xedit« oder der Mailclient »xmh«, sind jetzt getrennt.

Diese Struktur erlaubt einerseits den Distributionen eine feinere Aufteilung der X.org-Pakete, sie erleichtert aber auch Endanwendern das Update einzelner Treiber aus dem Quellcode. Wermutstropfen: Durch die vielen »configure«-Aufrufe steigt die Gesamtzeit der Übersetzung deutlich an. Die Release 6.9 ist dabei identisch mit 7.0, verwendet aber nach wie vor das auf »imake« beruhende Build-System und ist für das Update bestehender Installationen gedacht.

Transparenz schafft den schnellen Durchblick

Da die Treiber der Vorgängerversion keine Hardwarebeschleunigung für die neuen ARGB-Visuals [2] (zusätzlicher Alphakanal zu jedem Pixel) enthielten, war Langsamkeit für die meisten Anwender die Erfahrung mit echter Transparenz. Nur der kommerzielle Nvidia-Treiber konnte die entsprechenden Xrender-Operationen beschleunigen.

Grund war die in die Jahre gekommene XAA-Treiber-Architektur. Die Xfree86 Accelerated Architecture konzentrierte sich mit Dutzenden von Treiberfunktionen darauf, klassische X11-Operationen wie Linien, Rechtecke und Kreise in diversen Breiten, Mustern und Füllungen zu beschleunigen. Für den Umgang mit heutigen ARGB-Visuals ist sie aber nicht ausgelegt und entsprechende Funktionen sind nicht effizient integrierbar.

Aus diesem Grund hat Keith Packard von Hewlett-Packard mit seinem Test-X-Server Kdrive eine Architektur entworfen, die nicht die klassischen Operationen enthält, sondern sich strikt auf die benötigten Funktionen heutiger Desktops konzentriert. Dabei achtete er darauf, Xrender und RGBA-Visuals zu beschleunigen und den Server so einfach wie möglich zu halten.

Zack Rusin von Trolltech hat diese Architektur unter dem Namen EXA (Acceleration architecture with no well-defined acronym) in die aktuelle Version integriert und zugleich noch eine Anleitung mitgeliefert, wie man einen XAA-Treiber in sieben einfachen Schritten nach EXA portiert [3]. EXA konzentriert sich auf folgende für heutige Desktops wesentlichen Punkte:

  • Optimale Speicherverwaltung für die
    Off-Screen-Pixmaps
  • Kopieren von Daten zwischen Haupt- und Video-Speicher
  • Xrender-Beschleunigung für transparente Bilder,
    Antialiasing von Text und Compositing

Die vielen Elemente klassischer Applikationen wie Linien und Kreise, die in XAA alle beschleunigt sind, spart EXA aus. Die meisten Programme verwenden diese kaum mehr in ihren Oberflächen und der Vorteil einer Beschleunigung ist minimal. Selbst mit einem Treiber, der nur die Grundfunktionen von EXA implementiert, sollte sich auf einem aktuellen Rechner angenehm flüssig mit transparenten Fenstern arbeiten lassen.

Viele neue Treiber, aber keine für ATI X1000

Das neue X.org unterstützt die EXA-Funktion für die Treiber »r128«, »radeon« und »sis«. Zu aktivieren sind sie in der »Section "Device"« der Datei »/etc/X11/xorg.conf« über den Eintrag:

Option "AccelMethod" "EXA"

Details dazu nennt der Kasten "Composite und EXA aktivieren". Patches für die Treiber »i810«, »mach64«, »nv«, »savage«, »tdfx« und »via« gibt es unter [4].

Composite und EXA
aktivieren

Standardmäßig sind weder die Composite-Erweiterung noch die EXA-Beschleunigung aktiviert, da sie sehr neu sind. Wer sie verwenden möchte, muss zwei kleine Änderungen an der Konfigurationsdatei »/etc/X11/xorg.conf« vornehmen. Die Composite-Erweiterung benötigt

Section "Extensions"
    Option "Composite" "Enable"
EndSection

an einer beliebigen Stelle der Datei. Die EXA-Beschleunigung aktiviert man, falls der Treiber sie bereits unterstützt, in der Sektion des Treibers, hier am Beispiel einer Radeon-Karte:

Section "Device"
    Identifier "Card1"
    Driver "ati"
    Option "AccelMethod" "EXA"
EndSection

Wer in der Situation ist, noch keinen EXA-fähigen Treiber zu verwenden, kommt auf einem schnellen Rechner auch durch den Einsatz einer Zwischenschicht, die den Bildschirminhalt speichert und so einen schnell Zugriff durch die CPU ermöglicht, zu guten Ergebnissen:

Option "ShadowFB" "true"

Wenn der Treiber auch »ShadowFB« nicht direkt unterstützt, kann das Abschalten jeglicher Beschleunigung das letzte Mittel sein, um zu Software-Rendering zu gelangen:

Option "NoAccel" "true"

Nach einer Änderung der Konfigurationsdatei muss der Benutzer den Server neu starten.

X11R7 unterstützt über den »sis«-Treiber erstmals XGI-Chips. Dank aufwändiger Hardware- und Herstellertreiber-Analysen funktionieren jetzt auch Radeon-Chips der R300-/R400-Generation (bis Radeon 9800) mit freien Treibern Hardware-beschleunigt. XvMC, zuständig für die Hardware-unterstützte Beschleunigung von Videodecoding, wurde überarbeitet und auch die Xrender-Software-Implementierung ist nochmals etwas schneller geworden.

Neu ist auch die Unterstützung von Multiseat. Es ordnet einzelnen Video-Ausgängen eine dedizierte Tastatur und Maus zu, sodass mehrere Anwender an einer Workstation arbeiten können. Dieses Feature befindet sich allerdings noch im experimentellen Stadium.

Weiterhin keine Unterstützung bietet X.org für die neuesten ATI-Karten der Generation X1000. Da auch der kommerzielle Treiber von ATI diese Karten nicht unterstützt, bleibt hier nur der Vesa-Treiber als Notlösung. ATI will jedoch demnächst auch für diese Karten Hardware-beschleunigte Linux-Treiber anbieten.

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Effektvolle Evolution Composite-Desktop mit AIGLX
Nicht nur fürs Auge OpenGL-beschleunigter Desktop mit XGL und Compiz
Die Tiefe des Raumes 3D-Desktop-Umgebungen
Erste! Workstation-Grafikkarte ATI FireGL X1 im Test
Aus der Steckdose Multimedia-Anwendungen mit OpenML
Kessel Buntes Video-Plugins, 3D-Grafik und Audio-APIs versprechen ein lautes Multimediajahr
Whitepaper
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
The Role of Open Source in Data Integration

Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.

Download PDF (Registrierung erforderlich)
Kommentare (0)