Xgl

Aus openSUSE

Xgl

Wechseln der Arbeitsfläche durch drehen eines dreidimensionalen Würfels

Versionen in Distributionen von openSUSE; aktuelle Versionen für ihre Distribution finden Sie (evtl.) im Build Service.

11.0 11.1
git_071026 n/e
11.2 Factory
n/e n/e
Ab openSUSE 11.1 ist XGL nicht mehr enthalten, da die Entwicklung eingestellt wurde, nachdem der X-Server nun eigene Techniken (AIGLX) enthält, um Compositing zu beschleunigen.



Inhaltsverzeichnis

Einführung

Xgl ist ein Xserver, der OpenGL für seine Zeichenoperationen benutzt. Xgl-Entwickler David Reveman hat Verbesserungen an Xgl und einen neuen kombinierten Fenster- und Überlagerungsverwalter (Stichwort: composite) namens 'compiz' veröffentlicht, zusammen mit einer Anfrage, die Änderungen in die CVS-Struktur von freedesktop.org einzupflegen. Einige Operationen wie das Zeichnen geglätteter Schriften laufen mit dieser Technologie spürbar schneller ab. Zukünftige Grafikprozessoren könnten eventuell auch nur noch Unterstützung für 3D-Operationen beinhalten und keinen 2D-Kern mehr besitzen.

Der Quellcode dieser Pakete ist auf http://www.freedesktop.org/Software/Xgl verfügbar.

Weit wichtiger ist aber, dass Überlagerungs- und Transparenzoperationen (composite) generell von Xgl beschleunigt werden, was unter Verwendung von OpenGL-beschleunigten Überlagerungs- und Fensterverwaltern (composition / window managers) wie compiz, sehr elegante und beeindruckende Effekte ermöglicht. Diese bieten auch und gerade sehbehinderten Menschen und unerfahrenen Benutzern einen leichteren Zugang zu Linux und einfachere Möglichkeiten, sich in ihrem virtuellen Arbeitsumfeld zurechtzufinden.

Technischer Hintergrund

Xgl und compiz wurden hauptsächlich von David Reveman (Novell) mit einigen Zusätzen von Matthias Hopf (SUSE) entwickelt. Dave Arlie, Adam Jackson (Red Hat) und Jon Smirl arbeiten am eigenständigen Xegl, welcher hier nicht beschrieben wird, aber mit Xgl zusammenhängt. Xgl verwendet die API von glitz als Abstraktionsschicht, welche von David Reveman und Peter Nilsson (UMU) entwickelt und implementiert wurde.

Xgl ist das Frontend zu einigen verschiedenen Backends, wobei das glx-Backend (auch Xglx genannt) im Moment die treibende Kraft der Entwicklung ist. Dieses Backend läuft in einem Fenster auf einem regulären Xserver (vergleichbar mit Xnest), welcher die notwendige OpenGL-Unterstützung bereitstellt. Es gibt einen -fullscreen Schalter um ein einzelnes Vollbildfenster zu erhalten. Außerdem müssen Sie einen Bildschirmnamen vergeben, welcher NICHT der des originären Xservers ist. Ein anderes Backend namens Xegl erlaubt das Betreiben von Xgl direkt im framebuffer. Allerdings befindet sich dieses Backend in einem frühen Entwicklungsstadium und läuft nur auf ATI R200 basierten Grafikkarten unter Linux.

Da Xgl mit dem glx-Backend nicht alleine laufen kann, startet es automatisch einen Xorg-Server. SUSEs Standardkonfiguration benutzt Bildschirm :93 dafür. Nur Xgl ist es dann erlaubt mit diesem Xorg-Server zu interagieren und stellt dann selber für alle anderen Anwendungen Bildschirm :0 bereit.

Xgl/Compiz benutzen

Um Xgl unter SUSE Linux zu verwenden, lesen Sie bitte den Artikel Xgl unter SUSE Linux verwenden. Informationen zum kombinierten Fenster- und Überlagerungsverwalter erhalten Sie auf der Seite von Compiz. Falls bei der Benutzung von Xgl und Compiz Schwierigkeiten auftreten, lesen Sie bitte die Seite Xgl Problemlösungen. Grundlegendes erfahren Sie auch in den folgenden Antworten auf häufig gestellte Fragen.

