ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

nvidia

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

Achtung!

Unter 12.10 muss manuell das Paket linux-headers-generic installiert werden, siehe 1068341.

./nvidia_logo.jpg

Diese Anleitung behandelt die Installation und Konfiguration des proprietären "nvidia"-Treibers. Dieser Treiber bietet im Gegensatz zu dem freien Nouveau-Treiber eine ausgereifte 2D-Beschleunigung, unterstützt OpenGL sowie die Hardware-Beschleunigung von HD-Videos über VDPAU. Die RandR-Erweiterung wird von Versionen vor 304.22 nur in Version 1.1 unterstützt, der Treiber bietet aber ein eigenes umfangreiches Konfigurationstool. Ab Version 304.22 wird Randr vollständig unterstützt. Nvidia hat den Treiber in mehrere Versionen aufgeteilt, welche jeweils unterschiedliche Kartengenerationen unterstützen. Eine vollständige Auflistung aller unterstützten Karten ist in der Hersteller-Dokumentation-295.71 {en}, bzw. Hersteller-Dokumentation-304.64 {en}, und Hersteller-Dokumentation-310.32 {en} zu finden. Dort lässt sich im Zweifel auch die Treiberzuordnung nachschlagen.

Treiberinstallation

Verwaltung eingeschränkter Treiber

./jockey-gtk.png

Über die Verwaltung eingeschränkter Treiber restricted-manager/jockey_unity.png kann der proprietäre Treiber einfach installiert und aktiviert werden. Dies ist der für Ubuntu empfohlene Weg. Nach dem Start dieser Funktion über "System -> Systemverwaltung -> Hardware-Treiber" wird der geeignete Treiber hervorgehoben 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.

Ab Quetzal Quantal hat sich die Lage zur Installation unfreier Treiber etwas geändert. Der Installationsdialog befindet sich nun im Paketquellen-Manager (Software-Quellen) und ist dort über den 6. Reiter erreichbar.

Über die Paketverwaltung

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

Um festzustellen, welche Grafikkarte vorliegt, im Terminal [2]

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

eingeben. Dadurch wird ersichtlich, welche Hardware (NVnn) vorhanden und welcher Treiber in Benutzung ist.

Ab Quantal Quetzal (12.10)

  • nvidia-experimental-310: (NVC0 und neuer) ab GeForce 8

  • nvidia-current: (NV40 - NVAF) GeForce 6/7

  • nvidia-173: (NV30-NV38) GeForce 5 bis GeForce 9 - Treiber für X-Server ABI 1.13 aktualisiert, jedoch fehlt nun noch nvidia-settings 1100994. Sehr oft genügt auch der vorinstallierte Nouveau-Treiber

  • nvidia-96: (NV11 und NV17-28) Legacy-Treiber funktioniert nicht mit aktuellem X-Server, kein Hersteller-Update für X-Server ABI 1.13 mehr geplant.

  • nvidia-settings: herstellerseitige Konfigurations-GUI

Precise Pangolin (12.04)

  • nvidia-experimental-310: (NVC0 und neuer) ab GeForce 8

  • nvidia-current: (NV40 - NVAF) GeForce 6/7

  • nvidia-173: (NV30 - NV38) GeForce 5 bis GeForce 9

  • nvidia-96: (NV11 und NV17 - NV28) GeForce 2 MX - GeForce 4

  • nvidia-settings: herstellerseitige Konfigurations-GUI, bzw.

  • nvidia-settings-updates – falls bereits eine Aktualisierung vorliegt, siehe auch nvidia-settings

Lucid Lynx (10.04)

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

  • nvidia-173: GeForce FX

  • nvidia-96: GeForce2 MX bis GeForce 4

  • nvidia-settings: herstellerseitige Konfigurations-GUI

Aktivierung der Treiber

Bei Ubuntu-Version die neuer als Lucid Lynx sind, erfolgt die Aktivierung nach der Installation und einem System-Neustart automatisch. Siehe auch Verwaltung eingeschränkter Treiber restricted-manager/jockey_unity.png

Lucid 10.04

Zur Aktivierung des Treibers muss dieser in der Konfigurationsdatei des X-Servers /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.

Adresszeile zum Hinzufügen des PPAs:

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

Hinweis!

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


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen bietet die Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung vom Benutzer/Team ubuntu-x-swat.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Eine Anleitung für Optimus findet sich im Artikel Bumblebee

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:

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

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.

Die Version des verwendeten Treibers wird einem im Begrüßungsfenster von nvidia-settings mitgeteilt.

Eine grobe Übersicht erhält man durch eine Terminaleingabe [2] von

dpkg -l nvidia* 

Beispiel:

Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name                                               Version                        Beschreibung
+++-==================================================-==============================-===========================================================
un  nvidia-180-modaliases                              <keine>                         (keine Beschreibung vorhanden)
un  nvidia-185-modaliases                              <keine>                         (keine Beschreibung vorhanden)
ii  nvidia-common                                      1:0.2.44.2                      Find obsolete NVIDIA drivers
un  nvidia-current-modaliases                          <keine>                         (keine Beschreibung vorhanden)
ii  nvidia-current-updates                             304.64-0ubuntu0.2               NVIDIA binary Xorg driver, kernel module and VDPAU library
un  nvidia-libvdpau                                    <keine>                         (keine Beschreibung vorhanden)
un  nvidia-libvdpau-ia32                               <keine>                         (keine Beschreibung vorhanden)
un  nvidia-libvdpau1                                   <keine>                         (keine Beschreibung vorhanden)
un  nvidia-libvdpau1-ia32                              <keine>                         (keine Beschreibung vorhanden)
ii  nvidia-settings-updates                            304.43-0ubuntu0.2               Tool of configuring the NVIDIA graphics driver
un  nvidia-vdpau-driver                                <keine>                         (keine Beschreibung vorhanden)

Alternativ kann man auch diesen Befehl im Terminal eingeben, für den Treiber nvidia-current:

dpkg --status nvidia-current-updates | grep Version 

was zu diesem Ergebnis führt:

Version: 304.64-0ubuntu0.2

NVIDIA-AGP aktivieren

Um zu erfahren, ob AGP aktiviert ist und welche Version des Treibers verwendet wird, im Terminal folgenden Befehl ausführen:

cat /proc/driver/nvidia/agp/status 

oder

cat /proc/driver/nvidia/version 

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.

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.

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. 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

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-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.

ubuntuusers.local › WikiGrafikkartenNvidianvidia