Zum Inhalt springen

Nvidia: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(62 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
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.
{{hinweis|Dieser Artikel behandelt die offiziellen offenen Nvidia-Kernelmodule. Für den Open-Source-Treiber siehe [[Nouveau]], für Laptops mit kombiniertem Intel/Nvidia-Chipsatz siehe [[:en:NVIDIA_Optimus|NVIDIA Optimus]].}}
==Freien open source Treiber nouveau==
[[Bild:nVidia-display-driver_01.png|thumb|320px|''Nvidia X Server Settings'' zeigt unter [[X]] die X-Server-Informationen an.]]
=== Installation ===
pacman -S xf86-video-nouveau nouveau-dri
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 ===
Für Nvidia-Grafikkarten werden offizielle offene Kernelmodule bereitgestellt, mit denen es möglich ist, auch unter Linux die volle Leistungsfähigkeit und den kompletten Funktionssatz von Nvidia-Grafikkarten zu verwenden.


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.
== Installation ==
Um mögliche Auflösungen sowie genutzte Anschlussnamen anzuzeigen folgenden Befehl nutzen
Je nachdem, wie das System konfiguriert ist, und welche Hardware verbaut ist, werden unterschiedliche Treiberpakete benötigt.
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
Sofern man sich unsicher ist, welche Grafikkarte genau verbaut ist, kann dies relativ einfach herausfinden. Im Beispiel ist eine GTX 1080 verbaut, es wird also ein AUR-Paket mit Legacy-Treibern benötigt.
  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==
{{hc|1=lspci -k {{!}} grep VGA|2=01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)}}
[[Bild:nVidia-display-driver_01.png|thumb|320px|nVidia X Server Settings]]


===Installation===
Anhand der Ausgabe kann man nun das passende Treiberpaket auswählen:
Der Treiber wird mittels
pacman -S nvidia
installiert.


