Um in den Genuss eines flüssigen Spielablaufs zu kommen, braucht man für die meisten Spiele die 3D-Unterstützung der Hardware. Wir erklären Ihnen die Einrichtung für Nvidia-basierte Grafikkarten.
Wurden die Rechner früher durch Datenbank-Anwendungen oder wissenschaftliche Berechnungen bis an die Belastungsgrenze getrieben, stellen heutzutage Spiele die größten Resourcenfresser dar. Insbesondere seit die Bildschirmdarstellung immer realistischer wurde, kam auch der schnellste Prozessor bei den notwendigen Berechnungen ins Schwitzen: Statt wie früher üblich flache Figuren über einen gemalten Hintergrund zu bewegen, werden Spiel-Szenen nun dreidimensional beschrieben – in einem virtuellen Raum werden mitunter mehrere tausend Gegenstände mit unterschiedlicher Beschaffenheit, Form und Farbe verteilt. Der Monitor kann aber nach wie vor nur zweidimensionale Abbildungen darstellen, die Spiele-Szene muss also für jedes einzelne Monitor-Bild aus der Blickrichtung des Spielers “abfotografiert”, oder anders ausgedrückt, “gerendert” werden.
Um der CPU etwas Luft zu verschaffen, wurden nach und nach Teilaufgaben des Renderings in den Grafikkarten-Chip ausgelagert: Anstatt nun jeden Lichtstrahl einzeln zu verfolgen, muss der Prozessor der Grafikkarte nur noch die Lage und Beschaffenheit der einzelnen Gegenstände (die übrigens in kleine, dreieckige Flächen aufgespalten werden) mitteilen – diese erledigt dann den Rest.
Einer der größten Hersteller solcher Grafik-Chips mit 3D-Hardware-Beschleunigung ist die Chip-Schmiede Nvidia (http://www.nvidia.de), bei der sich viele Grafikkarten-Hersteller wie zum Beispiel Elsa versorgen. Da jeder Chip-Hersteller seinen eigenen, gut gehüteten Befehlssatz verwendet, bedarf es zur Nutzung der 3D-Eigenschaften eines speziellen Treibers. Nvidia bietet seit geraumer Zeit auch Linux-Treiber an, die Sie auf dem FTP-Server der Firma unter ftp://ftp1.detonator.nvidia.com/pub/drivers/english/XFree86_40/ finden.
Der Treiber besteht aus zwei Teilen: Dem GLX-Paket, das die Verbindung zum X-Server gewährleistet, und dem Kernel-Modul, das einen direkten Zugriff auf die Grafikkarte erlaubt. Nvidia stellt fertig angepasste Pakete für die verbreitetsten Distributionen bereit. Die Treiber finden Sie übrigens nicht auf unserer Heft-CD, das ist aus lizenzrechtlichen Gründen leider nicht möglich – sie sind nicht offen gelegt. Aus Platz- und Zeitgründen beschränken wir uns aber auf die Versionen 7.1 und 7.0 von SuSE sowie Red Hat 7.0. Da der Nvidia-Treiber mindestens XFree86 4.0.1 voraussetzt, ist die Verwendung älterer Distributionen sehr problematisch und nicht zu empfehlen. Generell gilt für den Spiele-Sektor: Das System sollte stets hochaktuell sein, weshalb man um regelmäßige Updates der Treiber, des X-Systems und des Kernels nicht herum kommt. Die Verwendung der jeweils aktuellen Treiber ist dringend angeraten, Nvidia kämpft mitunter noch mit Stabilitätsproblemen, die von einfachen Grafik-Fehlern bis hin zum Komplett-Absturz des Linux-Systems reichen.
SuSE 7.1
Während der Installation bietet Ihnen YaST2 bei der X-Einrichtung die Aktivierung der 3D-Treiber an, was Sie aber ignorieren können. Die Einbindung erfolgt später per SaX2 oder durch manuelle Anpassung der Konfigurationsdatei. Zum Redaktionsschluss war Version 0.9-769 des Nvidia-Treibers aktuell, die entsprechenden Pakete heißen NVIDIA_GLX-0.9-769.suse71.rpm und NVIDIA_kernel-0.9-769.suse71.rpm. Gibt es inzwischen neuere Treiber, sollten Sie diese bevorzugen. Die beiden Pakete sollten Sie im Verzeichnis /tmp ablegen, das erleichtert die Beschreibung der nächsten Schritte.
Wir gehen von einer SuSE-7.1-Standardinstallation aus. Zur Vorbereitung der 3D-Installation müssen Sie zwangsläufig die grafische Oberfläche verlassen und auf eine Textkonsole schalten. Die erste Textkonsole erreichen Sie mit [Strg-AltF1], dort loggen Sie sich als root ein. Danach schalten Sie mit init 3 die grafische Oberfläche komplett ab und können mit der eigentlichen Installation beginnen.
Das Paket zum Software-Rendering, mesasoft, benötigen Sie nicht mehr und entfernen es per rpm -e mesasoft. Anschließend wird das Kernel- und danach das GLX-Paket von Nvidia installiert:
rpm -i --force /tmp/NVIDIA_kernel-0.9-769.suse71.rpm rpm -i --force /tmp/NVIDIA_GLX-0.9-769.suse71.rpm
Das Kernel-Paket müssen Sie mittels –force installieren, weil es die von SuSE mitgelieferten Nvidia-Module überschreibt. Bei der Installation des GLX-Pakets wird sich RPM möglicherweise über das Fehlen der Datei switch2nv_glx beschweren, das ist jedoch kein Problem. Wichtig ist noch, einen fehlenden Link für GLX zu setzen:
ln -s /usr/lib/libGL.so.1 /usr/lib/libGL
Um nun den 3D-Support zu aktivieren, können Sie entweder die X-Konfigurationsdatei von Hand bearbeiten oder SaX2 benutzen.
Einrichtung mit SaX2
Rufen Sie sax2 -f auf und lehnen Sie die zunächst angebotene 3D-Unterstützung ab, da SaX2 insbesondere bei GeForce-3-basierten Karten wie zum Beispiel der Elsa Gladiac 920 sonst nicht startet. Die Einstellungen, die SaX2 Ihnen nun anbietet, lehnen Sie ebenfalls ab und wählen stattdessen Change Configuration aus dem Menü rechts unten. Es folgt eine Abfrage, ob eine angeblich fehlende Komponente nachinstalliert werden soll. Hier verneinen Sie.

Abbildung 1: Die Elsa Gladiac 920 mit GeForce-3-Chip funktioniert nur mit der neuesten Treiber-Version (ab 0.9-769). Die Installationsprogramme von SuSE und Red Hat erkennen sie noch nicht, im Zweifelsfall funktionieren aber auch die Einstellungen für ältere Modelle wie die GeForce 2
Im nun folgenden Dialog übernehmen Sie mit Use / change the current configuration Ihre bisherigen X-Einstellungen und klicken so lange auf Next, bis Sie im Graphics Device Setup angelangt sind. Hier müssen die entsprechende Module ausgewählt werden. Klicken Sie auf Properties, Expert. Dort wird Ihnen unter Driver das Modul “nv” angeboten. Wählen Sie stattdessen “nvidia” aus dem Pulldown-Menü, wie in Abbildung 2 gezeigt. Mit OK kommen Sie zurück ins Graphics Device Setup. Dort klicken Sie noch auf Load 3D Modules, versehen den Eintrag “glx” mit einem Haken und bestätigen wiederum mit OK. Mit Next gelangen Sie nun in die Monitor-Auswahl, wo Sie unter Properties neben Ihrem Monitor-Modell auch die gewünschten Auflösungen einstellen können. Sind Sie damit fertig, klicken Sie auf Finish.
Im nun folgenden Fenster speichern Sie bitte zuerst die Einstellungen – auch hier kam es bei Versuchen zu SaX2-Abstürzen, bei denen keine Konfiguration geschrieben wurde. Verlassen Sie nach dem Speichern SaX2 nicht, sondern starten Sie den Test-Modus. Hier können Sie letzte Feineinstellungen vornehmen; die Schaltfläche Save Configuration bringt Sie dann zurück zum SaX2, den Sie im Anschluss beenden können.
Damit ist die Einrichtung komplett, mit init 5 gelangen Sie zurück zur grafischen Oberfläche.
In seltenen Fällen kann es vorkommen, dass Spiele trotz augenscheinlich korrekter Installation nicht 3D-beschleunigt laufen oder sich gar über das Fehlen der Bibliothek libGL beklagen. Rufen Sie dann als Root switch2nvidia_glx auf. Einmal war es sogar erforderlich, das GLX-Paket mittels rpm -i –force –nodeps NVIDIA_GLX-0.9-769.suse71.rpm noch einmal aufzuspielen.
Um im schlimmsten Fall zu Ihrer ursprünglichen Konfiguration zurückzukehren, brauchen Sie lediglich die Datei /etc/X11/XF86Config.saxsave wieder in XF86Config umbenennen.
Manuelle Einrichtung
Deutlich schneller als mit SaX2 geht das direkte Bearbeiten der Konfigurationsdatei in einen Editor wie zum Beispiel mcedit. Mit mcedit /etc/X11/XF86Config bearbeiten Sie die zentrale Konfigurationsdatei des X-Window-Systems. Zuerst suchen Sie nach der Sektion Module und fügen dort den Eintrag Load “glx” ein:
Section "Module" … Load "freetype" Load "glx" EndSection
Damit wird das GLX-Modul beim nächsten Start geladen. Nun müssen Sie noch das Nvidia-Modul in der Sektion Device eintragen. SuSE hat dort standardmäßig das Modul nv stehen. Hier die betreffende Sektion nach der Änderung:
Section "Device" Driver "nvidia" Identifier "Device[0]" EndSection
Sie speichern die Datei mit [F2] und verlassen den mcedit mit [F10]. Damit ist die Einrichtung schon beendet, init 5 bringt Sie wieder zurück zum grafischen Login.
SuSE 7.0
Die Einrichtung mit SuSE 7.0 ist bedeutend aufwendiger: Da es keinen Nvidia-Treiber für die in SuSE 7.0 enthaltene XFree86-Version 4.0 gibt, müssen Sie wohl oder übel rund 30 MByte aus dem Internet downloaden – auf der Heft-CD hatten wir leider keinen Platz mehr dafür. Das Update des X-Servers ist übrigens kein unproblematisches Thema: Schlägt es fehl, funktioniert der grafische Login nicht mehr. Deshalb sollten Sie das Update nicht unbedacht durchführen.
Die RPM-Pakete bekommen Sie von ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/X/XFree86/XFree86-4.0.2-SuSE/. Sie benötigen zum Update auf XFree86 4.0.2 die RPM-Pakete xshared, xmodules, xf86, xloader und xfntscl. Empfehlenswert ist zudem xfnt100, und zur Einrichtung noch intlfonts-ttf und sax2 aus dem Unterverzeichnis sax2.
Zum Update müssen Sie auch hier die grafische Benutzeroberfläche abschalten. Dazu Wechseln Sie mit [Strg-Alt-F1] auf die erste Textkonsole, loggen sich als root ein und rufen init 2 auf. Danach installieren Sie die RPM-Pakete in der oben angegebenen Reihenfolge mittels rpm -Uhv –force –nodeps Paketname.rpm. So keine Fehlermeldungen aufgetreten sind, können Sie zur Einrichtung des 3D-Supports schreiten.
Dazu installieren Sie zunächst die entsprechenden Pakete von Nvidia, in unserem Fall waren das NVIDIA_GLX-0.9-769.suse70xfree86-4.0.2.i386.rpm und NVIDIA_kernel-0.9-769.suse70xfree86-4.0.2.i386.rpm. Die Vorgehensweise entspricht der bei SuSE 7.1
Einrichtung mit SaX2
Die manuelle Einrichtung ist nach dem Update sehr schwierig – es gibt keine Konfigurations-Datei, auf die Sie sich stützen können. Sie sollten deshalb SaX2 verwenden. Die Vorgehensweise ist identisch zur Einrichtung unter SuSE 7.1, nur dass Sie zusätzlich die vorgeschlagenen Einstellungen für Maus und Tastatur kontrollieren müssen. In aller Regel können sie jedoch übernommen werden. Nach Ende der Einrichtung kehren Sie mit init 3 zum grafischen Login zurück.
Um im Fehlerfall das alte XFree86 wieder zu beleben, legen Sie an der Textkonsole die erste SuSE-CD (oder DVD) ein und rufen als Root yast auf. Unter Installation festlegen/starten, Konfiguration ändern/erstellen finden Sie eine Auflistung der SuSE-Serien. In der Serie “x” befinden sich die gesuchten Pakete, sie sind mit [i] markiert. gehen Sie nun auf jedes so markierte Paket und drücken Sie die Taste [R], womit die Markierung auf [R] wechselt. Mit [F10] verlassen Sie dann die Serien und wählen Installation starten. Am Ende der Installation verlassen Sie YaST und kehren mit init 3 wieder zum grafischen Login zurück.
Red Hat
Die Installation unter Red Hat 7.1 müssen wir Ihnen leider schuldig bleiben, die von Nvidia angebotenen Pakete waren für die falsche Kernel-Version hergestellt. Im großen und ganzen ist die Vorgehensweise bei Red Hat 7.1 analog zur nachfolgend beschriebenen.
Red Hat 7.0 kommt bereits mit XFree86 4.0.1 und benötigt daher kein X-Update wie SuSE 7.0. Sollte Ihre Grafikkarte während der Installation nicht erkannt werden, zum Beispiel weil Sie eine GeForce 2 GTS oder GeForce 3 verwenden und diese noch nicht erfasst ist, wählen Sie ein Vorgängermodell, zum etwa die GeForce 2 aus. Die zur Installation des 3D-Supports notwendigen Nvidia-Pakete sind NVIDIA_GLX-0.9-769.i386.rpm und NVIDIA_kernel-0.9-769.rh70-up.i386.rpm. Beide Pakete sollten Sie zur Vereinfachung in /tmp ablegen.
Auch bei Red Hat müssen Sie zuerst die grafische Oberfläche gegen die Textkonsole eintauschen: Nach Umschalten mit [Strg-Alt-F1] loggen Sie sich als root ein und schalten X mit init 3 ab.
Weitere Vorbereitungen sind nicht nötig, als nächstes installieren Sie das Kernel- und das GLX-Paket von Nvidia:
rpm -i /tmp/NVIDIA_kernel-0.9-769.rh70-up.i386.rpm rpm -i /tmp/NVIDIA_GLX-0.9-769.i386.rpm
RPM wird Ihnen mitteilen, dass diverse Dateien im Zuge der Konfliktvermeidung umbenannt wurden. Doch dazu später mehr, für den Moment können wir die Meldungen ignorieren.
Manuelle Einrichtung
Bleibt noch die manuelle Eintragung des korrekten Servers in der /etc/X11/XF86Config-4. Das GLX-Modul ist bei Red Hat standardmäßig schon eingetragen, Sie brauchen also nur noch in der Sektion Device das Modul “nv” gegen “nvidia” auszutauschen. Das Ergebnis sollte so aussehen:
Section "Screen" Identifier "Screen0" … Driver "nvidia" … EndSection
Damit wäre die 3D-Einrichtung komplettiert, init 5 bringt Sie wieder zurück zum grafischen Login. Auf unserem System erwies sich die Version 0.9-769 des Treibers als nicht sehr stabil; wer Probleme mit Abstürzen bei 3D-Spielen bekommt, sollte eventuell die Vorgänger-Version 0.9-6 testen. Die Vorgehensweise zur Installation unterscheidet sich nur darin, dass RPM nun der Parameter “–force” mitgegeben wird.
Deinstallation
Die bei der Installation des GLX-Pakets angezeigte Meldung über das Umbenennen von vier Dateien war für eine spätere Deinstallaton gedacht und betrifft je zwei Dateien in den Verzeichnissen /usr/lib und /usr/X11R6/lib/modules/extensions: Deren Namen wurde “xxx” vorangestellt sowie die Endung “.RPMSAVE” angehängt, bei der Deinstallation müssen sie also wieder zurückbenannt werden. Weitere Änderungen sind nicht nötig.
Ausblick
Natürlich gibt es noch andere Grafik-Chips mit 3D-Support als die von Nvidia. Für einige recht verbreitete Chips, darunter ATI Rage 128, ATI Radeon, 3Dfx und Matrox, bietet das DRI-Projekt (http://dri.sourceforge.net/) vorgeferigte Treiber-Pakete zum Selbst-Kompilieren – die wichtigsten finden Sie auf unserer Heft-CD. Da die Treiber jedoch Kernel 2.4 sowie XFree86 4.0.1 oder höher voraussetzen, sind lediglich die aktuellsten Distributionen von SuSE, Red Hat oder Mandrake geeignete Grundlagen. Diesem Thema werden wir uns in einer späteren Ausgabe widmen. (mdö)
Links
- Nvidia-Treiber für XFree86 4.0.1 oder höher:ftp://ftp1.detonator.nvidia.com/pub/drivers/english/XFree86_40/
- Update auf XFree86 4.0.2 für SuSE 7.0:ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/X/XFree86/XFree86-4.0.2-SuSE/





