GLX

GLX
Basisdaten

EntwicklerSilicon Graphics, Inc.
Erscheinungsjahr1992
Aktuelle Version1.4
(16. Dezember 2005)
Betriebssystemunixoide
ProgrammierspracheC
KategorieProgrammierschnittstelle (API)
LizenzSGI FreeB License[1]
sgi.com/products/software
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
GLX und AIGLX versus direct rendering.
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
Wayland verwendet EGL.

GLX (OpenGL Extension to the X Window System) ist eine Programmierschnittstelle (API), welche es Programmen ermöglicht, OpenGL-Befehle über das X11-Protokoll zu versenden. GLX ist netzwerktransparent, d. h. die Grafik kann auch über das Netzwerk transportiert werden. Schneller ist das direct rendering, mit dem GLX entweder ersetzt oder erweitert werden kann.

Geschichte

GLX wurde von Silicon Graphics entworfen und befindet sich momentan in Version 1.4. Der Free-X-Server X.Org unterstützt GLX (inkl. Mesa und DRI) ab Version X11R6.7.0, der X-Server XFree86 ab Version 4.0.

Die Software wurde 1999 zunächst unter einer proprietären Lizenz veröffentlicht. Am 19. September 2008 stellte SGI eine neue Version seiner "SGI Free Software License B" vor. Seit dieser Version steht die Software im Einklang mit dem Verständnis der Open-Source-Gemeinschaft von freier Software. Die FSF begrüßte diesen Schritt ebenfalls.[2]

Eigenschaften

GLX besteht aus drei Teilen:

  • Einer API, welche dazu benutzt wird, OpenGL-Programme für das X-Window-System zu schreiben.
  • Einer Erweiterung des X-Protokolls, welches dem Client (der OpenGL-Applikation) erlaubt, 3D-Render-Befehle an den X-Server (die Software, welche für die Anzeige zuständig ist) zu senden. Client und Server können dabei auf verschiedenen Rechnern laufen.
  • Einer Erweiterung des X-Servers, welche die empfangenen Render-Befehle übersetzt und sie an die hardwarebeschleunigte 3D-Grafikkarte sendet oder sie per Software, unter Verwendung der Mesa-Bibliothek, rendert (was sehr viel langsamer ist).

Wenn ein Client und ein Server auf demselben Rechner laufen und eine 3D-beschleunigte Grafik mit passendem Treiber verfügbar ist, können die letzteren beiden Komponenten mit Hilfe von DRI umgangen werden: Das Client-Programm kann dann direkt auf die Grafikhardware zugreifen, was weitere Geschwindigkeitsvorteile bringt.

(c) application screenshot, MIT
glxgears

Auf einem laufenden X-Server können eine Menge an Diagnoseinformationen über GLX, eingeschlossen der GLX-Optiken, die das System unterstützt, mit dem Befehl „glxinfo“ extrahiert werden. Das Demonstrationswerkzeug „glxgears“ unterstützt eine grobe Einschätzung der Geschwindigkeit der 3D-Render-Einrichtung.

Die Windows-Variante wird WGL genannt.

Siehe auch

  • WGL – eine zu GLX äquivalente Schnittstelle zwischen dem Windows-Fenstersystem und OpenGL
  • CGL – eine zu GLX äquivalente Schnittstelle zwischen dem macOS-Fenstersystem und OpenGL
  • AIGLX – erweitert GLX um Direct Rendering
  • EGL – eine zu GLX äquivalente Schnittstelle zwischen dem Fenstersystem (bzw. Anwendungen darin) und OpenGL, OpenGL ES sowie OpenVG. EGL wird auch auf eingebetteten Systemen ohne Fenstermanager verwendet, z. B. in der Avionik oder anderen Fahrzeugen

Weblinks

Quellenangaben

  1. SGI Free Software License B (Memento des Originals vom 20. April 2017 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/oss.sgi.com
  2. SGI – OpenGL unter freier Lizenz

Auf dieser Seite verwendete Medien

Glxgears Xfce.png
(c) application screenshot, MIT
Die OpenGL-Demo glxgears
Linux graphics drivers DRI current.svg
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
Schema des Linux Kernel Grafikstapels; die aktuelle Direct Rendering Infrastructure, jegliche GPU-Zugriffe erfolgen durch den Direct Rendering Manager.
Linux graphics drivers DRI Wayland.svg
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
Schema des Linux Kernel Grafikstapels; Wayland nutzt EGL.