Gallium3D

Gallium3D
Basisdaten

Hauptentwickler VMware (ursprünglich Tungsten Graphics)[1]
Entwickler VMware[2], X.Org Foundation[2], Nouveau[2]
Aktuelle Version 0.4
(24. April 2010)
Betriebssystem plattformunabhängig (derzeit vornehmlich Linux, macOS, BSD und andere unixoide Systeme)
Programmier­sprache C
Kategorie Grafikbibliothek
Lizenz MIT-Lizenz
Gallium3D (Teil von Mesa 3D)

Gallium3D (auch „Gallium 3D“ geschrieben[3]) ist eine ursprünglich von Tungsten Graphics entwickelte Programmierschnittstelle,[1] die die Entwicklung von plattformunabhängigen Grafiktreibern erleichtern soll. Die Hauptaufgabe besteht in der Zusammenfassung von Funktionen, wie sie jeder Grafiktreiber benötigt, um auf modernen Grafikprozessoren hardwarebeschleunigte Grafikausgaben zu realisieren. Hierbei abstrahiert Gallium3D an verschiedenen Punkten (Betriebssystem, Computergrafik-APIs wie OpenGL oder DirectX usw.), um dem eigentlichen Grafiktreiber eine einheitliche Schnittstelle anzubieten.

Gallium3D ist seit 2009 Teil von Mesa 3D[4] und wird derzeit von den freien Treibern für AMD-Radeon-GPUs (ab dem R300), nVidia-GeForce-GPUs und einigen Intel-GPUs (vor allem im Bereich von Android und Chromium OS[5]) eingesetzt.

Darüber hinaus gibt es mit LLVMpipe einen Treiber auf Gallium3D-Basis, der mittels Software Rendering per LLVM OpenGL-Nutzung auf Grafik-Hardware ohne dedizierte Treiber ermöglicht.[6]

In etlichen Linux-Benchmarks waren Gallium3D-Treiber langsamer,[7] doch hat sich die Situation in den vergangenen Jahren auch durch die Bereitstellung von Dokumentationen durch AMD drastisch geändert, so dass oftmals der quelloffene radeonsi performanter ist als der proprietäre fglrx bei OpenGL-Benchmarks.[8] Seit 2018 entwickelt auch Intel einen Gallium3D-Treiber für ihre IGP, Codename iris, der seit Mesa 19.1 auf experimenteller Basis enthalten ist.[9] Dennoch sind die Qualitäts- und Leistungs-Unterschiede zwischen quelloffenen und proprietären Treibern je nach Hardware sehr groß.

  • Mesa /DRI und Gallium3D haben unterschiedliche Modelle für Gerätetreiber. Beide teilen allerdings große Mengen an freiem Quellcode.
    Mesa /DRI und Gallium3D haben unterschiedliche Modelle für Gerätetreiber. Beide teilen allerdings große Mengen an freiem Quellcode.
  • Eine mögliche Matrix, wenn das Gallium3D Model konsequent umgesetzt würde. Durch die Einführung der beiden Schnittstellen Gallium3D Tracker Interface und Gallium3D WinSys Interface sind nur 18 anstatt 36 Module notwendig. Jedes WinSys-Modul kann mit jedem Gallium3D Gerätetreiber-Modul und mit jedem State Tracker-Modul kombiniert werden.
    Eine mögliche Matrix, wenn das Gallium3D Model konsequent umgesetzt würde. Durch die Einführung der beiden Schnittstellen Gallium3D Tracker Interface und Gallium3D WinSys Interface sind nur 18 anstatt 36 Module notwendig. Jedes WinSys-Modul kann mit jedem Gallium3D Gerätetreiber-Modul und mit jedem State Tracker-Modul kombiniert werden.
  • Illustration des Linux Grafik Stacks
    Illustration des Linux Grafik Stacks

Weblinks

  • Technische Übersicht von Gallium3D auf wiki.freedesktop.org (englisch)

Einzelnachweise

  1. a b VMware übernimmt Tungsten Graphics – Alexandra Kleijn für Heise, am 16. Dezember 2008
  2. a b c gallium.readthedocs.org.
  3. Gallium 3D mit neuen DirectX Schnittstellen – Golem, am 9. Februar 2010
  4. Michael Larabel: Gallium3D Now In Mainline Mesa Code-Base! Phoronix, 11. Februar 2009, abgerufen am 5. Januar 2012 (englisch). 
  5. Michael Larabel: Google's Into Intel Gallium3D For Chromium OS? Phoronix, 23. Juni 2011, abgerufen am 5. Januar 2012 (englisch). 
  6. Gallium llvmpipe driver. In: The Mesa 3D Graphics Library. Abgerufen am 16. März 2014 (englisch). 
  7. phoronix.com
  8. phoronix.com
  9. phoronix.com