ubuntuusers.deWikiGrafikkartenNvidianvidia

nvidia

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

./nvidia_logo.jpg

Diese Anleitung behandelt die Installation und Konfiguration des proprietären "nvidia"-Treibers. Dieser Treiber bietet im Gegensatz zu dem freien "nv"-Treiber eine ausgereifte 2D-Beschleunigung, unterstützt OpenGL sowie die Hardware-Beschleunigung von HD-Videos über VDPAU. Die RandR-Erweiterung wird nur in Version 1.1 unterstützt, der Treiber bietet aber ein eigenes umfangreiches Konfigurationstool. Nvidia hat den Treiber in mehrere Versionen aufgeteilt, welche jeweils unterschiedliche Kartengenerationen unterstützen. Eine vollständige Auflistung aller unterstützten Karten ist hier {en} zu finden.

Treiberinstallation

Verwaltung eingeschränkter Treiber

./jockey-gtk.png

Über die Verwaltung eingeschränkter Treiber kann der proprietäre Treiber einfach installiert und aktiviert werden. Nach dem Start dieser Funktion über "System -> Systemverwaltung -> Hardware-Treiber" wird der empfohlene Treiber hervor gehoben und kann per Mausklick aktiviert werden. Es wird gewarnt, dass die Verwendung von binären Treibern nicht risikofrei ist. Nach dem Bestätigen dieser Warnung wird der Treiber automatisch installiert und konfiguriert. Anschließend muss das System neu gestartet werden.

Hinweis:

Unter Natty Narwhal (11.04) gibt jockey-gtk die irreführende Meldung aus, der Treiber sei "aktiviert, aber nicht in Benutzung". Wenn Nvidia-Settings ohne Fehlermeldung startet, läuft der proprietäre Treiber fehlerfrei. 771788 wurde berichtet und ist in Bearbeitung.

Über die Paketverwaltung

Alternativ kann der Treiber über die Paketverwaltung installiert [1] werden. Dabei ist die für die jeweilige Karte passende Treiberversion zu wählen und das entsprechende Paket zu installieren:

Ab Maverick Meerkat (10.10)

  • nvidia-current: ab GeForce 6

  • nvidia-173: GeForce FX

  • nvidia-96: (Version 96.43.19) GeForce2 MX bis GeForce 4 - Diese Version mit Unterstützung für XServer 1.9 wurde erst nach dem Erscheinungstermin von Ubuntu 10.10 fertiggestellt.

Ab Lucid Lynx (10.04)

  • nvidia-current (Version 195.36.15): ab GeForce 6

  • nvidia-173: GeForce FX

  • nvidia-96: GeForce2 MX bis GeForce 4

Aktivierung der Treiber

Zur Aktivierung des Treibers muss dieser in der Konfigurationsdatei des Xservers /etc/X11/xorg.conf eingetragen werden. Dazu wird die Konfigurationsdatei mit einem Editor [3] mit Root-Rechten [8] bearbeitet (wenn nicht vorhanden, neu anlegen). Der Abschnitt "Device" ist um den Eintrag Driver "nvidia" zu ergänzen:

Section "Device"
	Identifier	"Configured Video Device"
	Driver		"nvidia"
EndSection

Nach einem Neustart sollte der Treiber aktiv sein.

Installation aus PPA

Wird die Grafikkarte von dem Treiber in den Paketquellen nicht unterstützt oder kommt es zu bekannten Fehlern, kann ggf. die Installation einer neueren Treiberversion aus einem PPA helfen.

Ab Lucid Lynx (10.04)

Ab Ubuntu Lucid Lynx 10.04 können aktualisierte Treiber aus folgender Paketquelle bezogen werden.

  • ppa:ubuntu-x-swat/x-updates

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Weitere Informationen bietet die Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung vom Benutzer/Team ubuntu-x-swat.

Eine Anleitung für Optimus findet sich im Artikel Nvidia Optimus

Nvidia-Treiber-Installer