Häufig gestellte Fragen (HGF/FAQ)

  • Kann ich <insert_your_favorite_window_manager_here> mit Compiz benutzen?
    Nein, Compiz ist zwar ein Fensterverwalter/Window Manager, allerdings kann immer nur einer alleine verwendet werden. Obwohl Überlagerungsverwalter (composite manager) und Fensterverwalter (window manager) unterschiedliche Konzepte sind, müssen diese beiden Prozesse für viele Effekte eng zusammenarbeiten, was von so genannten kombinierten Fenster- und Überlagerungsverwaltern (compositing window managers) erledigt wird. Compiz ist ein solcher.
  • Was ist mit glxcompmgr.rpm und xglx.rpm?
    Die Pakete glxcompmgr und xglx laufen aus.
  • Direktes Zeichnen (direct rendering) funktioniert wenn nur der Xorg-Server läuft, aber nicht wenn Xgl läuft. Warum werden OpenGL-Anwendungen nicht beschleunigt?
    Verwechseln Sie nicht Hardware-Beschleunigung und direktes Zeichnen. OpenGL-Anwendungen werden auch unter Xgl von der Hardware beschleunigt so lange der Treiber pBuffers oder FBOs unterstützt, wie es die Treiber nvidia und fglrx machen. Es ist zur Zeit noch nicht möglich, direktes Zeichnen (direct rendering) einzubauen, da die notwendigen Erweiterungen zur Einführung dieser Möglichkeit noch nicht spezifiziert sind.
    Direktes Zeichnen schließt Hardware-Beschleunigung mit ein, aber nicht umgekehrt. Das direkte Zeichnen ist ein wenig schneller als das indirekte, allerdings ist das indirekte Zeichnen auch nicht so schlecht wie es sich anhört.
    Leider ist direktes Zeichnen bzw. direct rendering bei Xorg eine Art Synonym für von der Hardware beschleunigte Grafik. Es ist schwieriger festzustellen, ob Hardware-Beschleunigung vorhanden ist als die Verfügbarkeit von direct rendering zu überprüfen.
  • Kann ich Arbeitsflächen auch auf die Ober- und Unterseite des Würfels legen?
    Nein. Das macht keinen Sinn, da Würfelober- und Würfelunterseite einfache Quadrate sind, während ihr Bildschirm einigen Bildseitenverhältnissen unterliegt. Das würde auch heißen, dass Sie eine entsprechende Arbeitsfläche wählen und dann um ihre eigene Achse drehen könnten (drehen Sie den Würfel mal auf die Oberseite und dann nach links oder rechts). Sie können die Anzahl der Würfelseiten verändern, indem Sie die Option apps/compiz/general/screen0/options/size bspw. mit gconf-editor anpassen.
  • Wie konfiguriere ich eine Muli-Monitor-Installation für Xgl?
    Xgl und compiz unterstützen die Erweiterung Xinerama noch nicht, es wird aber daran gearbeitet.
  • Ist all das Teil von Xorg 7?
    Nein, Xgl wird zwar innerhalb der Gemeinde von Xorg entwickelt, allerdings in einem anderen Zweig. Mit der Zusammenführung soll wohl nach der Veröffentlichung von Xorg 7.1 begonnen werden.
  • Wie aktiviere ich Composite in den Konfigurationsdateien?
    Das müssen und sollten Sie gar nicht. Xgl unterstützt Composite schon direkt von sich aus. Der darunter arbeitende Xorg-Server braucht Composite nicht zu exportieren. Das ist vor allem wichtig zu wissen, wenn Sie den proprietären Treiber von nVidia (nvidia) benutzen, da dieser bei gleichzeitiger Verwendung von Composite und OpenGL immer noch Probleme hat.
  • Wie werde ich die nervigen Artefakte los?
    Dieses Problem ist recht komplex und muss separat angegangen werden.

Hardware-Anforderungen

Sollte sich ihre Hardware nicht in dieser Liste befinden, können Sie auch diese Liste prüfen.
Wenn Sie sich nicht sicher sind, welche Grafikhardware bei ihnen läuft, führen Sie als root hwinfo --gfxcard aus.

Empfohlene Grafikprozessoren

Diese Grafikprozessoren arbeiten gut mit XGL zusammen oder werden empfohlen:

  • Intel
    Alle Grafikprozessoren von Intel benötigen die neuesten Pakete von Xgl und Compiz. Nutzen Sie am besten SUSE Linux 10.1 oder neuer.
    • i915, i945
      Beschleunigte XVideo-Ausgabe funktioniert auf diesen Karten nicht. Weitere Informationen bei den Problemlösungen
  • nVidia
    Alle nVidia-Karten benötigen die proprietären Treiber zum Ausführen von Xgl. Unter 10.1 Beta8 müssen Sie das Xgl-RPM nach dem Installieren der proprietären Treiber deinstallieren und dann nochmals installieren.
    • GeForce2GTS
      benötigt den alten nVidia-Treiber
    • GeForce2 MX Serie
    • GeForce 4xxx Serie
      XVideo wird auf diesen Karten nicht beschleunigt.
    • GeForce FX 5xxx Serie, Quadro FX Serie
      Beschleunigte XVideo-Ausgabe ist auf diesen Karten sehr langsam. Diesem Problem wird momentan nachgegangen.
    • GeForce 6xxx Serie
    • GeForce 7xxx Serie
  • ATi
    Beim Betrieb von ATI-Karten mit dem proprietären fglrx-Treiber müssen einige Dinge angepasst werden. Lesen Sie dazu auch den entsprechenden Abschnitt in den Problemlösungen.
    • Mobility Radeon 9700 SE: Xgl funktioniert mit dem proprietären fglrx-Treiber in Version 8.23
    • Mobility Radeon X600: Xgl funktioniert mit fglrx 8.24.8 und fglrx 8.25.18

Problematische Grafikprozessoren

Grafikprozessoren mit bekannten Problemen.

  • ATi
    • Mobility Radeon M6 LY (7000), Mobility Radeon M9 (9000) und Mobility Radeon M9+ (9200)
      Zeichnet Artefakte und gelegentliches Flackern.
    • Radeon 9200
      Bei Verwendung der fglrx-Treiber in Version 8.22.5 findet keine Hardwarebeschleunigung statt.
  • Intel
    • i855GM
      Funktioniert eigentlich, die Effekte sind aber sehr langsam und Compiz könnte beim Start abschmieren.
    • i815, i845, i855
      Zu alt. Xgl läuft zwar, aber Compiz funktioniert nicht. Vielleicht wird später noch eine Kompatibilitätsschicht hinzugefügt.

Siehe auch

WWW-Verknüpfungen