Linux – Treiber 3D OpenGL

Direct Rendering Infrastructure (DRI)

DRI

Der Linux-Kernel erlaubt keinen direkten Hardware- oder Speicherzugriff. Die Hardware wird also vollständig von der Benutzerebene abgeschirmt, um die Stabilität zu bewahren. Ältere Systeme wie MacOS 9 oder Windows 9x, erlauben dieses und sind somit sehr instabil und sehr anfällig. Mit dem XFree86 >= 4.0 Grafiksystem ist die DRI (Direct Rendering Infrastructure) durch die Firma Precision Insight entstanden. Mit dem GLX von dem Unternehmen SGI und das Direct Rendering in dem X Server integriert, bietet die DRI eine hoch optimierte direkte Verbindung zur Grafik-Hardware.

i386, Alpha und SPARC Hardware-Architekturen werden unterstützt. Intel’s SSE (Multimedia Extensions), MMX und AMD’s 3DNow-Erweiterungen werden ebenso bei entsprechender CPU genutzt. Die DRI für 3D-Beschleunigung unterstützt folgende Grafikchips:

Um sich aus erster Quelle über den Entwicklungsstand zu informieren, ist die DRI Sourceforge-Seite aufzusuchen. Dort ist auch eine aktuelle Seite mit einer Status-Übersicht der unterstützten Grafikkarten.
Oft gemachte Fehler im Umgang mit der DRI

Die DRI benötigt immer einen entsprechenden Treiber in Form eines Kernel-Moduls für die Grafikkarte. Dieses Treiber-Modul befindet sich bei einem Kernel 2.6.17 z.B. im Verzeichnis:

/lib/modules/2.6.17/kernel/drivers/char/drm/

Und dieses muss exakt zum verwendeten Kernel oder genauer den Kernelquellen passen!

Gerade die Treiber von nVidia, ATI, Intel oder Matrox müssen zur Linux-Distribution und dem verwendeten Kernel passen. Ebenso zur eingesetzten XFree86- oder Xorg-Version. Wenn kein fertig kompilierter Treiber angeboten wird, hat man leider Pech gehabt! – Hersteller wechseln! Dann hilft vielleicht noch ein „Quellen-Paket“, mit diesem man sich den Treiber selbst kompilieren kann. Wenn aber die Hersteller keine Informationen und Daten über die Grafikkarten herausgeben, kann niemand einen Treiber schreiben.

Utah-GLX

Utah-GLX bietet Hardware-beschleunigtes OpenGL für eine bestimmte Anzahl von 3D-Chips, ist aber ursprünglich nur für den älteren XFree86 3.3.x, ohne modulare Treiber, entwickelt worden. Mittlerweile aber auch für XFree86 4.0.x.

Entwickelt wurde das GLX von SGI als Erweiterung des X Window Systems, um das OpenGL-Rendering im X-Server einfacher zu integrieren. SGI hat dazu die Quellen und Schnittstellen im Quellcode veröffentlicht. Das Haupt-Rendering geschiet duch die Mesa 3D, einer freien OpenGL-Umsetzung. Utah-GLX unterstützt folgende ältere Grafikkarten:

Mit dem aktuellem XFree 4.x.x:

Und unter dem alten XFree 3.3.x:

Wer also noch XFree86 in der alten 3.3.x Version einsetzt, kann mit Utah-GLX und den oben angegebenen Chips/Karten recht gute Leistungen unter Linux im 3D-Betrieb erhalten.

Mesa 3D

Mesa
Mesa

Die 3D Grafik-Library Mesa 3D wurde ursprünglich nur für Unix-/X11-Systeme als freie Implementierung von OpenGL entwickelt. Mittlerweile werden auch viele andere Systeme vom Amiga bis Windows unterstützt.

John Carmack, Chefentwickler von id Software, hatte vor Jahren noch eine sehr großzügige Spende übermittelt, Quake 3 z.B. nutzt die Mesa 3D als Renderer unter Linux mit X11. Software-beschleunigt ist die Mesa 3D alleine ohne die DRI, eine langsame CPU-intensive Möglichkeit. Auch das GLX von SGI basiert auf der freien Mesa 3D. Die Mesa 3D (Software beschleunigt) ist nur bei anspruchslosen Anwendungen oder Spielen zu empfehlen, da hier die CPU die volle Arbeit übernimmt und die 3D-Fähigkeiten des Grafikchips nicht entfaltet und genutzt werden.