Außerdem ist es möglich, neuere Treiberversionen von Hand zu installieren. Dies sollte jedoch nur durchgeführt werden, falls die benötigte Treiberversion anderweitig noch nicht verfügbar ist.

Konfiguration

Die Möglichkeiten zur Konfiguration des Nvidia-Treibers sind ausführlich unter Nvidia-Grafikkarten XServer-Optionen beschrieben.

Problemlösungen

Verwendeten Treiber feststellen

Ob der "nvidia"-Treiber tatsächlich geladen wird, kann durch folgenden Befehl überprüft werden:

cat /var/log/Xorg.0.log | grep nvidia_drv.so 

Dort sollte folgende Zeile vorkommen:

Loading /usr/lib/xorg/modules/drivers//nvidia_drv.so

Wenn diese Zeile in der Datei vorkommt, wird der "nvidia"-Treiber geladen. Oder im Terminal eingeben:

lspci -v | perl -ne '/VGA/../^$/ and /VGA|Kern/ and print' 

Dadurch wird eine Ausgabe (Text) erzeugt, die einen erkennen lässt, welchen Treiber in Benutzung ist.

Die Version des verwendeten Treibers wird einem im Begrüßungsfenster von nvidia-settings mitgeteilt. Alternativ kann man auch diesen Befehl im Terminal eingeben, für den Treiber nvidia-current:

dpkg --status nvidia-current | grep Version 

NVIDIA-AGP aktivieren

Um zu erfahren, ob AGP aktiviert ist und welcher Treiber verwendet wird, im Terminal folgenden Befehl ausführen:

cat /proc/driver/nvidia/agp/status 

Wird als Treiber Nvidia ausgegeben, so wird der Treiber bereits verwendet.

Um den AGP-Treiber von Nvidia zu aktivieren, muss zunächst der aktuelle AGP-Treiber abgeschaltet werden (Hinweise zu Maverick siehe unten).

Eine mögliche Ausgabe von

lsmod | grep agp 

wäre

intel_agp              33724  1 
agpgart                42184  2 nvidia,intel_agp

In diesem Falle müssten die Module agpgart, nvidia und intel_agp auf die Blacklist gesetzt werden. Ein einfaches Neustarten reicht dabei in aller Regel nicht! Wenn es nach einem Neustart also noch nicht funktioniert, müssen die Module mittels eines

sudo update-initramfs -u 

und anschließendem Neustart entladen werden.

Zur Aktivierung des AGP-Treibers muss dieser in der Konfigurationsdatei des Xservers /etc/X11/xorg.conf eingetragen werden. Dazu wird die Konfigurationsdatei mit einem Editor [3] mit Root-Rechten bearbeitet. Der Abschnitt Section "Device" ist um den Eintrag Option "nvidia" "NvAGP" "1" zu ergänzen:

Section "Device"
	Identifier	"Configured Video Device"
	Driver		"nvidia"
        Option          "NvAGP" "1" 
EndSection

Ab Linux 2.6 muss AGPGART {en} deaktiviert werden.

Vorgehen bei GRUB 2

Um das AGP-Modul des Nvidia-Treibers zu nutzen, muss das Kerneleigene Modul für AGP abgeschalten werden. Dafür wird die Konfigurationsdatei /etc/default/grub/ mit einem Editor [3] mit Root-Rechten bearbeitet. In der Zeile 'GRUB_CMDLINE_LINUX_DEFAULT="agp=off splash quiet"' muss die markierte Option (agp=off) eingesetzt werden. Anschließend noch ein

sudo update-grub 

durchführen, damit die Änderungen übernommen werden.

Vorgehen bei Ubuntu Maverick Meerkat 10.10

lsmod | grep agp 

Mögliche Ausgabe:

intel_agp              33724  1 
agpgart                42184  2 nvidia,intel_agp

In diesem Falle muss das Modul intel_agp auf die Blacklist gesetzt werden, agpgart wird ignoriert.

# blacklist agp module
blacklist intel_agp

