09 Jul 2007
NVidia-Treiber auf SuSE Linux 10.0 installieren
Um die Nvidia-Treiber unter Linux zu installieren, benötigt man normalerweise einen Compiler und die Kernel-Headers, welche zum gerade installierten Kernel passen. Leider passen bei SuSE LInux 10.0 die Kernel-Headers irgendwie nicht zum installierten Kernel oder ein anderer Fehler liegt vor.
Folgende Fehlermeldung erhielt ich zuerst von nvidia-installer: “Unable to find the kernel source tree for the currently running kernel.”
Nach installieren der Kernel-Headers kam folgende Fehlermeldung: “The kernel header file ‘/lib/modules/ 2.6.13-15-default/source/include/linux/kernel.h does not exist.”
Es muss ein kompletter Kernel kompiliert werden mit der “alten” Konfiguration.
Dazu wie folgt vorgehen: Den korrekten Treiber hier von der NVidia-Homepage downloaden und z. B. im Home-Verzeichnis speichern.
Dann müssen folgende Pakete mit dem YaST installiert werden: gcc, make, kernel-source Um das zu kontrollieren, folgendes eingeben:
rpm -qa kernel*
Die Ausgabe muss lauten:
kernel-update-tool-0.9-10
kernel-docs-2.6.13-15
kernel-default-2.6.13-15
kernel-source-2.6.13-15
kernel-default-nongpl-2.6.13-15
und für make und gcc:
rpm -qa make gcc
make-3.80-188
gcc-4.0.2_20050901-3
Wenn Pakete fehlen, müssen sie über den YaST nachinstalliert werden. Bei mir war das instalieren der Kernel-Sourcen nur möglich, wenn als Installationsquelle packman angegeben habe. Dazu im YaST unter dem Menüpunkt Software -> Installationsquelle Wechseln folgende Installationsquelle hinzufügen
Protokoll:
(x) FTP
Servername:
ftp.uni-erlangen.de
Verzeichnis auf dem Server
pub/mirrors/packman/suse/10.0
Als positiven Nebeneffekt kann man jetzt viele andere Pakete auch vom Packman instalieren und muss eigentlich keine CDs mehr einlegen. Jetzt geht man ins Verzeichnis /usr/src und kontrolliert, ob (neben anderem)( ein symlink namens linux auf 2.6.13-15 vorhanden ist:
cd /usr/src
ls -l
linux -> linux-2.6.13-15
Danach einen neuen Kernel mit den gleichen Daten des alten bauen. Folgende Befehle der Reihe nach als root eingeben: (nicht durch die Kompilier-Meldungen erschrecken)
# cd /usr/src/linux
# make cloneconfig
# make bzImage
# make modules
# make modules_install
# make install
Der neue Kernel ist jetzt fertigkompiliert und installiert. Den Rechner mit
# reboot
neu starten, der neue Kernel sollte automatisch ausgewählt und gebootet werden. Danach als root auf einer Text-Konsole einloggen (CTRL-ALT-F1 beim grafischen Login-Schirm drücken) und den X-Server stoppen:
# /etc/init.d/xdm stop
shutting down service gdm done
Jetzt kann (endlich) der NVidia-Treiber kompiliert werden, wie auch in der Anleitung zum Treiber beschrieben. Dazu in das Verzeichnis wechseln wo man vorhin den Treiber von der Webseite heruntergeladen hat, und eingeben:
# sh ./NVIDIA-Linux-x86-1.0-7185-pkg1.run
(den Namen des Treibers natürlich durch den passenden, aktuellen ersetzen, hier wird der alte Treiber für die Legacy GPU version (1.0-71xx series) verwendet, beim verwendeten Dell Optiplex GX 150 ist halt die alte Karte verbaut) Die Fragen im Installer korrekt beantworten, und endlich sollte es gelingen, ein Kernel-Modul zu kompilieren. Der Treiber kann dann mit dem SuSE-eigenen Konfigurationstool sax2 aktiviert werden. Als root in den runlevel 3 wechseln:
# init 3
und dann
# sax2
eingeben, um das Konfigurationstool zu starten. Konfiguration ändern, den NVidia-Treiber auswählen und die 3D-Beschleunigung aktivieren. Nach beendigen des Tools in den runlevel 5 wechseln:
# init 5