Nvidia: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
K (→‎Installation: gekürzt mit Verweis auf aktuellen wiki-Artikel)
 
(53 dazwischenliegende Versionen von 17 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{righttoc}}
{{veraltet}}
{{unvollständig}}


Für Nvidia Grafikkarten gibt es die Möglichkeit einen proprietären Treibers (nvidia) oder einen von zwei freien Treiber (nv, nouveau) zu installieren. ''nouveau'' befindet sich noch in der Entwicklung und kann daher noch zu Problemen führen. ''nv'' stellt nur rudimentäre Funktionen bereit und ist daher nicht zu empfehlen.
Für Nvidia Grafikkarten gibt es die Möglichkeit einen proprietären Treibers (nvidia) oder einen freien Treiber [[nouveau]] zu installieren. Als weiteren freien Treiber gab es ''xf86-video-nv'', der nur rudimentäre Funktionen bereitstellt und nicht mehr weiterentwickelt wird. Für ältere Karten kann er dennoch bei Problemen als Alternative verwendet werden.
==Opensource Treiber nouveau==
=== Installation ===
Siehe [[nouveau]].
 
=== mehrere Bildschirme ===
 
Damit die Bildschirme bereits beim laden des X Servers die korrekte Auflösung haben, muss die Datei /etc/X11/xorg.conf.d/20-nouveau.conf erstellt und konfiguriert werden.
Um mögliche Auflösungen sowie genutzte Anschlussnamen anzuzeigen folgenden Befehl nutzen
xrandr
Typische Anschlussnamen sind LVDS-1 (Laptop Bildschirm), VGA-1, DVI-1 oder HDMI-1.
Mögliche Auflösungen werden unter dem Anschlussnamen ausgegeben.
Beispielhafte Konfiguration:
 
Section "Monitor" #Laptop Bildschirm
  Identifier  "Laptop"
  Option      "Primary"        "True" # Auf dem primären Display wird bspw. der Login-Manager angezeigt
  Option      "PreferredMode"  "1280x800" # korrekte Auflösung eintragen
EndSection
Section "Monitor" #externer Bildschirm
  Identifier  "Extern"
  Option      "LeftOf"        "Laptop" # Auch "RightOf" möglich
  Option      "Primary"        "False"
  Option      "PreferredMode"  "1280x1024" # korrekte Auflösung eintragen
EndSection
Section "Device"
  Identifier  "Card0"
  Driver      "nouveau"
  Option      "Monitor-LVDS-1" "Laptop" # Schema "Monitor-ANSCHLUSSNAME"
  Option      "Monitor-VGA-1"  "Extern"
EndSection
Section "Screen"
  Identifier  "Screen0"
  Device      "Card0"
  DefaultDepth 24
  SubSection  "Display"
    Depth      24
    Virtual    2560 1024 # Höhe und Breite des erzeugten "Screens" (1280 + 1280 = 2560)
  EndSubSection
EndSection
Section        "ServerLayout"
  Identifier  "Layout0"
  Screen      "Screen0"
EndSection
 
==Proprietärer Treiber==
[[Bild:nVidia-display-driver_01.png|thumb|320px|nVidia X Server Settings]]


==Open Source Treiber==
===Installation===
===Installation===
Der Treiber ''xf86-video-nouveau'' wird mittels
Der Treiber wird mittels
  pacman -Sy xf86-video-nouveau nouveau-firmware
  pacman -S nvidia
installiert. ''nouveau-firmware'' ist seit dem [http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=d5f3c90d4f3ad6b054f9855b7b69137b97bda131 25.02.2010] {{Sprache|en}} für neuere Karten ab der GeForce 6 Reihe (NV40) nicht mehr nötig.
installiert.


Ebenso wird bei ''xf86-video-nv'' vorgegangen.
 