Zur Aktivierung des AGP-Treibers muss dieser in der Konfigurationsdatei des Xservers /etc/X11/xorg.conf eingetragen werden. Dazu wird die Konfigurationsdatei mit einem Editor [3] mit Root-Rechten bearbeitet. Der Abschnitt Section "Device" ist um den Eintrag Option "nvidia" "NvAGP" "1" zu ergänzen:

Section "Device"
	Identifier	"Configured Video Device"
	Driver		"nvidia"
        Option          "NvAGP" "1" 
EndSection

Nach einem Neustart kann man mit

cat /proc/driver/nvidia/agp/status 

feststellen, ob der Nvidia-Treiber geladen ist, die Ausgabe sollte in etwa so aussehen:

   Status:          Enabled
   Driver:          NVIDIA
   AGP Rate:        8x
   Fast Writes:     Disabled
   SBA:             Enabled

NVIDIA Fast Writes und SBA aktivieren

Um "Fast Writes" und SBA (Sideband Adressing) zu aktivieren, muss zunächst die Konfigurationsdatei modprobe.conf in /etc in einem Editor[3] mit Root-Rechten erstellt oder bearbeitet werden (Hinweise Maverick siehe unten). In dieser Datei müssen die Optionen

alias char-major-195 nvidia 
options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1

aufgenommen werden.

Nach einem Neustart kann man mit

cat /proc/driver/nvidia/agp/status 

feststellen, ob "Fast Writes" und SBA geladen sind, die Ausgabe sollte in etwa so aussehen:

   Status:          Enabled
   Driver:          NVIDIA
   AGP Rate:        8x
   Fast Writes:     Enabled
   SBA:             Enabled

Vorgehen bei Ubuntu Maverick Meerkat 10.10

(mit nvidia-current)

In /etc/modprobe.d wird eine Datei nvidia-current mit folgendem Inhalt angelegt:

options nvidia-current NVreg_EnableAGPFW=1 NVreg_EnableAGPSBA=1

Der Test erfolgt wie bei den anderen Versionen.

3D-Funktionalität testen

Wie man die 3D-Fähigkeit testet, kann man in Grafikkarten nachlesen.

Einstellungen nach Neustart nicht aktiv

Werden die Einstellungen der NVIDIA X Server Settings nach einem Neustart nicht direkt aktiviert, sondern erst nach einem manuellen Start des Programms, hilft folgender Befehl im Autostart: nvidia-settings -l

Falsche Anzeige der Bildwiederholfrequenz in der GUI

Bei Nvidia-Grafikkarten kann außerdem das Problem auftreten, dass unter GNOME in der GUI keine korrekte Bildwiederholrate angezeigt wird. Hier hilft die Option "DynamicTwinView" "0" ebenfalls in der oben genannten Device-Sektion. Leider verliert man hierdurch auch die Möglichkeit, eine einzelne Ausgabe ("X Screen") beliebig auf mehrere Bildschirme zu verteilen.

Section "Device"
    Identifier     "Nvidia 7600GS"
    Driver         "nvidia"
    ...
    Option         "DynamicTwinView" "0"
EndSection

Alternativ lässt sich bei Verwendung von "DynamicTwinView" die tatsächliche Bildwiederholrate auch direkt über den Treiber ermitteln und ausgeben:

nvidia-settings -q RefreshRate 

Hinweis:

DynamicTwinView bietet die Möglichkeit, eine einzelne Ausgabe ("X Screen") auf mehrere Bildschirme zu verteilen. Die Bildwiederholrate wird unter X meist mithilfe der RandR-Erweiterung des Xservers ermittelt. Gegenwärtig ist RandR noch nicht in der Lage, einzelne "X Screens" zu handhaben, die auf mehrere Bildschirme verteilt sind. Nvidia umgeht diese Einschränkung durch Verwendung eines "MetaModus", die Ermittlung der Bildwiederholrate mittels RandR schlägt daraufhin jedoch fehl.