Grafikkarten-Treiber

Die meisten Grafikkarten laufen mit dem aktuellen XFree86 / Xorg ohne Probleme im regulären 2D-Modus. Die Treiber werden als Kernel-Modul zusammen mit einem Xorg-Modul geladen. Die ganze Hardware-Konfiguration für die Grafikanzeige übernimmt die Datei /etc/X11/xorg.conf oder bei älteren Distributionen auch noch die Datei /etc/X11/XF86Config. Diese muss entsprechend angepasst werden, entweder bequem mit grafischen Werkzeugen der Distribution oder aber per Hand mit einem Editor. Aufpassen muss man dann mit dem Distributions-Tools wie z.B. YaST2, die beim Booten die Standard-Werte wieder herstellen.

Hersteller wie ATI, nVidia, Intel und Matrox bieten eigene „Closed-Source-Treiber“ an. Diese müssen vom Hersteller unbedingt mit dem Kernel der Distribution vorkompiliert worden sein. Die Datei /etc/X11/xorg.conf muss auf den Treiber-Namen angepasst werden. Der nVIDIA eigene Xorg-Treiber heißt: „nvidia“. Der „einfachere“ Open-Source-Treiber vom Xorg/XFree86 heißt kurz: „nv“.

Dieser bietet aber leider nur eine einfache Leistung in 3D und 2D (Video-Erweiterungen und 2D-Rendering), weil die Hersteller nicht mithelfen oder eben keine Spezifikationen an die Treiber-Entwickler weitergeben.

Es existiert also immer ein Kernel-Modul, das z.B. nach /lib/modules/2.6.17/kernel/drivers/video/ (im Falle von nVidia z.B) wandert und eins für XFree/Xorg. Dieses sollte nach der Installation in: /usr/X11R6/lib/modules/drivers/ (alter XFree86) oder beim aktuellen Xorg in: /usr/lib/xorg/modules/drivers/ zu finden sein, damit es geladen werden kann.

nVidia Forceware Linux-Treiber

Einer der führenden Grafikkartenhersteller nVidia bietet für XFree86/Xorg >= 4.0.1 Linux-Treiber an. Oder direkt über den FTP-Server von nVidia: ftp://download.nvidia.com/XFree86/

Unterstützt werden ein optimierter und Hardware-beschleunigter 2D- und 3D-Betrieb, TwinView, Flat Panels, Dual Monitor, DMA, ein eigener nVidia-AGP und der Linux-Kernel AGP, OpenGL, FSAA (Full Scene Anti-Aliasing), Anisotropic Filtering, alle GL-Extensions, composite, bis hin zu den X Render Extensions für Kantenglättung bei Type1 und TrueType Fonts. Der neue schnelle PCI-Express-Bus läuft auch problemlos. Ab der Version 1.0-9629 laufen auch der 3D OpenGL Composite/Window Manager compiz und beryl mit dem lang ersehnten Support von: GLX_EXT_texture_from_pixmap".

nVidia Treiber

nVidia stellt einen aktuellen Beta-Treiber Version 361.18 für 32-bit (x86) und 64-bit (x86_64) bereit, der brandneue Features der aktuellen Grafikkarten von nVidia bietet. Dieses ist ein proprietärer Treiber von nVidia.

Download nVidia Beta-Treiber

Download stabiler nVidia Linux-Treiber

Ältere nVidia-Grafikkarten / nVidia GPU

Linux 32-bit ARM
Letzte langlebige Branch-Version: 352.79
Letzte kurzlebige Branch-Version: 358.16
Archiv

Linux x86/ia32
Letzte langlebige Branch-Version: 352.79
Letzte kurzlebige Branch-Version: 358.16
Letzte Legacy-GPU-Version (340.xx series): 340.93

Letzte Legacy-GPU-Version (304.xx series): 304.128
Letzte Legacy-GPU-Version (71.86.xx Serie): 71.86.15
Letzte Legacy-GPU-Version (96.43.xx Serie): 96.43.23
Letzte Legacy-GPU-Version (173.14.xx Serie): 173.14.39
Archiv

Linux x86_64/AMD64/EM64T
Letzte langlebige Branch-Version: 352.79
Letzte kurzlebige Branch-Version: 358.16
Letzte Legacy-GPU-Version (340.xx series): 340.93

