Nvidia: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Werner (Diskussion | Beiträge)
K mkinitcpio.conf: Syntax an v24+ angepasst | Der Artikel ist als veraltet markiert und hätte gerne etwas liebevolle Zuwendung :)
K format
 
(34 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{veraltet}}
{{unvollständig}}{{artikelstil}}
{{unvollständig}}
Dieser Artikel handelt von dem proprietärern NVIDIA Treiber. Es gibt aber auch einen open source Treiber, siehe [[Nouveau]]. Wenn Sie einen Laptop mit Intel und NVIDIA Grafikeinheit besitzen, besuchen Sie die [https://wiki.archlinux.org/title/NVIDIA_Optimus NVIDIA Optimus] Seite


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.
==Installation==
==Opensource Treiber nouveau==
[[Bild:nVidia-display-driver_01.png|thumb|320px|Nvidia X Server Settings]]
=== Installation ===
'''Achtung''': Vermeiden Sie, den Treiber von Nvidias Download-Seite herunterzuladen.Bei der hier gezeigten Methode kann man den Treiber mit dem ganzen System zusammen mit [[pacman]] aktualisieren.
pacman -S xf86-video-nouveau
Der Treiber unterstützt KMS daher kann man den Treiber schon im kernel initramfs einbauen lassen.<br>
Das geht mit Eintrag in der /etc/mkinitcpio.conf
MODULES=(... nouveau ...)
anschließend mit
mkinitcpio -g /boot/initramfs-linux.img
den Treiber einbauen.<br>
Nur falls xorg den nouveau Treiber nicht übernimmt, ist noch eine Datei /etc/X11/xorg.conf.d/20-nouveau.conf zu machen.
Section "Device"
    Identifier "Nvidia card"
    Driver "nouveau"
EndSection
Rechner neu booten.


=== mehrere Bildschirme ===
Diese Anleitung ist für Nutzer des {{ic|linux}} oder {{ic|linux-lts}} Kernels gedacht. Bei einem anderen Kernel, gehen sie zu diesem Teilabschnitt.


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.
1. Sollten Sie nicht wissen, welche Grafikkarte Sie haben, können Sie das folgendermaßen herausfinden:
Um mögliche Auflösungen sowie genutzte Anschlussnamen anzuzeigen folgenden Befehl nutzen
  $ lspci -k | grep -A 2 -E "(VGA|3D)"
  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
2. Installieren Sie jetzt den richtigen Treiber:
  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==
-Für GPUs der Maxwell (NV110) Serie und neuere Grafikkarten (dazu gehoeren folgende GPUs: GeForce 930~, 10-20, Quadro/Tesla/Tegra und neuere), installieren Sie das {{ic|nvidia}} Package, wenn sie den {{ic|linux}} Kernel nutzen. Sollten Sie den {{ic|linux-lts}} Kernel nutzen, installieren Sie das {{ic|nvidia-lts}} Package. Falls diese Pakete nicht funktionieren sollten, versuchen Sie es mit dem {{ic|nvidia-beta}}<sup>AUR</sup> Package.
[[Bild:nVidia-display-driver_01.png|thumb|320px|nVidia X Server Settings]]


===Installation===
-Für Grafikkarten der Kepler (NVE0) Serie (dazu gehören diese GPUs: GeForce 630-920) von ungefähr 2013 bis 2014, installieren Sie das {{ic|nvidia-470xx-dkms}}<sup>AUR</sup> Package.
Der Treiber wird mittels
pacman -S nvidia
installiert.


-Für Grafikkarten der GeForce 400er/500er/600er Serie von ungefähr 2010 bis 2011, installieren Sie das {{ic|nvidia-390xx-dkms}}<sup>AUR</sup> Package.


Für Karten GeForce FX Reihe:
-Für noch ältere Grafikkarten (von 2010 und früher), sehen Sie sich bei dem #Nicht unterstützte Geräte Teilabschnitt um.
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]
3. Sollten Sie Unterstützung für 32bit-Programme brauchen, installieren Sie das passende lib32 Paket von dem [https://wiki.archlinux.org/title/Multilib#multilib multilib] Verzeichnis (z.B. das {{ic|lib32-nvidia-utils}} Package).


===Konfiguration===
4. Starten Sie ihr System neu. Das {{ic|nvidia}} Package enthält eine Datei, die das nouveau Modul blockiert, ein Neustart ist also notwendig.
'''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.
Sobald der Treiber installiert wurde, können Sie zu #Xorg Konfiguration oder zu #Wayland gehen.


Die Treiberpakete enthalten ein Tool, mit dem bei Bedarf eine ''/etc/X11/xorg.conf'' angelegt bzw. automatisch angepasst werden kann.
===Nicht unterstützte Geräte===
nvidia-xconfig
Wenn Sie eine Grafikkarte der GeForce 300 Serie oder sogar eine ältere Karte besitzen (von 2010 und früher), wird Ihre GPU von Nvidia nicht mehr unterstützt. Das heißt, dass die Treiber [https://nvidia.custhelp.com/app/answers/detail/a_id/3142/ nicht die aktuelle Xorg Version unterstützen]. Da könnte es leichter sein, den [[Nouveau]] Treiber zu installieren, der alte Karten mit der aktuellen Xorg Version unterstützt.


====Konfiguration mit nvidia-settings====
Aber Nvidias Legacy Treiber sind immer noch verfügbar und könnten eine bessere Leistung erbringen.
Mit
nvidia-settings
ist es möglich weitere Einstellungen vorzunehmen. Dabei wird die Datei ''~/.nvidia-settings-rc'' erstellt.


Um die Einstellungen zu laden, muss
-Für Grafikkarten der Geforce 8/9, ION und 100-300 Serien, könnten Sie das {{ic|nvidia-340xx-dkms}}<sup>AUR</sup> Package installieren.
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.}}
-Für GPUs der GeForce 7 und älterer Serien gibt es keinen Treiber in einem Arch Linux Paket.


=== Optimus unter X ===
===Custom Kernel===
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.
Sollten Sie anderen Kernel als den linux oder linux-lts Kernel nutzen, also einen custom Kernel, kann die Kompilation des Nvidia Kernels mit [https://wiki.archlinux.org/title/DKMS DKMS] automatsiert werden.  
pacman -S intel-dri
pacman -Rdd mesa-libgl
pacman -S nvidia


Die nun als Beispiel angegebene Konfigurationsdatei ist selbsterklärend:
Installieren Sie das {{ic|nvidia-dkms}} Paket (oder eine andere spezifische Applikation). Das Nvidia Modul wird nach jedem Nvidia oder Kernel Update dank der DKMS pacman hook neu erstellt.


Section "ServerLayout"
===Hardware beschleunigtes Video Decoding===
  Identifier "layout"
Beschleunigtes Video Decoding mit VDPAU wird von Karten der GeForce 8 Serie und neueren Karten unterstützt. Beschleunigtes Video Decoding mit NVDEC wird von Fermi GPUs (~400er Serie) und neuren unterstützt. Besuchen Sie [https://wiki.archlinux.org/title/Hardware_video_acceleration diese Seite] für mehr Details.
  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 [http://us.download.nvidia.com/XFree86/Linux-x86/319.12/README/randr14.html Nvidia-Handbuch] empfohlen
 
 
== 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}}
 
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
 
{{hc|1=~/.mplayer/config|2=
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 {{ic|vdpau}}.
 
Um Hardwarebeschleunigung im [[gnome-mplayer]] stellt man unter „Bearbeiten → Einstellungen“ die Videoausgabe auf {{ic|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==
* [[KMS|Kernel Mode Setting]]
* [[XRandR]]
* [[X]]
 
==Weblinks==
 
* [http://nouveau.freedesktop.org/wiki/ Offizielle Seite von ''nouveau''] {{sprache|en}}
 
[[Kategorie: Hardware]]
[[Kategorie: Grafikkarten]]
[[en:NVIDIA]]

Aktuelle Version vom 11. Oktober 2023, 10:09 Uhr

Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!


Dieser Artikel oder Artikelabschnitt bedarf einer stilistischen Überarbeitung laut Empfehlungen in Artikelstil.


Dieser Artikel handelt von dem proprietärern NVIDIA Treiber. Es gibt aber auch einen open source Treiber, siehe Nouveau. Wenn Sie einen Laptop mit Intel und NVIDIA Grafikeinheit besitzen, besuchen Sie die NVIDIA Optimus Seite

Installation

Nvidia X Server Settings

Achtung: Vermeiden Sie, den Treiber von Nvidias Download-Seite herunterzuladen.Bei der hier gezeigten Methode kann man den Treiber mit dem ganzen System zusammen mit pacman aktualisieren.

Diese Anleitung ist für Nutzer des linux oder linux-lts Kernels gedacht. Bei einem anderen Kernel, gehen sie zu diesem Teilabschnitt.

1. Sollten Sie nicht wissen, welche Grafikkarte Sie haben, können Sie das folgendermaßen herausfinden:

$ lspci -k | grep -A 2 -E "(VGA|3D)"

2. Installieren Sie jetzt den richtigen Treiber:

-Für GPUs der Maxwell (NV110) Serie und neuere Grafikkarten (dazu gehoeren folgende GPUs: GeForce 930~, 10-20, Quadro/Tesla/Tegra und neuere), installieren Sie das nvidia Package, wenn sie den linux Kernel nutzen. Sollten Sie den linux-lts Kernel nutzen, installieren Sie das nvidia-lts Package. Falls diese Pakete nicht funktionieren sollten, versuchen Sie es mit dem nvidia-betaAUR Package.

-Für Grafikkarten der Kepler (NVE0) Serie (dazu gehören diese GPUs: GeForce 630-920) von ungefähr 2013 bis 2014, installieren Sie das nvidia-470xx-dkmsAUR Package.

-Für Grafikkarten der GeForce 400er/500er/600er Serie von ungefähr 2010 bis 2011, installieren Sie das nvidia-390xx-dkmsAUR Package.

-Für noch ältere Grafikkarten (von 2010 und früher), sehen Sie sich bei dem #Nicht unterstützte Geräte Teilabschnitt um.

3. Sollten Sie Unterstützung für 32bit-Programme brauchen, installieren Sie das passende lib32 Paket von dem multilib Verzeichnis (z.B. das lib32-nvidia-utils Package).

4. Starten Sie ihr System neu. Das nvidia Package enthält eine Datei, die das nouveau Modul blockiert, ein Neustart ist also notwendig.

Sobald der Treiber installiert wurde, können Sie zu #Xorg Konfiguration oder zu #Wayland gehen.

Nicht unterstützte Geräte

Wenn Sie eine Grafikkarte der GeForce 300 Serie oder sogar eine ältere Karte besitzen (von 2010 und früher), wird Ihre GPU von Nvidia nicht mehr unterstützt. Das heißt, dass die Treiber nicht die aktuelle Xorg Version unterstützen. Da könnte es leichter sein, den Nouveau Treiber zu installieren, der alte Karten mit der aktuellen Xorg Version unterstützt.

Aber Nvidias Legacy Treiber sind immer noch verfügbar und könnten eine bessere Leistung erbringen.

-Für Grafikkarten der Geforce 8/9, ION und 100-300 Serien, könnten Sie das nvidia-340xx-dkmsAUR Package installieren.

-Für GPUs der GeForce 7 und älterer Serien gibt es keinen Treiber in einem Arch Linux Paket.

Custom Kernel

Sollten Sie anderen Kernel als den linux oder linux-lts Kernel nutzen, also einen custom Kernel, kann die Kompilation des Nvidia Kernels mit DKMS automatsiert werden.

Installieren Sie das nvidia-dkms Paket (oder eine andere spezifische Applikation). Das Nvidia Modul wird nach jedem Nvidia oder Kernel Update dank der DKMS pacman hook neu erstellt.

Hardware beschleunigtes Video Decoding

Beschleunigtes Video Decoding mit VDPAU wird von Karten der GeForce 8 Serie und neueren Karten unterstützt. Beschleunigtes Video Decoding mit NVDEC wird von Fermi GPUs (~400er Serie) und neuren unterstützt. Besuchen Sie diese Seite für mehr Details.