Diese Hilfe soll erklären wie Nvidia Chip basierende Karten unter Linux im
OpenGL Modus betrieben werden können. Dies ist für alle OpenGL basierenden
Spiele wie z.B. Unreal Tournament und Quake 3 Arena absolut notwendig.



System - Vorraussetzungen


- Sie brauchen XFree Version 4.x oder höher. Falls sie noch eine 3.x Version
haben müssen Sie zunächst auf http://www.xfree.org gehen und ein Update machen.
Aktuelle Distributionen sollten aber Standardmäßig eine 4.x Version haben.
Wenn Sie es nicht genau wissen geben Sie folgenden Befehl in einer Konsole ein :


XFree86 -version


Achtung: Die NVidia Treiber unterstützen fast alle NVidia Chip
basierenden Karten. TNT und Geforce Karten sollten alle unterstützt werden.
Sollten Sie noch eine ältere Karte besitzen dann schauen sie bei den Treiber
Downloads in den Hilfe Text. Dort wird beschrieben welche der älteren Karten
mit dem Treiber funktionieren und welche mit den in XFree enthaltenen Treibern
betrieben werden müssen.


Download


- Gehen Sie nun auf http://www.nvidia.com und suchen sie unter den Treibern nach
den Linux Treibern.


- Dort sehen Sie eine Liste mit RPM Paketen für verschiedene
Distributionen.


Wichtig : Ich beziehe mich hier auf Systeme wie Suse, Redhat und Mandrake.
Für Systeme die keine RPMS zur Paketinstallation benutzen, müssen Sie die Tar
Files verwenden.


Es gibt jetzt zwei Möglichkeiten :


a) Ihre Distribution ist aufgelistet und Sie laden die vorkompilierte RPM Pakete (GLX und Kernel)
herunter


b) Ihre Distribution ist nicht aufgelistet oder die Downloadbahren RPM Pakete
funktionieren nicht. In diesem Fall laden sie ganz unten in der Liste die Source
RPMs herunter.


Anmerkung: Die Beiträge aus dem Linux Forum zeigen, das die RPM Pakete von
fast allen Distributionen funktionieren. Die Treiberversion 1.0-1251 für
Mandrake 8.0 funktioniert aber definitiv nicht, so das dann Methode b)
angewendet werden muss. Aber selbst wenn Sie nach b) vorgehen und XFree 4.1
benutzen ist die Wahrscheinlichkeit groß das es trotzdem nicht funktioniert.
Sie können es dann eben ausprobieren und wenn es nicht funktioniert müssen sie
die 0.9 Treiber nach Methode a) installieren. Dieser ist auf der NVidia Seite
auf deren FTP Server zu finden.


Installation der vorkompilierten RPM Pakete


Zu a) Sie können das runtergeladene RPM Paket einfach folgendermaßen
installieren :


- Anmeldung als Root


Anmerkung: Wenn Sie schon mal NVidia Treiber installiert hatten und noch
nicht wieder deinstalliert haben geben Sie erst folgende Befehle ein :


rpm -e NVIDIA_GLX


rpm -e NVIDIA_kernel    (oft nicht nötig, aber besser
immer mit eingeben)



- Wechseln Sie nun mit einer Konsole in das Verzeichnis wo die runtergeladenen RPMs gespeichert sind



- Geben Sie folgenden Befehl ein : rpm -ihv NVIDIA*.rpm


- Die Treiber sollten jetzt installiert werden. Es ist normal das einige Dateien
umbenannt werden


kompilieren und installieren der Sourcen (halb automatisch)


Zu b1) In dem Fall, dass Sie die Sourcen herunter geladen haben müssen sie
die Treiber nun selbst kompilieren. Gehen Sie folgendermaßen vor:


- Anmeldung als Root


- Wechseln Sie mit einer Konsole in das Verzeichnis wo die runtergeladenen
Source RPMs gespeichert sind und führen Sie
folgenden Befehl aus :


rpm --rebuild NVIDIA*.rpm


Anmerkung: Jetzt sollte der Treiber kompiliert werden. Achten Sie im Text
auf Angaben zu einem Verzeichnis z.B. /usr/src/RPM/RPMS/i686


Achtung : Diese Verzeichnis Struktur bezieht sich auf Mandrake 8.0. Bei
anderen Distributionen kann das etwas anders aussehen.


Beispiele:


- Suse : /usr/src/packages

- Redhat : /usr/src/redhat


Die nachfolgend benötigten Verzeichnisse sollten dort aber immer in
ähnlicher Form vorhanden sein.


Wechseln Sie nun in das Verzeichnis. Sollte es in i686 keine neuen Dateien geben versuchen Sie die anderen i383, i486 ...
(abhängig davon was für ein System Sie besitzen)


- Wenn Sie die fertig kompilierten RPMs gefunden haben dann installieren Sie
sie folgendermaßen:


rpm -e NVIDIA_GLX    (falls Sie schon mal NVidia Treiber
installiert hatten)


rpm -e NVIDIA_kernel    (oft nicht nötig, aber besser
immer mit eingeben)


rpm -ihv NVIDIA*.rpm    (installiert GLX und Kernel)


- Starten Sie anschließend die X-Server neu. Beim Start von X sollten Sie
nun kurz das Nvidia Logo im Hintergrund sehen.


Anmerkung: Es kann beim Neustart der X-Server zum Systemabsturz
kommen. Ein Neustart des ganzen Rechners sollte dieses Problem aber beheben.


- melden Sie sich wieder als Root an


kompilieren und installieren der Sourcen (manuell)


Zu b2) Sollte Methode b1) nicht funktionieren (kommt selten vor), können Sie
auch den manuellen Weg gehen :


