17.5 Treiber für Nvidia- bzw. ATI-Karten
Seit einiger Zeit stellen Nvidia und ATI auch offizielle (wenn auch nicht quelloffene) Treiber für andere Betriebssysteme als Windows zur Verfügung.
Nvidia bespielsweise bietet seine Treiber auch für Linux, Solaris und FreeBSD an.
Im Folgenden werden wir jeweils eine ATI- und eine Nvidia-Grafikkarte unter Linux zum Laufen bringen.
17.5.1 Nvidia-Grafikkarten
Zunächst werden wir uns mit den Karten von Nvidia befassen. Einige Distributionen bieten bereits die Möglichkeit, spezielle Pakete zu installieren, die die entsprechenden Treiber enthalten, doch da wir ein distributionsunabhängiges Handbuch schreiben, machen wir alles von Hand.
Zunächst läd man von nvidia.com den aktuellen Treiber herunter. Der Treiberdatei verpasst man durch chmod +x noch Ausführungsrechte und startet als root anschließend das Setup durch Ausführung der Datei.
# ./NVIDIA-Linux-x86_64-1.0-9755-pkg2.run
Listing 17.20 Installation des Nvidia-Treibers starten
Man wird nun Schritt für Schritt und ohne, dass man viel zu wissen braucht, durch die Installation geleitet. Gegen Ende der Installation fragt das Setup, ob die Konfigurationsdatei von X11 modifiziert werden soll, was man in der Regel nicht verneinen sollte. Zudem wird eine Backup-Datei erstellt, die – gesetzt den Fall, dass es Probleme geben sollte – immernoch mit der vorherigen Konfiguration verwendet werden kann.
17.5.2 ATI-Grafikkarten
Ähnlich einfach gestaltet sich die Installation des ebenfalls proprietären ATI-Treibers fglrx. Auch hier kann das zum eigenen System passende Treiberpaket – es werden sowohl 32- als auch 64-Bit-Systeme unterstützt – von der Homepage des Herstellers ati.com heruntergeladen werden. Zu beachten ist jedoch, dass nur Karten der neuen R300- und R400-Generation unterstützt werden. Für die älteren R200-Chips, die beispielsweise bei der FireGL 8800/9200, Radeon 8500/9xxx und Mobility Radeon 9000/9200 verwendet wurden, gibt es den Open-Source-Treiber »radeon«.
Dieser Treiber wird nicht von ATI entwickelt und vertrieben, sondern ist Teil des X.org- Projekts.
Der für die neueren Karten benötigte fglrx-Treiber gliedert sich in den eigentlichen X-Server und ein für die DRI <Direct Rendering Interface>-Unterstützung notwendiges Kernel-Modul, das für den eigenen Kernel übersetzt werden muss. Unter der heruntergeladenen Datei versteckt sich nun auch wie bei Nvidia ein ausführbares X11-Programm, das den Benutzer durch die wiederum recht einfach gehaltene Installation führt.
Nachdem man die Installation so weit abgeschlossen hat, kann man sich automatisch eine passende xorg.conf erzeugen lassen. Dafür kann das mit dem Treiber mitgelieferte Tool aticonfig benutzt werden:
# aticonfig --initial
Listing 17.21 aticonfig ausführen
Nach einem Restart von X oder alternativ auch nach einem Reboot sollte der neue Treiber dann bereits genutzt werden.
Alternativ bieten viele Distributionen bereits Pakete für ATI- sowie Nvidia-Karten an, obwohl beide Treiber teilweise auf Closed-Source basieren. Auch sind gibt es oft unterschiedliche Pakete für die Kernel-Modul-Sourcen und den eigentlichen Userspace-Treiber. Diesen kann man zwar auch allein installieren, man muss dann jedoch auf eine beschleunigte 3D-Darstellung verzichten.
17.5.3 Funktionstest
ATI
Dass der 3D-Support korrekt funktioniert, erkennt man bei ATI aus der Ausgabe von fglrxinfo:
$ fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Mobility Radeon X1600 Generic OpenGL version string: 2.0.6011 (8.28.8)
Listing 17.22 3D-Beschleunigung aktiviert?
Nvidia
Bei Nvidia-Grafikkarten kann man einfach glxinfo aufrufen:
$ glxinfo name of display: :0.0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: NVIDIA Corporation server glx version string: 1.4 server glx extensions: ... client glx vendor string: NVIDIA Corporation client glx version string: 1.4 client glx extensions: ...
Listing 17.23 glxinfo
Bei deaktivierter Beschleunigung und Software-Rendering würde im »Vendor-String« die freie Mesa-Bibliothek genannt werden.
Eine kleine Demonstration der 3D-Fähigkeiten samt Benchmark liefert bei ATI-Karten fgl_glxgears, das sich drehende Zahnräder animiert und die dabei erzielte Framerate auf der Konsole ausgibt. Bei Nvidia-Karten kann man stattdessen glxgears ausführen.
17.5.4 Welche Karte ist die beste?
Wenn man sich neue Hardware zulegen will, stellt sich oft die Frage, welcher Grafik-Chip es denn nun sein soll. Diese Frage ist von vielen Faktoren abhängig, sehr heikel und natürlich letztendlich auch eine Frage des persönlichen Geschmacks und der eigenen Präferenzen. Jedoch wollen wir kurz einige oft geäußerte Kritikpunkte zusammenfassen, um Ihnen einen ersten Überblick über dieses Thema zu geben.
Sowohl bei ATI als auch bei Nvidia wird oft der Umstand kritisiert, dass es sich in weiten Teilen um Closed-Source-Treiber handelt. Gerade bei ATI wird oft kritisiert, dass der Treiber generell deutlich schlechter als unter Windows arbeitet, neue Karten oft erst ein halbes Jahr nach der Veröffentlichung und manche X-Features <Die von vielen Anwendern gewünschte Compositing-Extension, die für einen optmimalen Betrieb von Beryl/Compiz benötigt wird, wird nicht unterstützt.> generell gar nicht unterstützt werden. Bezüglich Features und Perfomance gilt Nvidia allgemein als etwas besser.
Welche Karte sollte man also kaufen? Eigentlich können wir weder zu Nvidia noch zu ATI uneingeschränkt raten. Am besten unterstützt sind immernoch die Intel-Grafikchips. Für diese gibt es exzellente Open-Source-Treiber, und auch die Entwickler werden von Intel sehr gut unterstützt. <Gleiches gilt für Netzwerkkarten. Für den High-Performance-Betrieb wurden von bekannten Kernel-Netzwerk-Programmierern sehr oft Intel-Chips empfohlen – hier seien einfach die Treiber am besten.>
Wie dem auch sei, wenn Sie sich eine neue Grafikkarte für den hauptsächlichen Linux-Betrieb kaufen möchten, sollten Sie sich am besten vorab im Internet informieren, was für Erfahrungen von anderen Usern bereits gesammelt wurden, was wie gut unterstützt wird und was nicht. Bilden Sie sich also ein Urteil abseits von Leistungsbenchmarks der Hersteller und großer Zeitschriften.