Für Karten GeForce FX Reihe:
pacman -S nvidia-173xx
<!--
Für Karten der GeForce 4 bis zu einigen Karten der GeForce 2 Reihe:
pacman -S nvidia-96xx
-->
Welcher Treiber der geeignete ist, kann man auf der [http://www.nvidia.com/object/unix.html nVIDIA-Homepage] herausfinden.
 
Für ältere Hardware muss der Open Source Treiber nouveau verwendet werden. Siehe auch [http://download.nvidia.com/XFree86/Linux-x86/260.19.44/README/appendix-a.html README/appendix-a]


===Konfiguration===
===Konfiguration===
''xf86-video-nouveau'' nutzt Kernel Mode Setting ([[KMS]]) zum Einstellen der richtigen Auflösung. Das dazu nötige Kernel Modul (nouveau) wird automatisch von [[udev]] geladen. Zudem muss die Datei ''/etc/X11/xorg.conf'' vorhanden sein, die folgendermaßen editiert wird:
'''Eine weitere Konfiguration ist nicht nötig.''' Bei der Installation wird eine Konfigurationsdatei in ''/etc/X11/xorg.conf.d'' abgelegt.


  Section "Device"
Sollten dennoch Änderungen vorgenommen werden, kann dies entweder per Hand in der Konfigurationsdatei von X11 ''/etc/X11/xorg.conf'', oder über das grafische Programm ''nvidia-settings'' erledigt werden.
  Identifier "Grafikkarte"
 
  Driver "nouveau"
Die Treiberpakete enthalten ein Tool, mit dem bei Bedarf eine ''/etc/X11/xorg.conf'' angelegt bzw. automatisch angepasst werden kann.
  EndSection
  nvidia-xconfig
 
====Konfiguration mit nvidia-settings====
Mit
  nvidia-settings
ist es möglich weitere Einstellungen vorzunehmen. Dabei wird die Datei ''~/.nvidia-settings-rc'' erstellt.


Für ''xf86-video-nv'' ist keine weitere Konfiguration notwendig.
Um die Einstellungen zu laden, muss
nvidia-settings --load-config-only
ausgeführt werden.


{{Hinweis|Der Benutzer muss Mitglied der Gruppe '''video''' sein.}}
{{hinweis|In seltenen Fällen kann es sein, dass ''~/.nvidia-settings-rc'' fehlerhaft verändert wird. Falls dies eintritt, kann es sein, dass der X-Server abstürzt und die Datei deswegen gelöscht werden muss.}}


'''Frühes Aktivieren von KMS:'''
=== Optimus unter X ===
Seit der Version 319.12 unterstützt der proprietäre Nvidia-Treiber auch die Optimus-Technologie unter Linux. Dazu muss sowohl der Intel-Treiber als auch der Nvidia-Treiber installiert werden.
pacman -S intel-dri
pacman -Rdd mesa-libgl
pacman -S nvidia


Damit die Bildschirmauflösung möglichst früh gesetzt werden kann, muss das dazu nötige Module dem initramfs-Image hinzugefügt werden. Dazu muss in der Datei ''/etc/mkinitcpio.conf'' die Zeile ''MODULES'' geändert werden:
Die nun als Beispiel angegebene Konfigurationsdatei ist selbsterklärend:
MODULES="nouveau"


Anschließend muss noch das Image neu erstellt werden.
Section "ServerLayout"
  mkinitcpio -p kernel26
  Identifier "layout"
  Screen 0 "nvidia"
  Inactive "intel"
EndSection
Section "Device"
  Identifier "nvidia"
  Driver "nvidia"
  BusID "PCI:01:00:0"
EndSection
Section "Screen"
  Identifier "nvidia"
  Device "nvidia"
  # Uncomment this line if your computer has no display devices connected to
  # the NVIDIA GPU.  Leave it commented if you have display devices
  # connected to the NVIDIA GPU that you would like to use.
  Option "UseDisplayDevice" "none"
EndSection
Section "Device"
  Identifier "intel"
  Driver "intel"
EndSection
Section "Screen"
  Identifier "intel"
  Device "intel"
  EndSection


Der ''vga'' Parameter des Kernel sollte ebenfalls entfernt werden.
Folgende Zeilen sollten nun in die .xinitrc im Homeverzeichnis.
xrandr --setprovideroutputsource Intel NVIDIA-0
xrandr --auto


==Proprietärer Treiber==
Für nähere Infos sei das [http://us.download.nvidia.com/XFree86/Linux-x86/319.12/README/randr14.html Nvidia-Handbuch] empfohlen
[[Bild:nVidia-display-driver_01.png|thumb|320px|nVidia X Server Settings]]
 
 
== Pure Video HD ==
Es wird mindestens eine Grafikkarte mit der zweiten Generation von PureVideo HD(VP2) [http://en.wikipedia.org/wiki/Nvidia_PureVideo#Table_of_PureVideo_.28HD.29_GPUs] vorausgesetzt. Nvidia-Grafikkarten benötigen den proprietären Treiber um die Video-Decoding-Funktion per VDPAU bereitzustellen. Um die VA-API-Schnitstelle bereitzustellen benötigt man {{paket|libva-vdpau-driver}}


===Installation===
Zuerst muss die VA-API-Kompatibilität geprüft werden.
Der Treiber wird mittels
pacman -Sy nvidia
installiert.


Für Karten GeForce FX Reihe:
  vainfo
  pacman -Sy nvidia-173xx


Für Karten der GeForce 4 bis zu einigen Karten der GeForce 2 Reihe:
Um die Hardware decoding funktion der Grafikkarte zu benutzen benötigt man einen mediaplayer mit VDPAU oder VA-API-Unterstüzung.
pacman -Sy nvidia-96xx


Um weitere Tools und Bibliotheken zu erhalten sollte man zusätzlich das passende nvidia-*-utils-Paket installieren:
Um Hardwarebeschleunigung im [[MPlayer]] zu aktivieren muss die Konfigurationsdatei Ergänzt werden
pacman -Sy nvidia-utils
respektive:
pacman -Sy nvidia-173xx-utils
oder
pacman -Sy nvidia-96xx


Es ist zu beachten, dass diese Pakete nach jedem Kernel-Update neu installiert werden müssen.
{{hc|1=~/.mplayer/config|2=
vo=vdpau
vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau}}


Für ältere Hardware muss der [[#Open Source Treiber|Open Source Treiber]] verwendet werden. Siehe auch [http://download.nvidia.com/XFree86/Linux-x86/190.53/README/appendix-a.html README/appendix-a]
Um Hardwarebeschleunigung in [[VLC]] zu nutzen aktiviert man unter „Extras → Einstellungen → Input & Codecs“ die Option „Nutze die GPU-beschleunigte Dekodierung“.


===Konfiguration===
Um Hardwarebeschleunigung in [[smplayer]] zu nutzen, stellt man unter „Optionen → Einstellungen → Allgemein → Video“, den Ausgabetreiber auf {{ic|vdpau}}.


====Automatische Konfiguration====
Um Hardwarebeschleunigung im [[gnome-mplayer]] stellt man unter „Bearbeiten → Einstellungen“ die Videoausgabe auf {{ic|vdpau}} um.
Das NVIDIA-Paket beinhaltet ein Konfigurationswerkzeug, um ''xorg.conf'' zu erzeugen und kann als root via:
nvidia-xconfig
erzeugt werden


Dieser Befehl wird von selbst ''/etc/X11/xorg.conf'' erkennen, und wenn nötig selbstständig passend zur aktuell verwendeten Hardware verändern, oder komplett neu erstellen.
== Tips und Tricks ==
Wer häufiger zwischen beiden Treibern wechselt kann ein einfaches Skript benutzen.
Es ist teilweise dem englischen Wiki entnommen.


====Manuelle Konfiguration====
#!/bin/bash
Um als root eine einfache Konfigurationsdatei zu erzeugen, geht man folgendermaßen vor:
# nouveau to/from nvidia                                                             
  nano /etc/X11/xorg.conf
set -e
# check if root
if [ $EUID -ne 0 ]; then
    echo "You must be root to run this script. Aborting...";
    exit 1;
fi
# nouveau to nvidia
nvidia(){
    sed -i 's/MODULES="nouveau"/#MODULES="nouveau"/' /etc/mkinitcpio.conf
    pacman -Rdds --noconfirm nouveau-dri xf86-video-nouveau mesa-libgl lib32-nouveau-dri lib32-mesa-libgl
    pacman -S --noconfirm nvidia lib32-nvidia-libgl nvidia-libgl nvidia-utils
    mkinitcpio -p linux
    mkinitcpio -p linux-ck
}
# nvidia to nouveau
nouveau() {
    sed -i 's/#*MODULES="nouveau"/MODULES="nouveau"/' /etc/mkinitcpio.conf
    pacman -Rdds --noconfirm nvidia lib32-nvidia-libgl nvidia-libgl nvidia-utils
    pacman -S --noconfirm nouveau-dri xf86-video-nouveau lib32-nouveau-dri mesa-libgl lib32-mesa-libgl
    mkinitcpio -p linux
    mkinitcpio -p linux-ck
}
# help message
help() {
    echo -e "USAGE: \t -h\t:print this info"
    echo -e "\t -no\t:nvidia to nouveau"
    echo -e "\t -ni\t:nouveau to nvidia"
}
if [ $1 == '-h' ]; then
    help
    exit 0;
fi
# check direction
if [ $1 == '-ni' ]; then
    nvidia
    exit 0;
fi
if [ $1 == '-no' ]; then
    nouveau
    exit 0;
else
    help
    exit 1;
fi
  ## editor:emacs indent:4


Füge den Treiber ein:
<pre>
Section "Device"
  Identifier          "Device0"
  Driver              "nvidia"
  VendorName    "NVIDIA Corporation"
EndSection
</pre>
Weitere Einstellungen können mit:
nvidia-settings
vorgenommen werden.
Versichere dich, dass für vollständige Multimediauntersützung '''hal''' und '''xorg-inout-drivers''' installiert sind.


=Siehe auch=
Danach wird noch ein Neustart benötigt um den Wechsel zu vervollständigen.
Das Skript muss natürlich an die eigenen Bedürfnisse angepasst werden.


==Siehe auch==
* [[KMS|Kernel Mode Setting]]
* [[KMS|Kernel Mode Setting]]
* [[XRandR]]
* [[XRandR]]
* [[X]]
* [[X]]


=Weblinks=
==Weblinks==


* [http://nouveau.freedesktop.org/wiki/ Offizielle Seite von ''nouveau''] {{sprache|en}}
* [http://nouveau.freedesktop.org/wiki/ Offizielle Seite von ''nouveau''] {{sprache|en}}
Zeile 96: Zeile 223:
[[Kategorie: Hardware]]
[[Kategorie: Hardware]]
[[Kategorie: Grafikkarten]]
[[Kategorie: Grafikkarten]]
[[en:NVIDIA]]

Aktuelle Version vom 12. Dezember 2018, 12:27 Uhr

20040916-achtung.jpg Dieser Artikel wurde als veraltet markiert, und sollte kontrolliert, und gegebenfalls korrigiert bzw. aktualisiert werden.


Warn 16x16.png Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!


Für Nvidia Grafikkarten gibt es die Möglichkeit einen proprietären Treibers (nvidia) oder einen freien Treiber nouveau zu installieren. Als weiteren freien Treiber gab es xf86-video-nv, der nur rudimentäre Funktionen bereitstellt und nicht mehr weiterentwickelt wird. Für ältere Karten kann er dennoch bei Problemen als Alternative verwendet werden.

Opensource Treiber nouveau

Installation

Siehe nouveau.

mehrere Bildschirme

Damit die Bildschirme bereits beim laden des X Servers die korrekte Auflösung haben, muss die Datei /etc/X11/xorg.conf.d/20-nouveau.conf erstellt und konfiguriert werden. Um mögliche Auflösungen sowie genutzte Anschlussnamen anzuzeigen folgenden Befehl nutzen

xrandr

Typische Anschlussnamen sind LVDS-1 (Laptop Bildschirm), VGA-1, DVI-1 oder HDMI-1. Mögliche Auflösungen werden unter dem Anschlussnamen ausgegeben. Beispielhafte Konfiguration:

Section "Monitor" #Laptop Bildschirm
  Identifier  "Laptop"
  Option      "Primary"        "True" # Auf dem primären Display wird bspw. der Login-Manager angezeigt
  Option      "PreferredMode"  "1280x800" # korrekte Auflösung eintragen
EndSection

Section "Monitor" #externer Bildschirm
  Identifier  "Extern"
  Option      "LeftOf"         "Laptop" # Auch "RightOf" möglich
  Option      "Primary"        "False"
  Option      "PreferredMode"  "1280x1024" # korrekte Auflösung eintragen
EndSection

Section "Device"
  Identifier  "Card0"
  Driver      "nouveau"
  Option      "Monitor-LVDS-1" "Laptop" # Schema "Monitor-ANSCHLUSSNAME" 
  Option      "Monitor-VGA-1"  "Extern" 
EndSection

Section "Screen"
  Identifier   "Screen0"
  Device       "Card0"
  DefaultDepth 24
  SubSection   "Display"
    Depth      24
    Virtual    2560 1024 # Höhe und Breite des erzeugten "Screens" (1280 + 1280 = 2560)
  EndSubSection
EndSection

Section        "ServerLayout"
  Identifier   "Layout0"
  Screen       "Screen0"
EndSection

Proprietärer Treiber

nVidia X Server Settings

Installation

Der Treiber wird mittels

pacman -S nvidia

installiert.


Für Karten GeForce FX Reihe:

pacman -S nvidia-173xx

Welcher Treiber der geeignete ist, kann man auf der nVIDIA-Homepage herausfinden.

Für ältere Hardware muss der Open Source Treiber nouveau verwendet werden. Siehe auch README/appendix-a

Konfiguration

Eine weitere Konfiguration ist nicht nötig. Bei der Installation wird eine Konfigurationsdatei in /etc/X11/xorg.conf.d abgelegt.

Sollten dennoch Änderungen vorgenommen werden, kann dies entweder per Hand in der Konfigurationsdatei von X11 /etc/X11/xorg.conf, oder über das grafische Programm nvidia-settings erledigt werden.

Die Treiberpakete enthalten ein Tool, mit dem bei Bedarf eine /etc/X11/xorg.conf angelegt bzw. automatisch angepasst werden kann.

nvidia-xconfig

Konfiguration mit nvidia-settings

Mit

nvidia-settings

ist es möglich weitere Einstellungen vorzunehmen. Dabei wird die Datei ~/.nvidia-settings-rc erstellt.

Um die Einstellungen zu laden, muss

nvidia-settings --load-config-only

ausgeführt werden.

Hinweis: In seltenen Fällen kann es sein, dass ~/.nvidia-settings-rc fehlerhaft verändert wird. Falls dies eintritt, kann es sein, dass der X-Server abstürzt und die Datei deswegen gelöscht werden muss.

Optimus unter X

Seit der Version 319.12 unterstützt der proprietäre Nvidia-Treiber auch die Optimus-Technologie unter Linux. Dazu muss sowohl der Intel-Treiber als auch der Nvidia-Treiber installiert werden.

pacman -S intel-dri
pacman -Rdd mesa-libgl
pacman -S nvidia

Die nun als Beispiel angegebene Konfigurationsdatei ist selbsterklärend:

Section "ServerLayout"
  Identifier "layout"
  Screen 0 "nvidia"
  Inactive "intel"
EndSection

Section "Device"
  Identifier "nvidia"
  Driver "nvidia"
  BusID "PCI:01:00:0"
EndSection

Section "Screen"
  Identifier "nvidia"
  Device "nvidia"
  # Uncomment this line if your computer has no display devices connected to
  # the NVIDIA GPU.  Leave it commented if you have display devices
  # connected to the NVIDIA GPU that you would like to use.
  Option "UseDisplayDevice" "none"
EndSection

Section "Device"
  Identifier "intel"
  Driver "intel"
EndSection

Section "Screen"
  Identifier "intel"
  Device "intel"
EndSection

Folgende Zeilen sollten nun in die .xinitrc im Homeverzeichnis.

xrandr --setprovideroutputsource Intel NVIDIA-0
xrandr --auto

Für nähere Infos sei das Nvidia-Handbuch empfohlen


Pure Video HD

Es wird mindestens eine Grafikkarte mit der zweiten Generation von PureVideo HD(VP2) [1] vorausgesetzt. Nvidia-Grafikkarten benötigen den proprietären Treiber um die Video-Decoding-Funktion per VDPAU bereitzustellen. Um die VA-API-Schnitstelle bereitzustellen benötigt man libva-vdpau-driver

Zuerst muss die VA-API-Kompatibilität geprüft werden.

vainfo

Um die Hardware decoding funktion der Grafikkarte zu benutzen benötigt man einen mediaplayer mit VDPAU oder VA-API-Unterstüzung.

Um Hardwarebeschleunigung im MPlayer zu aktivieren muss die Konfigurationsdatei Ergänzt werden

~/.mplayer/config
vo=vdpau
vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau

Um Hardwarebeschleunigung in VLC zu nutzen aktiviert man unter „Extras → Einstellungen → Input & Codecs“ die Option „Nutze die GPU-beschleunigte Dekodierung“.

Um Hardwarebeschleunigung in smplayer zu nutzen, stellt man unter „Optionen → Einstellungen → Allgemein → Video“, den Ausgabetreiber auf vdpau.

Um Hardwarebeschleunigung im gnome-mplayer stellt man unter „Bearbeiten → Einstellungen“ die Videoausgabe auf vdpau um.

Tips und Tricks

Wer häufiger zwischen beiden Treibern wechselt kann ein einfaches Skript benutzen. Es ist teilweise dem englischen Wiki entnommen.

#!/bin/bash
# nouveau to/from nvidia                                                               
set -e
# check if root
if [ $EUID -ne 0 ]; then
   echo "You must be root to run this script. Aborting...";
   exit 1;
fi
# nouveau to nvidia
nvidia(){
    sed -i 's/MODULES="nouveau"/#MODULES="nouveau"/' /etc/mkinitcpio.conf
    pacman -Rdds --noconfirm nouveau-dri xf86-video-nouveau mesa-libgl lib32-nouveau-dri lib32-mesa-libgl
    pacman -S --noconfirm nvidia lib32-nvidia-libgl nvidia-libgl nvidia-utils
    mkinitcpio -p linux
    mkinitcpio -p linux-ck
}
# nvidia to nouveau
nouveau() {
    sed -i 's/#*MODULES="nouveau"/MODULES="nouveau"/' /etc/mkinitcpio.conf
    pacman -Rdds --noconfirm nvidia lib32-nvidia-libgl nvidia-libgl nvidia-utils
    pacman -S --noconfirm nouveau-dri xf86-video-nouveau lib32-nouveau-dri mesa-libgl lib32-mesa-libgl
    mkinitcpio -p linux
    mkinitcpio -p linux-ck
}
# help message
help() {
    echo -e "USAGE: \t -h\t:print this info"
    echo -e "\t -no\t:nvidia to nouveau"
    echo -e "\t -ni\t:nouveau to nvidia"
}
if [ $1 == '-h' ]; then
    help
    exit 0;
fi
# check direction
if [ $1 == '-ni' ]; then
    nvidia
    exit 0;
fi
if [ $1 == '-no' ]; then
    nouveau
    exit 0;
else
    help
    exit 1;
fi
## editor:emacs indent:4 


Danach wird noch ein Neustart benötigt um den Wechsel zu vervollständigen. Das Skript muss natürlich an die eigenen Bedürfnisse angepasst werden.

Siehe auch

Weblinks