{| class="wikitable sortable"
|-
! GPU-Familie
! Treiber
|-
| [https://nouveau.freedesktop.org/CodeNames.html#NV160 Turing (NV160/TUXXX)] und neuere
| {{paket|nvidia-open}} für {{paket|linux}}, {{paket|nvidia-open-lts}} für {{paket|linux-lts}}, {{paket|nvidia-open-dkms}} für alle Kernel
|-
| [https://nouveau.freedesktop.org/CodeNames.html#NV110 Maxwell (NV110/GMXXX)] bis [https://nouveau.freedesktop.org/CodeNames.html#NV190 Ada Lovelace (NV190/ADXXX)]
| {{AUR|nvidia-580xx-dkms}}
|-
| [https://nouveau.freedesktop.org/CodeNames.html#NVE0 Kepler (NVE0/GKXXX)]
| {{AUR|nvidia-470xx-dkms}}
|-
| [https://nouveau.freedesktop.org/CodeNames.html#NVC0 Fermi (NVC0/GF1XX)]
| {{AUR|nvidia-390xx-dkms}}
|-
| [https://nouveau.freedesktop.org/CodeNames.html#NV50 Tesla (NV50/G80-90-GT2XX)]
| {{AUR|nvidia-340xx-dkms}}
|-
| [https://nouveau.freedesktop.org/CodeNames.html#NV40 Curie (NV40/G70)] und älter
| Nicht länger unterstützt
|}


Für Karten GeForce FX Reihe:
Nach der installation des Treibers sollte ein Neustart erfolgen, damit die entsprechenden Module ordnungsgemäß geladen werden können.
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]
== Eigener Kernel ==
Sollte man einen eigenen Kernel benutzen, so kann man mittels [[:en:Dynamic Kernel Module Support|DKMS]]. das Treiberupdate automatisieren.


===Konfiguration===
Hierzu wird das Paket {{paket|nvidia-open-dkms}} benötigt. Das Nvidia-Modul wird nach jedem Nvidia- oder Kernel-Update automatisch mittels entsprechendem [[Pacman]]-Hook neu erstellt.
'''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.
== Hardwarebeschleunigte Video-Decodierung ==
Beschleunigte Video-Decodierung mit VDPAU wird von Karten der GeForce 8 Serie und neueren Karten unterstützt. Beschleunigte Video-Decodierung mit NVDEC wird von Fermi-GPUs (400er-Serie) und neueren unterstützt. Der englische Wiki-Artikel [[:en:Hardware video acceleration|Hardware video acceleration]] stellt weitere Informationen bereit.


Die Treiberpakete enthalten ein Tool, mit dem bei Bedarf eine ''/etc/X11/xorg.conf'' angelegt bzw. automatisch angepasst werden kann.
== Weblinks ==
nvidia-xconfig
* [https://forums.developer.nvidia.com/c/gpu-graphics/linux/148 Nvidia-Entwicklerforum rund um die Linux-Treiber] {{sprache|en}}


====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===
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 Homeverzeichniss
xrandr --setprovideroutputsource Intel NVIDIA-0
xrandr --auto
==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]]
[[en:NVIDIA]]
[[Kategorie:Grafiktreiber]]

Aktuelle Version vom 29. Dezember 2025, 02:40 Uhr

Hinweis: Dieser Artikel behandelt die offiziellen offenen Nvidia-Kernelmodule. Für den Open-Source-Treiber siehe Nouveau, für Laptops mit kombiniertem Intel/Nvidia-Chipsatz siehe NVIDIA Optimus.

Nvidia X Server Settings zeigt unter X die X-Server-Informationen an.

Für Nvidia-Grafikkarten werden offizielle offene Kernelmodule bereitgestellt, mit denen es möglich ist, auch unter Linux die volle Leistungsfähigkeit und den kompletten Funktionssatz von Nvidia-Grafikkarten zu verwenden.

Installation

Je nachdem, wie das System konfiguriert ist, und welche Hardware verbaut ist, werden unterschiedliche Treiberpakete benötigt.

Sofern man sich unsicher ist, welche Grafikkarte genau verbaut ist, kann dies relativ einfach herausfinden. Im Beispiel ist eine GTX 1080 verbaut, es wird also ein AUR-Paket mit Legacy-Treibern benötigt.

lspci -k | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)

Anhand der Ausgabe kann man nun das passende Treiberpaket auswählen:

GPU-Familie Treiber
Turing (NV160/TUXXX) und neuere nvidia-open für linux, nvidia-open-lts für linux-lts, nvidia-open-dkms für alle Kernel
Maxwell (NV110/GMXXX) bis Ada Lovelace (NV190/ADXXX) nvidia-580xx-dkmsAUR
Kepler (NVE0/GKXXX) nvidia-470xx-dkmsAUR
Fermi (NVC0/GF1XX) nvidia-390xx-dkmsAUR
Tesla (NV50/G80-90-GT2XX) nvidia-340xx-dkmsAUR
Curie (NV40/G70) und älter Nicht länger unterstützt

Nach der installation des Treibers sollte ein Neustart erfolgen, damit die entsprechenden Module ordnungsgemäß geladen werden können.

Eigener Kernel

Sollte man einen eigenen Kernel benutzen, so kann man mittels DKMS. das Treiberupdate automatisieren.

Hierzu wird das Paket nvidia-open-dkms benötigt. Das Nvidia-Modul wird nach jedem Nvidia- oder Kernel-Update automatisch mittels entsprechendem Pacman-Hook neu erstellt.

Hardwarebeschleunigte Video-Decodierung

Beschleunigte Video-Decodierung mit VDPAU wird von Karten der GeForce 8 Serie und neueren Karten unterstützt. Beschleunigte Video-Decodierung mit NVDEC wird von Fermi-GPUs (400er-Serie) und neueren unterstützt. Der englische Wiki-Artikel Hardware video acceleration stellt weitere Informationen bereit.