Keine grafische Oberfläche

  • Sollte es zu Problemen mit dem nvidia-Treiber kommen, kann dieser in der xorg.conf durch Auskommentieren der Driver "nvidia"-Zeile (ein "#" davor setzen) deaktiviert werden.

  • Gegebenenfalls muss in der /etc/default/linux-restricted-modules-common das durch eine vorherige manuelle Installation des Treibers gesperrte Nvidia-Kernelmodul von Ubuntu entsperrt werden. Dazu entfernt man das nv in den DISABLED_MODULES:

DISABLED_MODULES=""
  • In Medion-Computern mit einer GeForce4 440 Go Grafikkarte kann es helfen, den Treiber zu zwingen, das Signal auf den Computerbildschirm zu senden ("DFP" (digital flat panel)), anstatt es fälschlicherweise zuerst mit dem TV-Ausgang zu versuchen. Man fügt (mit Root-Rechten) folgende Option in die Datei /etc/X11/xorg.conf ein:

Section "Device"
    ...
    Option "UseDisplayDevice" "DFP"
EndSection

"low graphics mode" nach Installation eines neuen Kernels

Kann die graphische Oberfläche nach der Installation eines neuen Kernels nur im "low graphics mode" gestartet werden, so sind möglicherweise die Header des Kernels nicht installiert. DKMS kann den Treiber dann nicht für den neuen Kernel erstellen und installieren, siehe DKMS/Kernelquellen nicht installiert.

Rechner startet nur bis zur Mitteilung "low graphics mode"

Durch einen Bug kann es bei einigen Nvidia-Karten in Verbindung mit nvidia-current (195) oder dem nvidia-173 zu Problemen beim Start kommen. Diese können zum Teil nur durch den Wechsel in die Konsole Strg + Alt + F1 und ein entsprechendes Bearbeiten von GRUB 2 behoben werden. Dafür fügt man die Bootoption "nopat" in der Datei /etc/default/grub ein:

sudo nano /etc/default/grub

Die Bootoption einfügen:

GRUB_CMDLINE_LINUX="nopat"

und am Ende noch

sudo update-grub
sudo reboot # startet den Rechner abschließend neu. 

Damit läuft die Grafikkarte nun stabil.

Grafikkarte wird nicht unterstützt

Gelegentlich scheint der nvidia-glx-Treiber nicht zu funktionieren, obwohl die entsprechende Karte in der Liste der unterstützten Produkte aufgeführt wird.

Hier hilft für ältere Grafikkarten die Benutzung des legacy-Treibers (z.B. mit GeForce 3 TI 200, GeForce 4 MX 440 und GeForce4 440 Go, letztere erfordert auch die Beachtung des Absatzes "Keine 3D-Beschleunigung mit legacy-Treiber" weiter unten). Speziell Medion-Karten und Karten, die modifiziert und übertaktet sind, machen ggf. Probleme.

Für neuere Grafikkarten, die noch nicht korrekt vom "new"-Treiber unterstützt werden, ist eine manuelle Treiberinstallation nötig.

Grafikkarten der neuen Geforce_200M-Serie bereiten derzeit noch einige Probleme (Stand 20.03.2010). Für diese Karten wird empfohlen, den "195.36.15"-Treiber aus den angeführten PPA-Quellen zu installieren.

Anschließend ist in der xorg.conf die Zeile

Option	"ModeValidation" "NoTotalSizeCheck"

unter "Device" einzutragen[3]. Danach sollte die Grafikkarte unterstützt werden.

Absturz beim Beenden

Ebenso scheint es einen Bug zu geben, der beim Beenden des Systems den XServer sich aufhängen lässt. Umgehen kann man dies derzeit, indem man der Grafikkarte eine Auflösung des Framebuffers zuweist. Die vga-Kerneloption muss von Hand in die /boot/grub/menu.lst eingetragen werden. Mehr dazu im Wiki unter Booten.

Keine 3D-Beschleunigung mit legacy-Treiber

Für den Fall, dass der Befehl [2]

glxinfo | grep direct 

mehrere Zeilen folgenden Inhalts ausgibt:

