Archiv verlassen und diese Seite im Standarddesign anzeigen : Nvidia Grafikkarten
stefan.becker
24.06.03, 20:32
Inhalt:
1) Einleitung (http://www.linuxforen.de/forums/showpost.php?p=488231&postcount=2)
2) Treiberdownload (http://www.linuxforen.de/forums/showpost.php?p=488238&postcount=3)
3) Vorbereitungen (http://www.linuxforen.de/forums/showpost.php?p=488323&postcount=4)
4) Installation des Treibers (http://www.linuxforen.de/forums/showpost.php?p=488384&postcount=5)
5) Änderungen in der X-Konfiguration (http://www.linuxforen.de/forums/showpost.php?p=488407&postcount=6)
6) erster Start, grafische Konfiguration/Feintuning (http://www.linuxforen.de/forums/showpost.php?p=488423&postcount=7)
7) Tuning (http://www.linuxforen.de/forums/showpost.php?p=488428&postcount=8)
8) Probleme&Lösungen (http://www.linuxforen.de/forums/showpost.php?p=488432&postcount=9)
9) Links / Literatur (http://www.linuxforen.de/forums/showpost.php?p=488434&postcount=10)
Änderungen:
24.06.03: Erstellung
25.06.03: Anmerkungen von zander aus anderem Thread eingearbeitet
26.06.03: wichtige Installeroptionen aufgelistet
08.07.03: Neues Kapitel "Links zu aktuellen Threads"
30.08.03: Kapitel 4 / manuelle Installation ergänzt
17.10.03: Neues Kapitel "Tips zu Debian" von Susu
23.02.04: Links kontrolliert und aktualisiert
31.10.03: Inhaltsverzeichnis mit Links
07.08.05: Links aktualisiert
17.12.05: Aktualisierungen für Treiber Version 8174, nvidia-xconfig, nvidia-settings
31.12.05: Logfile, Kernelversion bestimmen, Kernel konfigurieren
30.04.06: Aktualisiert
12.11.06: Legacy Treiber, Links kontrolliert
12.06.07: Treiberauswahl, Installation und Konfiguration aktualisiert
22.02.08: Links kontrolliert / 10) Xen Kernel Howto
04.04.09: Links&Inhalt aktualisiert
stefan.becker
24.06.03, 20:32
Warum der Nvidia Treiber?
Moderne Distributionen unterstützen bereits serienmäßig Grafikkarten mit Nvidia-Chipsatz. Diese Treiber sind jedoch nur für 2D tauglich. Wer auf OpenGL und 3D-Beschleunigung angewiesen ist, kommt nicht um die Installation des Nvidia Treibers herum.
Aber keine Angst, das ganze ist einfacher als viele denken.
Closed vs. Open Source
Der Nvidia Treiber ist kostenlos, aber nicht frei (Closed Source). Aber bei aller Meckerei sollte man nicht vergessen, das das Linux Engagement von Nvidia vorbildlich ist. Der Treiber wird regelmäßig aktualisiert, so dass auch neuere Karten innerhalb kurzer Zeit nach dem Erscheinen unterstützt werden.
Architektur des Linux Treibers (Beschreibung von zander, aktualisiert)
Der NVIDIA Treiber setzt sich zusammen aus einem XFree86 Treibermodul (nvidia_drv.o), einem Xorg-Erweiterungsmodul (libglx.so.*), einer OpenGL Implementation (libGL.*, libGLcore.*) und einem Kernelmodul (nvidia.o). Das Kernelmodul erfüllt notwendige Aufgaben im Bereich des Resourcenmanagement (und ist eingeschränkt mit der DRM Funktionalität der DRI Architektur vergleichbar).
Beim Kernelmodul sind zwar Quellen dabei, sie dienen jedoch nur zur Einbettung in den installierten Kernel. Die eigentliche Funktionalität ist in vorkompilierten Modulen enthalten.
Wird meine Karte unterstützt?
Bevor man die Installation versucht, sollte man sich vergewissern, dass der ausgesuchte Treiber den Chipsatz der eigenen Karte unterstützt. Für ältere Chipsätze gibt es die so genannten "Legacy"-Treiber.
Unter der jeweiligen Treiber-Downloadseite findet sich immer ein Link zu einem PDF-Handbuch. Alternativ wird ein HTML Readme angeboten. Im Anhang ist dort eine Tabelle mit den unterstützten Chipsätzen enthalten. Siehe hierzu auch nächstes Kapitel mit Download der aktuellen Version.
Fertige Pakete oder selbst installieren?
Am einfachsten ist sicherlich die Installation fertiger Pakete. Sollte beim Systemupdate der Kernel aktualisiert werden, wird auch der passende Nvidia Treiber aktualisiert. Bei Selbstinstallation muss man hingegen nach jedem Kernelupdate den Treiber neu installieren. Eine Installation über den Paketmanager der Distribution hat auch den Vorteil, dass zusätzlich vom Nvidia Treiber benötigte Software automatisch mit installiert werden.
Mischinstallation Pakete/Treiber manuell
Das geht überhaupt nicht!
Bevor man den Treiber manuell installiert, müssen per Paketmanager alle Nvidia Pakete gelöscht werden.
Bei Installation von Paketen vorher unbedingt den Treiber über den Installer (siehe Kapitel 4, Optionen des Installers) deinstallieren.
Hinweise zur Installation von Paketen
Im Normalfall wird durch die Installation alles notwendige veranlasst:
- Paketabhängigkeiten installieren
- Treiberpaket installieren
- Kernelmodul installieren
- Konfiguration des X-Servers
Kapitel 2-4 kann man auf jeden Fall überspringen. Kapitel 5 ist nur wichtig, wenn der X-Server nicht eingerichtet wurde, also der Nvidia Treiber nach einem Neustart nicht aktiviert ist.
Wie bereits erwähnt, gibt es immer einen aktuellen und mehrere Legacy Treiber für ältere Modelle. Daher zunächst nachsehen, welche Pakete installiert werden müssen:
http://www.nvidia.com/object/IO_18897.html
Pakete für:
OpenSuse
http://www.suse.de/~sndirsch/nvidia-installer-HOWTO.html
http://de.opensuse.org/Propriet%C3%A4re_NVIDIA-Grafiktreiber
Fedora
http://rpmfusion.org/Package/xorg-x11-drv-nvidia
http://rpmfusion.org/
Ubuntu
http://wiki.ubuntu-forum.de/index.php/Nvidia_installieren
Debian
http://wiki.debian.org/NvidiaGraphicsDrivers
stefan.becker
24.06.03, 20:37
Bevor man die Karte einbaut (falls noch nicht geschehen), sollte man sich zuerst die passende Version des Treibers ziehen.
Der Download erfolgt über:
http://www.nvidia.com/object/unix.html
Hier werden Treiber verschiedene Architekturen für Linux angeboten. Die Auswahl ist abhängig vom Prozessor und der Distribution des eigenen PCs:
- Linux IA32: Intel Pentium und Celeron, AMD Athlon/Sempron/ und Duron (32 Bit Architektur)
- Linux AMD64/EMT64: AMD Athlon/Sempron 64, Intel Core Duo 64 Bit (64 Bit Architektur)
- Linux IA64: Intel Itanium (64 Bit Architektur)
Bei einem 64 Bit AMD mit 32 Bit Distribution muss der "IA32" Treiber gewählt werden, bei einer 64 Bit Distribution der "AMD64".
Weiterhin gibt es eine Unterscheidung abhängig vom Chipsatz (Generation) der Grafikkarte:
Latest Version: Treiberfamilie für neuere Nvidia Chipsätze
Latest Legacy GPU Version: Treiberfamilie für ältere Nvidia Chipsätze
Innerhalb der Legacy-Reihe gibt es auch wieder mehrere Reihen. Hier ist also auf jeden Fall ein Blick in die GPU-Liste zu werfen.
Irgendwann fliegt die Unterstützung für einen bestimmten Chipsatz aus dem jeweils aktuellen Treiber heraus, man muss ab diesem Zeitpunkt auf den Legacytreiber umschwenken. Der Legacytreiber wird funktional nicht mehr weiterentwickelt. Neuere Versionen gibt es z. B. bei Inkompatibilitäten mit neueren Kernel Versionen oder anderen Systemkomponenten.
Tabelle Treiber/Chipsätze: http://www.nvidia.com/object/IO_18897.html
stefan.becker
24.06.03, 21:44
BIOS Einstellungen
Falls das Bios eine Option wie Assign IRQ to VGA anbietet, sollte man diese auf jeden Fall aktivieren.
Software Voraussetzungen
Damit der Treiber installiert werden kann, müssen mindestens die folgenden Pakete installiert sein:
- Kernelsource (Name abhängig von Distribution, z. B. "kernel-source", "kernel-devel", kernel-headers")
- Compiler "gcc"
- binutils
- make
- module-init-tools
stefan.becker
24.06.03, 22:30
Installation im Textmodus
Die Installation muss auf jeden Fall im Textmodus erfolgen.
Ist man in der grafischen Oberfläche, kann man per [Strg]-[Alt]-[F1] in den Textmodus wechseln. Dort als root anmelden und per "init 3" den noch laufenden X-Server beenden.
Will man Suse im Textmodus neu starten, kann man beim Bootprompt auch einfach "3" eingeben.
Installation starten
In der Kommandozeile als root wird der Installer mit
sh NVIDIA*run
gestartet. Der restliche Ablauf ist dialoggesteuert.
Werden fehlende Rechte gemeldet, fehlt u. U. das Ausführungsattribut des Installers:
chmod +x NVIDIA*run
Standardvorgehensweise: Fragen des Installers und Antworten
Anzeige der Lizenzbedingungen: Lesen, Accept
Vorheriger Treiber wird festgestellt, der Installer bietet die Deinstallation an: Yes
Kernelmodul von Nvidia laden: Kann man versuchen, Yes
Klappt der Download nicht, übersetzt der Installer selbst ein passendes Modul: OK
Nur bei 64 Bit Installer: Installation von 32 Bit Open GL Libs: Sollten installiert werden, wichtig für WINE/Cedega/Google Earth: YES
Anpassen der X-Konfiguration:
Falls zum 1. Mal ein Nvidia Treiber installiert wird: YES
Falls Treiber aktualisiert wurde: NO
Suse-Linux: NO
Wenn dieser Ablauf fehlerfrei durchlief, kann man den Rest dieses Kapitels überspringen.
Eigener Kernel oder keine Standarddistribution, Kernelquellen installieren
Hier sollte man die Frage nach dem Download eines zum Kernel passenden Moduls verneinen und dann das erforderliche Modul selbst übersetzen.
In diesem Fall übersetzt der Installer automatisch das Kernelmodul gegen die Quellen des aktuell laufenden Kernels. Bei RedHat/Fedora ist z. B ein Paket "kernel-source" installiert. Außerdem muss natürlich ein C Compiler wie "gcc" installiert sein.
Folgende Schritte sind nur notwendig, wenn der Installer nicht läuft:
Falls die Quellen installiert sind, aber noch nie konfiguriert wurden muss man eventuell im Kernel-Hauptverzeichnis (Z. B. /usr/src/linux-2.6.12) zuvor folgendes eingeben:
Suse Linux, Kernel 2.6
make cloneconfig
make modules_prepare
Kernel 2.6, andere Distributionen
Viele Distributionen haben eine Konfigurationsdatei zum laufenden Kernel im "/boot"-Verzeichnis abgelegt.
- Eine Konfigurationsdatei ins Kernel-Source-Verzeichnis kopieren, z. B.:
cp /boot/config-2.6.12 /usr/src/linux-2.6.12/.config
cd /usr/src/linux-2.6.12
make menuconfig
- Bei "make menuconfig" direkt "Exit" wählen, Konfiguration speichern.
- Zuletzt die Module konfigurieren:
make modules_prepare
Einige Distributionen hinterlegen die Kernelkonfiguration im /proc-Verzeichnis:
zcat /proc/config.gz /usr/src/linux-2.6.12/.config
Kernel 2.4.x
Hier wird ein Paket "kernel-headers" benötigt. Der Name ist abhängig von der Distribution. Die Version des Paktes muss zur Version des laufenden Kernels passen.
Zitat von Zander aus einem anderen Thread:
http://www.linuxforen.de/forums/showpost.php?p=1285160&postcount=36
GCC-Version
Eventuell kommt eine Fehlermeldung, dass der Kernel mit einer anderen gcc-Version übersetzt wurde als die installierte gcc-Version. In diesem Fall zuvor folgendes in der Konsole eingeben, anschließend den Installer neu starten:
export IGNORE_CC_MISMATCH=yes
Kernelversion bestimmen
Wie bereits gesagt, müssen Version des laufenden Kernels sowie die Kernelsourcen zueinander passen.
Der folgende Befehl bestimmt die Version des laufenden Kernels:
uname -r
Bsp: Der Befehl gibt aus:
2.6.14.3
Daher muss also das passende Verzeichnis vorhanden sein:
/usr/src/linux2.6.14.3
Im Beispiel müsste dann z. B. ein Paket "kernel-source-2.6.14.3" installiert werden.
Die Bezeichnungen sind distributionsabhängig, das Schema sollte aber grundsätzlich passen.
Wechsel des Kernels
Das Kernelmodul für AGP basiert immer auf dem aktuell laufenden Kernel. Daraus folgt natürlich, das bei Wechsel des Kernels auch der Treiber neu installiert werden muss.
Hierzu gibt es zwei Möglichkeiten:
1) Vor Neustart mit neuem Kernel den Treiber neu installieren (Text von zander)
Es ist empfehlenswert, das NVIDIA Kernelmodul vor dem Wechsel zu einem neuen Kernel für den neuen Kernel zu übersetzen und zu installieren (z.B. sh NVIDIA-Linux-x86-1.0-4xxxx.run -f -k x.y.z (siehe sh NVIDIA-Linux-x86-1.0-4xxxx.run -A, alternativ über --kernel-include-path, --kernel-install-path oder manuell).
2) Erst mit neuem Kernel neustarten
In diesem Fall sollte zuvor das grafische Login abgeschaltet werden (init Modus 3), sonst gibt es Probleme beim Hochfahren. Dann kann der Neustart erfolgen, nach Hochfahren der Treiber neu installiert werden und zuletzt der Initmodus wieder auf 5 zurückgeschaltet werden. Zuvor kann man über "startx" mal versuchen, ob alles funktioniert.
Optionen des Installers
Der Installer hat einige Optionen, hier eine kleine Auswahl. Einige sind ja bereits beim Compilieren passend zum Kernel angegeben. Eine volle Übersicht der Optionen erhält man durch
sh NVIDIA-Linux*.run -A --help
(Vor Installation über den Installer abfragen)
bzw.
man nvidia-installer
(Treiber bereits installiert)
"-A": zeigt alle Optionen an mit ausführlicher Beschreibung
"-a": Anzeige der Lizenz wird unterbinden (Bestimmungen sind damit automatisch anerkannt)
"--update": Installer verbindet sich mit FTP-Server und sucht nach neuer Version (inkl. Download, falls vorhanden)
"-i": Zeigt Version des aktuell installierten Treibers an
"--uninstall": deinstalliert den aktuell installierten Nvidia Treiber
"--x-prefix=[X-PREFIX]": Angabe eines Pfades, wo Xorg liegt (nur bei Abweichungen vom Standard anzugeben, normalerweise nie nötig)
"--ui=none": Im Normalfall arbeitet der Installer mit einer ncurses-Oberfläche. Falls die Anzeige nicht funktioniert, kann man es mal so ausprobieren. Ausgabe und Eingabe erfolgen dann immer Zeile für Zeile.
"--kernel-module-only": Installiert nur das Kernelmodul
"--kernel-include-path=...", "--kernel-source-path=": Angaben zum Pfad der Kernelsourcen.
Manuelle Installation
Sollte die Installation per Installer, warum auch immer, nicht funktionieren, kann man das ganze auch manuell durchführen:
- X beenden
- Login als Root
- Entpacken mit "sh ./NVIDIA*run --extract-only"
- Verzeichnis wechseln ("cd NVIDIA*/usr/src/nv")
- "make install" übersetzt und installiert das Kernelmodul
- Zurück ins NVIDIA Basisverzeichnis
- "make install" installiert den NVidia Treiber
Fehlersuche / Logdatei
Falls der Treiber nicht korrekt installiert werden kann, ist die während der Installation angelegte Logdatei die erste Suchquelle:
/var/log/nvidia-installer.log
stefan.becker
24.06.03, 22:49
Nach Installation des Treibers müssen in der X-Konfiguration noch einige Änderungen vorgenommen werden.
Am Ende der Installation fragt der Installer, ob er das automatisch ausführen soll. Wer das wählt, kann dieses Kapitel überspringen.
Suse-Linux
Durch Aufruf von sax2 per
sax2 -r -m 0=nvidia
werden alle notwendigen Änderungen in der X-Konfiguration vorgenommen und der Treiber aktiviert.
Der Rest des Kapitels kann übersprungen werden.
Andere Distributionen
Die X-Konfiguration befindet sich in der Datei "/etc/X11/xorg.conf".
Bei älteren Distributionen ist es u. U. die Datei "/etc/X11/XF86Config-4". Der Pfad kann abweichen, bei anderen Distributionen ist es z. B. "/etc/XF86Config".
Einige Änderungen müssen vorgenommen werden. Die hier angegebenen Zeilen sind beispielhaft. Sie stammen aus meiner Konfiguration und können bei anderen Installationen in Details abweichen.
nvidia-xconfig
Ab Treiberversion 1.0-8174 gibt es das Tool "nvidia-xconfig", das die Änderungen automatisch vornimmt. Das Tool muss als root gestartet werden:
# nvidia-xconfig
Im Normalfall reicht es, das Programm ohne Parameter "-c" und "-o" zu starten. Es sucht sich dann automatisch die passende Datei aus und führt die notwendigen Änderungen durch.
Der Parameter "-c" gibt die Eingabedatei an, "-o" die Ausgabedatei. Wird nur "-c" angegeben, wird auch diese Datei als Ausgabedatei verwendet.
Alle Optionen des Tools werden erklärt durch
man nvidia-xconfig
Das ist auch das Tool, das der Installer am Ende der Installation auf Wunsch startet.
Änderungen manuell vornehmen
xorg Module
Section "Module"
# Load "GLcore"
Load "dbe"
Load "extmod"
Load "fbdevhw"
# Load "dri"
Load "glx"
Load "record"
Load "freetype"
Load "type1"
EndSection
- Die Module "GLcore" und "dri" dürfen nicht geladen werden => Kommentarzeichen "#" vorsetzen oder Zeilen löschen.
- Das Modul "glx" muss geladen werden => Zeile "Load "glx"" hinzufügen.
- Die Liste der Module ist abhängig von der Distribution. Es brauchen außer oben genannten Modulen keine weiteren hier gelisteten hinzugefügt werden.
xorg-Treiber
Section "Device"
# no known options
Identifier "Gforce4MX"
Driver "nvidia"
VendorName "Gforce4MX"
BoardName "Gforce4MX"
EndSection
Ursprünglich stand hier "nv" für den Standardtreiber von XFree/Xorg. Einfach durch "nvidia" ersetzen.
stefan.becker
24.06.03, 23:11
Erster Start
Nach der Treiberinstallation (4) und Anpassung der Konfiguration (5) sollte ein Neustart erfolgen.
Der Treiber sollte jetzt funktionieren.
Mit Hilfe des Befehls
glxinfo | grep NVIDIA
lässt sich überprüfen, ob wirklich der Nvidia Treiber verwendet wird.
Mit Hilfe des Befehls
glxgears
lässt sich die Performance messen (Frames pro Sekunde).
Bei Suse gehört das Programm z. B. zum Paket "freeglut".
grafische Konfiguration/Feintuning
Durch Eingabe von
nvidia-settings
lässt sich ein Tools für das Feintuning starten.
Hier kann man keine allgemeinen Tipps geben, einfach mal mit den Einstellungen spielen.
Alle Optionen des Tools werden erklärt durch
man nvidia-settings
stefan.becker
24.06.03, 23:20
Logo ausblenden
Beim Start ohne Logo fährt der Treiber etwas schneller hoch. Hierzu die Option einschalten:
--------------------------
Option "NoLogo" "on"
--------------------------
(Driver Optionen bei Section "Devices" ).
Bei dieser Option scheiden sich die Geister. In einigen Threads wurde vom schnelleren Start berichtet, nach Anmerkung von zander bringt es nichts. Auf die Performance zur Laufzeit hat es keinen Einfluss.
Im PDF Handbuch finden sich noch viele weitere Einstellungen zum Experimentieren.
stefan.becker
24.06.03, 23:29
Nach Systemupdate stürzen OpenGL Anwendungen ab
Nvidia Treiber geht nicht nach Systemupdate
Ursachen hierfür sind:
- Kernel wurde aktualisiert => Kernelmodul muss neu übersetzt werden
- "Mesa-3d" (Softwareemulation OpenGL) wurde aktualisiert => libglx wurde überschrieben.
In beiden Fällen hilft es, den Treiber neu zu installieren, danach sollte alles wie gewohnt gehen.
Bei Installation über das Paketmanagement gibt es solche Probleme meistens nicht.
Nvidia + Compiz
Der Nvidia-Treiber bietet eigene Composite-Erweiterungen, so dass Compiz ohne AIGLX und Xgl genutzt werden kann. Nach Installation von Compiz reicht es in der Regel, folgende Befehle als root einzugeben, um die notwendigen Einstellungen des X-Servers durchzuführen:
nvidia-xconfig --composite
nvidia-xconfig --allow-glx-with-composite
nvidia-xconfig --render-accel
nvidia-xconfig --add-argb-glx-visuals -d 24
nvidia-xconfig --damage-events
Siehe auch: http://www.linuxforen.de/forums/showpost.php?p=1474663&postcount=18
Nvidia Treiber & Xen Kernel
http://www.linuxforen.de/forums/showpost.php?p=1638752&postcount=4
http://en.opensuse.org/Use_Nvidia_driver_with_Xen
Xen+Nvidia+Compiz funktioniert aktuell nicht.
Aktuelle Patches
Im Userforum (http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14) ist jeweils zur neuesten Treiber Version ein Thread, in dem Patches veröffentlicht werden, wenn kurzfristig Fehler bekannt sind/werden.
XServer braucht einige Minuten zum Hochfahren
Probeweise mal in der Datei /etc/X11/xorg.conf folgendes einfügen:
Section "Monitor"
.........
Option "IgnoreDisplayDevices" "DFP, TV"
.........
EndSection
Bei den Optionen werden die Devices angegeben, die man nicht!! hat. Der Nvidia Treiber sucht dann nicht nach entsprechenden Bildschirmen, was den Start beschleunigt. "CRT" ist für den normalen Monitor, "DFP" steht für Flachbildschirm, "TV" für Fernseher am TV-Out.
Infos zu Treiber&Hardware
Treiber Version: cat /proc/driver/nvidia/version
Karten Daten: cat /proc/driver/nvidia/cards/0
Status: cat /proc/driver/nvidia/nvidia/registry
stefan.becker
24.06.03, 23:33
Hilfeforum
Auf der Nvidia Homepage gibt es ein Anwenderforum zum Linuxtreiber:
http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14
Online Handbuch
SuSE: http://www.suse.de/~sndirsch/nvidia-installer-HOWTO.html
Allgemein:
- http://www.nvidia.com/object/unix.html
- Neueste Treiber Version wählen, dort Text Readme
TVOUT aktivieren
http://sourceforge.net/projects/nv-tv-out/
http://www.linuxforen.de/forums/showthread.php?s=&threadid=41568
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.