Diese Seite beschreibt die manuelle Installation der Nvidia-Treiber. Sie ist nur nötig, wenn man eine andere Treiberversion benötigt, als die bereits in Ubuntu enthaltene (siehe Grafikkarten/Nvidia). Dies ist nur selten der Fall, normalerweise bringt der neuere Treiber keine Vorteile. Die hier beschriebene Installation sollte nur von fortgeschrittenen Usern durchgeführt werden. Des Weiteren sollte beachtet werden, dass mit jedem Kernelupdate auch das Nvidia-Kernelmodul neu kompiliert werden muss, wenn kein DKMS installiert ist.
Zuerst sollte man die Pakete
nvidia-glx
nvidia-glx-legacy
nvidia-glx-new
vollständig entfernen [1], wenn sie vorhanden sind.
Dieser Hinweis gilt nur für Ubuntu-Versionen vor Karmic (9.10): Zudem ist es notwendig in der Datei /etc/default/linux-restricted-modules-common die Nvidia-Kernelmodule von Ubuntu zu sperren, indem man "nv" zu den DISABLED_MODULES hinzufügt, damit es nicht zu Problemen mit Modulen aus den Paketen von nvidia-kernel-common und linux-restricted-modules kommt und man erspart sich dadurch die Deinstallation dieser Pakete.
DISABLED_MODULES="nv"
Ab Ubuntu 7.04 muss man zusätzlich das Modul nvidia_new eintragen.
DISABLED_MODULES="nv nvidia_new"
Es müssen die zum verwendeten Kernel passenden Header sowie die zum Kompilieren benötigten Pakete installiert werden [1]:
build-essential
xserver-xorg-dev
linux-headers-generic , an die eigene Architektur anpassen, [4]
libc6-i386 , bei amd64 für die 32Bit Librarys
Seit dem letzten Sprung auf 100.14.xx gibt es zwei Versionen von Legacy-Treibern. Die 1.0-71xx-Serie unterstützt die Grafikkarten bis zur GeForce 2 GTS/Pro/Ti/Ultra und Quadro 2 Pro, die 1.0-96xx-Serie unterstützt die Karten von GeForce 2 MX bis zu GeForce 4/Quadro 4. Falls eine ältere Karte verwendet wird und die Fehlermeldung "The NVIDIA Geforce (...) GPU installed in this system is supported through the NVIDIA 1.0-96xx (oder: 1.0-71xx) Legacy drivers. The 100.14.xx NVIDIA driver will ignore this GPU." beim ersten Starten des X-Servers ausgegeben wird, sollte man wieder die ältere 96xx- oder die 71xx-Version benutzen.
Von nvidia.com
den benötigten Treiber für die eigene Plattform (meist i386, also IA32) herunterladen.
Jetzt mit Strg + Alt + F1 zur ersten Konsole wechseln, einloggen und mit einem der folgenden Kommandos die grafische Oberfläche abschalten. Für "normales" Ubuntu:
sudo /etc/init.d/gdm stop
oder für Kubuntu/KDE
sudo /etc/init.d/kdm stop
Hier springt das Bild zum Ladebildschirm von Kubuntu, weshalb man nochmal zur ersten Konsole wechseln muss.
Wenn dieser Befehl nicht die gewünschte Wirkung erzielt, kann die Installation auch über die Root-Shell des Recovery-Modus durchführen. Den Recovery-Modus erreicht man über das Bootmenü.
Vor der Installation sollte man ein Backup seiner /etc/X11/xorg.conf machen. Danach mit dem Befehl cd in das Verzeichnis wechseln, in dem der Installer von NVIDIA abgespeichert ist. Dort eintippen:
sudo sh NVIDIA-Linux-x86-100.14.09-pkg1.run
Den Anweisungen des Installers folgen: Dabei die Frage, ob man ein Kernelmodul von der Nvidia-Seite herunterladen möchte, verneinen und bestätigen. Der Installer sollte nun das passende Kernelmodul für den verwendeten Kernel kompilieren.
Nach Beendigung der Prozedur wird man gefragt, ob nvidia-xconfig ausgeführt werden soll, damit der Treiber in die /etc/X11/xorg.conf eingetragen wird, was man wieder bestätigt. Findet die Abfrage nicht statt, bearbeitet man die Konfigurationsdatei xorg.conf mit Root-Rechten [2].
Section "Device"
Driver "nv"
EndSectionHier ersetzt man den Wert "nv" (gegebenenfalls auch "vesa") mit dem Wert "nvidia".
Nun kann die grafische Oberfläche mit
sudo /etc/init.d/gdm start
bzw.
sudo /etc/init.d/kdm start
wieder gestartet werden.
Ab und zu kommt es vor, dass der XServer das Nvidia-Modul nicht laden kann. In diesem Falle kann man es in die Datei /etc/modules eintragen. Der Schritt sollte eigentlich nie nötig sein, doch in Problemfällen hat er schon geholfen.
echo nvidia | sudo tee -a /etc/modules
Wird der Kernel aktualisiert oder sollen neben dem Standardkernel noch andere Versionen des Kernels verwendet werden, müssen zusätzliche Dinge beachtet werden, bevor man das System mit den anderen Kerneln hochfährt.
Nach obiger Anleitung den Treiber von Nvidia installieren.
Die Installation ein weiteres Mal starten, diesmal wird aber nur das Modul für die andere Kernelversion gebaut.
sudo sh NVIDIA-Linux-x86-1.0-9755-pkg1.run -a -K --kernel-name=$ANDERER_KERNEL
$ANDERER_KERNEL entspricht der Ausgabe von
uname -r
unter der anderen Kernelversion.
Danach sind die Module für beide Kernel gebaut. Sind noch weitere Kernel vorhanden, einfach Schritt 2 für alle weiteren Kernel wiederholen.
Möchte man den Treiber wieder entfernen geht man zunächst genauso vor, wie bei der Installation. Beim Aufruf des Installers hängt man dann aber --uninstall an den Befehl
sudo sh NVIDIA-Linux-x86-1.0-9755-pkg1.run --uninstall
Die Module dri und GLCore sollten deaktiviert sein. Dazu bearbeitet man wieder die Datei /etc/X11/xorg.conf mit Root-Rechten [2] und entfernt die Einträge oder kommentiert sie, wie im folgendenden Beispiel, aus.
Section "Module" # Load "dri" # Load "GLCore" EndSection
Möglicherweise hilft der folgende Eintrag in der /etc/X11/xorg.conf (Section Device für die Grafikkarte; Bearbeitung in einem Editor mit Root-Rechten [2]):
Option "NvAGP" "1"
Dies sollte bewirken, dass das Nvidia-eigene Modul für den AGP-Zugriff genutzt wird.
Die folgende experimentelle Option an gleicher Stelle wurde für den Fall empfohlen, dass die graphische Oberfläche im 2D-Modus eher träge ist. Sie kann gerade bei älteren Karten zu Instabilität führen.
Option "RenderAccel" "true"
Wenn nach dem Hochfahren die Meldung kommt, dass die grafische Oberfläche nicht gestartet werden konnte, sollte man sicher gehen, dass man wie oben beschrieben die Nvidia-Kernelmodule von Ubuntu gesperrt hat und ein Kernelmodul für den aktuellen Kernel kompiliert wurde.
Wenn sich das neu kompilierte Modul nach dem Neustart nicht mehr per "modprobe" laden lässt und mit der Fehlermeldung "FATAL: Error running install command for nvidia" abbricht kann das Editieren von /etc/modprobe.d/lrm-video helfen. Dazu mit einem Editor mit Root-Rechten [2] die Einträge, die mit nvidia zusammenhängen, auskommentieren:
# Make nvidia/nvidia_legacy and fglrx use /sbin/lrm-video to load #install fglrx /sbin/lrm-video fglrx $CMDLINE_OPTS #install nvidia /sbin/lrm-video nvidia $CMDLINE_OPTS #install nvidia_legacy /sbin/lrm-video nvidia_legacy $CMDLINE_OPTS #install nvidia_new /sbin/lrm-video nvidia_new $CMDLINE_OPTS
Um das zu beheben einfach Folgendes ins Terminal eingeben:
sudo nvidia-xconfig --composite --render-accel --add-argb-glx-visuals
Wenn am Ende des Kompiliervorgangs der Installer mit einer Fehlermeldung abbricht (nvnews.net
), dass das Kernelmodul nvidia.ko nicht geladen werden konnte, weil möglicherweise rivafb, nvidiafb oder rivatv die Karte belegen, kann es helfen, den Nouveau-Treiber zu deaktivieren.
Erzeugt der Befehl
lsmod | grep nouveau
eine Ausgabe im Terminal, kann man das automatische Laden des Treibers verhindern, indem man ihn in die Datei /etc/modprobe.d/blacklist.conf einträgt (Kernelmodule).
echo "blacklist nouveau" | sudo tee -a /etc/modprobe.d/blacklist.conf
Danach muss der Rechner neu gestartet und der Installationsvorgang erneut angestoßen werden.
Diese Revision wurde am 14. September 2011 22:09 von Heinrich Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen:
Hardware, unfreie Software
2004 – 2012 ubuntuusers.de • Einige Rechte vorbehalten