Xlib: extension "GLX" missing on display ":0.0" 

Hier kann es helfen, in der /etc/X11/xorg.conf in der Section "Device" folgende Zeile zu ergänzen:

Option "AllowGLXWithComposite" "true"

Bildschirm flackert (wird kurz schwarz)

Dieses Problem scheint insbesondere im Zusammenhang mit Compiz zu bestehen (siehe dieses Posting im nVidia-Forum) {en}.

Eine mögliche Lösung besteht laut dem Posting darin, dem nVidia-Kernelmodul beim Laden zusätzliche Parameter zu übergeben. Dazu muss der Konfigurationsdatei /etc/modprobe.d/nvidia-kernel-nkc folgendes hinzugefügt werden:

options nvidia_new NVreg_Mobile=1 NVreg_RegistryDwords="PerfLevelSrc=0x2222"

oder alternativ:

options nvidia NVreg_Mobile=1 NVreg_RegistryDwords="PerfLevelSrc=0x2222"

Ist die Datei nicht vorhanden, so kann sie einfach angelegt und mit der Zeile gefüllt werden.

Sollte dadurch das Flackern nach dem Neustart nicht verschwunden sein, sollte man zusätzlich mit der Datei /etc/modprobe.d/nvidia genauso vorgehen.

In /etc/modprobe.d/options muss die Zeile eingetragen werden. (Quelle: Forum)

Sollte auch das nicht helfen, folgendes Skript anlegen, z.B. in /usr/local/bin:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/bin/bash
while true; do

    powerstate=`cat /proc/acpi/ac_adapter/AC/state | awk '{print $2}'`

    if [ $powerstate = "on-line"  ]; then
       nvidia-settings -q all > /dev/null
    fi
    sleep 25;
done

Das Skript verhindert durch Abfragen der Einstellungen der Nvidia-Karte alle 25 Sekunden, dass der Grafikchip sich heruntertaktet (dies verursacht das Flackern). Dies geschieht allerdings nur, wenn sich das Notebook am Stromnetz befindet.

Das Skript kann dann am Besten per Autostart gestartet werden.

Quelle: thinkwiki.org {en}

Kurzzeitig schwarzer Monitor bei Flash-Inhalten auf Webseiten

Wenn der Browser einen Flashplayer anzeigt (egal ob z.B. Werbung oder Youtube Video) kann es passieren das der Monitor kurzzeitig ein schwarzes Bild zeit, so als wenn der Grafik-Modus umgeschaltet würde.

Im Youtube_Video Flackern in Screencasts mit compiz {de} wird ein ähnliches Problem durch die Deaktivierung der Option Allow Flipping im Programm NVIDIA X Server Settings gelöst. Das Deaktivieren dieser Option durch die folgenden Schritte löst auch dieses Anzeigeproblem.

  1. Öffnen der "NVIDIA X Server Settings", unter GNOME zu finden unter "System -> Einstellungen -> NVIDIA X Server Settings"

  2. linke Maustaste-Klick auf "OpenGL Settings"

  3. Entfernen des Haken bei "Allow Flipping"

Diese Option wird sofort angewendet. Ein Reset von X ist nicht nötig.

Freezes / Hakeln

In Verbindung mit den 3D-Desktop-Effekten kommt es immer wieder zu kurzem Einfrieren und Hakeln. Das Problem liegt am aggressiven IRQ-Scheduling und dem eigenen nvidida-Scheduler. Im Bugreport 151382, v. 10/2007, wird auf eine funktionierende Lösung hingewiesen.

  1. Den Rechner im Recovery Modus starten

  2. Die root-Shell starten

  3. Folgenden Befehl eingeben

echo 1 > /sys/devices/system/cpu/sched_mc_power_savings 

Damit werden die etwas zweifelhaften advanced-nvidia-Features und die Freezes bzw. Hakelei deaktiviert.

Diese Revision wurde am 8. Februar 2012 um 20:21 Uhr von Alice wtfiA erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Hardware, unfreie Software, Nvidia

Passwort vergessen?