PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ärgerniss: nVidia-Grafiktreiber unter Linux installieren/updaten


Andreas Petzhold
09.04.2006, 15:22
Hallo!

Da ich mich jedes mal wieder über die Geschichte ärgere, hier mal ein kleiner Erfahrungsbericht. In der Hoffnung, das ich mich beim nächsten Mal an ein paar Dinge erinnere und jemand anderem auch ein paar graue Haare erspare.

Linux bzw. der X-Server bringt von Haus aus nur einen "Dummy-Treiber" für nVidia-Grafikkarten mit. Dieser bringt zwar ein Bild auf dem Monitor, aber macht keine 3D-Beschleunigung. Auch funktionieren Dinge wie z.B. die Lüftersteuerung der Grafikkarte nicht und die Lüfter heulen ständig auf höchstem Level.

nVidia stellt unter http://www.nvidia.com/object/unix.html Treiber für Linux, FreeBSD und Solaris zur Verfügung. Die Treiber sind properitär, d.h. sie sind vorkompiliert und der Quelltext steht nicht zur Verfügung.
Das ist auch der Grund, weshalb fast alle Linux-Distributionen den Treiber nicht von Haus aus mitbringen. Linux als Open Source und die Closed Source Treiber passen nicht wirklich zusammen.

Die Treiber funktionieren mit allen Distributionen, die Installation ist jedoch nicht immer so einfach wie in der Readme beschrieben.

Die nachfolgende "Anleitung" bezieht sich auf das von mir genutzte SuSE Linux in Version 10.0 in der 64bittigen Version (x86_64) für AMD64/EM64T Prozessoren.

SuSE bietet über das "YaST Online Update" (YOU) ein Script "fetchnvidia.sh" ("Download nVidia-Grafiktreiber") an, das automatisch den Treiber von nVidia downloaded und installiert.

YOU ermöglicht auf diesem Wege auch den Treiber zu aktualisieren, wie das geht ist unter http://www.suse.de/~sndirsch/nvidia-installer-HOWTO.html beschrieben.

Ich hatte nun mit folgenden Problemen zu kämpfen: Das fetchnvidia.sh-Script hat nur die veraltete Treiber-Version 7676 im Angebot, das Update hat also gar nicht funktionieren können, da ich diese Treiber bereits installiert hatte.
Das manuelle Update über den Installer von nVidia scheiterte auch, da keine "precompiled kernel sources" auf meinem System installiert waren.

Lösung: Via YaST die Pakete "kernel sources" sowie "gcc" installieren.

Dann muss man via "init 3" in das Runlevel 3 wechseln und den Installer erneut aufrufen. Mir wurde das dann jedoch mit einer Meldung, das der X-Server laufen würde, quittiert. Für mich unbegreiflich, da der X-Server im Runlevel 3 gar nicht läuft und auch in der Prozessliste (Kann man via "top" einsehen) nicht aufgetaucht ist.

Ich habe mir dann von einem YOU-Update-Mirror das fetchnvidia.sh-Script runtergeladen und die Versionsnummer des Treibers im Script angepasst. Dann noch "kurz" auf (m)einem Webserver die Verzeichnisstruktur des Mirrors nachgestellt und in YOU als neuen Mirror eingebunden. YOU meinte dann jedoch, das die Signatur des Scripts fehlerhaft sei. Klar, hab ja auch das Script geändert...
Mit rausgenommener Signatur wollte er immer noch nicht, und da ich mich nicht mit GnuPG beschäftigen wollte also brav wieder in den Runlevel 3 und hab das Script von Hand per SSH ausgeführt. Aber auch hier lief angeblich wieder ein X-Server... :motz:

Irgendwann hab ich dann mal ziemlich frustiert im KDE das Script gestartet, also mit garantiert laufendem X-Server. Lustigerweise ging es dann auf einmal, bis auf einen "fatal error" dass das Modul "agpgart" nicht vorhanden wäre. :beati:
Trotz des "fatal error" lief das Script durch und meldete am Schluß artig, das der Treiber installiert worden und die xorg.conf geupdated worden ist. Nach einem Neustart des X-Servers (Strg+Alt+Backspace) war der neue Treiber dann auch im Betrieb und die Lüfterdrehzahl ging augenblicklich zurück.

Ich habe dem Braten aber noch nicht so ganz getraut, kann ja auch sein das der alte Treiber wieder geladen wurde. Also das System komplett neu gestartet und in /proc/nvidia/version die Treiberversion ausgelesen.

Ich freue mich jedenfalls schon auf SuSE 10.1, laut http://www.suse.de/~sndirsch/nvidia-installer-HOWTO.html#2 wirds da kein fetchnvidia.sh mehr geben :(

Falls jemand von Euch schon Erfahrungen sammeln konnte mit den nVidia-Treibern unter anderen Distributionen oder aber mit anderen Grafiktreibern (z.B. die von ATI, die wollen auf meinem Notebook ums verrecken nicht laufen bzw. nur mit Bildstörungen) darf hier gerne sein Erlebtes schildern.

Andreas Petzhold
09.04.2006, 17:57
(z.B. die von ATI, die wollen auf meinem Notebook ums verrecken nicht laufen bzw. nur mit Bildstörungen)Das muss ich schon revidieren :)

Angeregt vom Erfolg mit den nVidia-Treibern habe ich gerade auf meinem Notebook die aktuellen ATI-Treiber installiert.

ATI hat da echt gewaltig aufgeholt, eine Wohltat!
Einfach den Installer runterladen und per Shell ausführen. Dann kommt ein Klickibunti-Installer, ein paar mal auf "Weiter" klicken, einmal rebooten und fertig. Perfekt! :)

Thomas Roessing
09.04.2006, 22:11
ATI hat da echt gewaltig aufgeholt, eine Wohltat!


Moin,
schönen Dank für Deine ausführlichen Berichte. Beim ersten Teil dachte ich mir schon, ich müßte auch beim nächsten Computer auf eine stärkere Graphikkarte verzichten. Aber der zweite Teil macht ja Hoffnung, daß es auch ohne ewigen Streß geht :schumi: .

Viele Grüße

Thomas

Andreas Petzhold
11.04.2006, 20:39
Leider doch noch eine schlechte Nachricht in Sachen ATI:

Mein Laptop lässt sich seit der Installation des ATI-Treibers nicht mehr updaten. YaST lädt brav die Updates runter und bringt dann nach einiger Zeit des rumrödelns eine kryptische Fehlermeldung, das ein RPM-Subprozess oder so kaputt wäre :(
Das ganze passiert mit allen Updates, egal ob zusammen oder einzeln ausgewählt. Auch ein Neustart hilft nix.

Ich hoffe mal, das sich das von selbst repariert... Falls nicht wird das Linux neu installiert :-/

Andreas Petzhold
11.04.2006, 21:11
Von selbst hat es sich zwar nicht repariert, ein "rpm --rebuilddb" als Root hat jedoch geholfen :)

Hier hatte jemand ein ähnliches Problem: http://lists.suse.com/archive/suse-linux/2005-Apr/1782.html

PS: Für Google: Die Fehlermeldung lautete: "ERROR(InstTarget:E_RpmDB_subprocess_failed) [...] fatal region error [...]" und danach jede Menge Kauderwelsch.