- Anmeldung als Root


- Wechseln Sie mit einer Konsole in das Verzeichnis wo die runtergeladenen
Source RPMs gespeichert sind und führen Sie
folgenden Befehl aus :


rpm -Uhv NVIDIA*.rpm    (entpackt die Dateien, es wird nichts
installiert)


Wechseln Sie nach /usr/src/RPM/SPECS


Achtung: Diese Verzeichnis Struktur bezieht sich auf Mandrake 8.0. Bei
anderen Distributionen kann das etwas anders aussehen.


Beispiele:


- Suse : /usr/src/packages

- Redhat : /usr/src/redhat


Die nachfolgend benötigten Verzeichnisse sollten dort aber immer in
ähnlicher Form vorhanden sein.


- Geben Sie dann folgenden Befehl ein :


rpm -bb --target=i686 --clean --rmsource NVIDIA*.spec


Wichtig: Das Target sollten Sie Ihrem Rechner anpassen. Wenn sie einen 686
Rechner und ein 686 Linux System haben, dann sollten Sie das schreiben.
Andernfalls eben den entsprechend anderen Wert (i386, i486, oder i586).


Anmerkung: Dieser Befehl installiert nichts, sondern kompiliert die RPM Pakete für ihr System. Dies dauert ein paar Minuten. Es ist möglich das er
nach bestimmten Sourcen verlangt. Diese sollten Sie auf ihrer Linux CD finden
und installieren können. Danach diesen Schritt wiederholen und es sollte
funktionieren.


- Wechseln sie nun in das Verzeichnis ../src/RPM/RPMS/i686 (Abhängig davon
welche Distribution Sie haben und was sie als Target gewählt haben)


- Hier sollten nun die fertig kompilierten RPMs für Ihr System sein. Geben
Sie nun folgende Befehle ein :


rpm -e NVIDIA_GLX    (falls Sie schon mal NVidia Treiber
installiert hatten)


rpm -e NVIDIA_kernel    (oft nicht nötig, aber besser
immer mit eingeben)


rpm -ihv NVIDIA*.rpm    (installiert GLX und Kernel)


- Starten Sie anschließend die X-Server neu. Beim Start von X sollten Sie
nun kurz das Nvidia Logo im Hintergrund sehen.


Anmerkung: Es kann beim Neustart der X-Server zum Systemabsturz
kommen. Ein Neustart des ganzen Rechners sollte dieses Problem aber beheben.


- melden Sie sich wieder als Root an


Konfiguration


Nun ist nur noch eine Änderung des XFree Config Files notwendig. Öffnen Sie
mit einem Editor (kedit, VI, joe ...) die Datei XF86Config oder XF86config-4
(für XFree 4.x). Sie finden diese Dateien in /etc/X11. Letztere sollte die Norm
sein. Falls diese Datei nicht vorhanden, XFree 4.x aber definitiv installiert
ist, benutzen Sie XF86Config.


Ändern Sie folgende zwei Einträge :


- Unter der Section "Module" schreiben Sie dazu : load "glx"

- Unter Section "Device" sollten sie die Einträge für Ihre
Grafikkarte finden. Als Driver steht da jetzt wahrscheinlich "nv",
ändern Sie das in "nvidia"


- Starten Sie nun erneut das X-System neu. Und melden Sie sich am System an.


Testen


- rufen Sie mit der Konsole folgenden Befehl auf :


glxinfo


- Aus der Ausgabe dieses Befehls sollte hervorgehen das OpenGL jetzt mit
ihrer NVidia Karte arbeitet. Keinesfalls sollte hier Mesa stehen. Falls doch
überprüfen Sie die Konfiguration noch einmal.


- Starten Sie jetzt zum richtigen Test ein OpenGL basierendes Spiel, wie z.B. quake3
oder tuxracer. Jetzt sollte OpenGL auf ihrem Rechner laufen und die Spiele
sollten funktionieren.


Wichtige Anmerkung: Sollen Sie die Treiber nicht selbst kompiliert haben und
Sie OpenGL nicht benutzen können weil es fehlerhaft funktioniert (aber gefunden
wird), so gehen Sie wie unter b1) bzw. b2) beschrieben vor und kompilieren Sie die Treiber
selbst.


Anmerkung: Bei Quake3 bricht er im Falle eines Fehlers z.B. mit der Meldung
ab das er ein Signal 11 von X erhalten hat und deshalb abbricht. Das ist ein
deutlicher Hinweis das der OpenGL Treiber nicht richtig funktioniert.


Wenn alles versagt, wie es bei Mandrake 8.0 mit XFree 4.1 möglich ist, dann
installieren sie die Treiber 0.9 und warten Sie auf die ganz neuen Treiber mit
denen Sie einen neuen Versuch wagen können.


Trouble Shooting und Sonstiges


- Sie können die Dateien, in SOURCES, SPECS sowie das Verzeichnis Nvidia
wieder löschen (im Fall b2) ). Die kompilierten RPMs in ix86 (x=3,4,5 oder 6) können Sie
behalten oder ebenfalls löschen.


- Sollte OpenGL nicht gefunden werden, aber alle Einträge in der XF86config
Datei korrekt sein, dann schauen sie in /usr/lib/ nach. Dort sollten drei
Dateien sein : libGL.so (Link, der auf libGL.so.1 oder libGL.so.Version verweist), libGL.so.1 (Link der auf die Treiberdatei libGL.so.Version) und
libGL.so.Version. Sollten die Links nicht da oder falsch sein, müssen Sie das
manuell korrigieren.


- Wo der File libGL.so.Version liegt ist egal. Nur die Links müssen
vorhanden sein und stimmen. Bei Suse liegt der File eventuell unter /usr/lib/GL