Letzte Legacy-GPU-Version (304.xx series): 304.128
Letzte Legacy-GPU-Version (71.86.xx Serie): 71.86.15
Letzte Legacy-GPU-Version (96.43.xx Serie): 96.43.23
Letzte Legacy-GPU-Version (173.14.xx Serie): 173.14.39
Archiv

Linux IA64
Letzte Version: 1.0-5336
Archiv

Folgende aktuellen nVidia-Grafikkarten laufen mit dem nVidia-Treiber 1.0-97xx:

  • GeForce FX 5xxx
  • GeForce PCX 4xxx/5xxx
  • GeForce 6xxx/7xxx/8xxx
  • GeForce Go 5xxx/6xxx/7xxx (mobile)
  • Quadro 4/FX
  • Quadro NVS 110M

Folgende nVidia-Grafikkarten laufen mit dem nVidia-Treiber 1.0-96xx:

  • GeForce2 MX/MX 400/MX 200/MX 100
  • GeForce3 / Ti 200/500
  • GeForce4 MX/Ti 4xxx
  • Quadro DCC/NVS 50
  • Quadro 4xx/7xx/9xx
  • Quadro2 MXR/EX/Go

Folgende nVidia-Grafikkarten laufen mit dem nVidia-Legacy-Treiber 1.0-7xxx:

  • TNT/TNT2/TNT2 Pro/Ultra
  • TNT2 M64/M64 Pro/Ultra
  • Vanta / Vanta LT
  • GeForce 256/DDR
  • GeForce2 Pro/GTS/Ultra/Ti
  • Quadro
  • Quadro2 Pro

Beim aktuellen nVidia-Treiber ist ein Programm für die Grafik-Einstellungen des nVidia-Treibers namens „nvidia-settings“ dabei, dass hilfreiche Informationen liefert und auch eine erweiterte Konfiguration des Treibers bietet.

nvidia settings
nvidia settings

Laufzeit-Informationen zum nVidia-Treiber unter der grafischen Oberfläche X erhält man z.B. im xterm (Terminal) mit dem Befehl:

cat /proc/driver/nvidia/registry (Aktuelle Einstellungen des Treibers)
cat /proc/driver/nvidia/version (Treiber- und Compiler-Version)
cat /proc/driver/nvidia/agp/status (AGP Status)
cat /proc/driver/nvidia/agp/host-bridge (Host-Bridge)
cat /proc/driver/nvidia/cards/0 (Grafikkarten-Modell, IRQ, Bussystem,…)

nVidia bietet eine ausführliche Installationsanleitung für die Installation und Konfiguration mit Linux.

Mit dem Tool NVClock kann die die Temperatur, Pipes-Anzahl, Speicher- und Grafikprozessor-Taktraten von nVidia-Chips ausgelesen werden.
Ein gdesklet für den GNOME Desktop, dass die Grafikkarten-Temperatur, -Typ und die Taktraten von nVidia-Chips ausliest wurde auch geschrieben.

ATI Linux-Treiber – AMD Catalyst Display Driver

AMD bietet für X.Org und XFree86 4.x (ältere Distributionen) Linux-Treiber mit voller Hardware-3D-Beschleunigung für x86 (32 Bit) und x86-64 (64 Bit) an. Unterstützt werden folgende Linux-Distributionen:

  • Red Hat Enterprise Linux Suite 7.2, 7.1, 7.0, 6.7, 6.6, 6.5
  • Ubuntu 12.04.4 LTS, 14.04.2, 14.04.3, 15.04, 15.10
  • SUSE Linux Enterprise 11 SP3, 12
  • OpenSuSE 13.1

Der aktuelle ATI-/AMD-Linux-Treiber:
AMD Radeon Software Crimson 15.12 proprietäre Linux Grafiktreiber

Für ältere ATI- / AMD-Grafikkarten

Ältere Grafik-Treiber von ATI / AMD

Folgende ATI-Chips werden vom sogenannten Legacy-Treiber unterstützt:

  • Radeon 8500
  • Radeon 9000
  • Radeon 9100
  • Radeon 9500
  • Radeon 9700
  • Radeon 9800
  • Radeon X1xxx
  • Ati Mobile
  • FireGL 8700/8800

Der AMD Catalyst-Treiber für Linux ist mit folgenden Grafikkarten (GPU) und Mobile-Grafikchips kompatibel:

AMD Desktop Product Family Compatibility

  • AMD Radeon™ R9 290 Series
  • AMD Radeon™ HD 8000 Series
  • AMD Radeon™ R9 280X Series
  • AMD Radeon™ HD 7000 Series
  • AMD Radeon™ R9 270X Series
  • AMD Radeon™ HD 6000 Series
  • AMD Radeon™ R7 260X Series
  • ATI Radeon™ HD 5000 Series
  • AMD Radeon™ R7 250 Series
  • AMD Radeon™ R7 240 Series

AMD All-In-One Desktop Product Family Compatibility

  • AMD Radeon™ HD 7600A Series
  • AMD Radeon™ HD 6600A Series
  • AMD Radeon™ HD 7450A Series
  • AMD Radeon™ HD 6350A Series

AMD Embedded Product Family Compatibility

  • AMD Radeon™ E6760
  • AMD Radeon™ E6460

AMD APU Product Family Compatibility – Desktop – Mobile

  • AMD Radeon™ R7 Series
  • AMD Radeon™ R7 Series
  • AMD Radeon™ HD 8000D Series
  • AMD Radeon™ HD 8000G Series
  • AMD Radeon™ HD 7000D Series
  • AMD Radeon™ HD 7000G Series
  • AMD Radeon™ HD 6000D Series
  • AMD Radeon™ HD 6000G Series
  • AMD Radeon™ HD 8000M Series
  • AMD Radeon™ HD 6000M Series
  • AMD Radeon™ HD 7000M Series
  • ATI Mobility Radeon™ HD 5000 Series

Weitere Fragen zum Linux-Treiber werden in der Unofficial Wiki for the AMD Linux Driver beantwortet.

Für Ubuntu eine Ati/fglrx Ubuntu-Anleitung und die inoffizielle Ubuntu AMD Linux Treiber-Anleitung.

Matrox Linux-Treiber

Matrox bietet Linux-Treiber für Xorg / XFree86 >= 4.0.2 an. Unterstützt werden Grafikkarten mit den Matrox-Grafik-Chips:

  • G200
  • G400
  • G450
  • G550
  • G650
  • G750
  • Parhelia

Diese Treiber (Kernel-Module) basieren auf der DRI (Direct Rendering Infrastructure) und benötigen den Kernel AGP-Support durch das Modul agpgart oder wie bei Fedora Core in den Linux Kernel integriert. Matrox-Karten bieten immer noch für den Office- oder für die Grafikbearbeitung eine sehr gute Leistung verbunden mit sehr guter Bildqualität, die man nicht vergessen sollte. Auch mit mehreren Displays kombiniert, sind die Karten von Matrox spitze zu handhaben.

Generic KYRO Linux-Treiber

Für Grafikkarten mit PowerVR KYRO-Chip bietet Imagination Technologies Linux-Treiber an. Diese bringen einen Hardware-beschleunigten 2D- und 3D-Betrieb mit XFree/Xorg > 4.0 und Kernel 2.4.x oder >= 2.5.8. Die 3D-Darstellung wird über die DRI angesteuert. Unterstützt werden anscheinend alle PowerVR KYRO-Chips.

Intel® Linux-Treiber

Eine Übersicht von Linux Distributionen, ob die Intel-Hardware von Linux unterstützt wird, bietet diese Seite:

Die (experimentellen) Open Source Linux Graphics Driver für 2D und 3D sind zu finden bei:

Intel® bietet für die Centrino® Notebooks mit integriertem Grafikchip onboard Linux-Treiber für folgende Grafikchips an:

  • i830M
  • i845G
  • i852GM
  • i855GM
  • i865G
  • i910GL / i915G

Intel Linux Grafik-Treiber

Für folgenden aktuelle Intel® Centrino® Notebooks mit folgenden integrierten Grafikchips:

  • 852GM/GME/GMV
  • 855GM/GME
  • 865G/GV
  • 915G/GV, 910GL/GML
  • 915GM/GMS
  • 945G / 945GM

Intel Linux-Grafik-Treiber

Immer die Datei README.txt zum Treiber für die Installation und Konfiguration vorher lesen! Der agpgart (AGP-Treiber) und das DRM-Modul im Kernel-Verzeichnis ist hierfür erforderlich.

S3 Graphics – Linux-Treiber

Linux-Treiber für Grafikkaten von S3 Graphics.

VIA integrated Graphics – Linux-Treiber

Linux-Treiber für VIA Grafikchips

Games, Spiele und News für Gamer und Linux

Tux
Tux
OpenGL
OpenGL
Tux Gamer
Tux Gamer

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.