Unfreie Grafiktreiber für NVIDIA
Getestet: Dieser Hinweis soll dir dabei helfen, zu entscheiden, ob dieser Artikel auf deinem System funktionieren wird oder nicht. Solltest du feststellen, dass dieser Artikel bei einer ungetestet Version funktioniert, kannst du das gerne hier korrigieren oder im Forum anmerken.
|
Nvidia ist der proprietäre Treiber von NVIDIA selbst. Er bietet volle 3D-Unterstützung und uneingeschränkte Möglichkeiten beim Konfigurieren von Setups mit mehreren Monitoren und sogar TV-out.
Die Installation umfasst im wesentlichen 3 Schritte:
- Kompilieren bzw. installieren des Kernel Moduls
- Installieren des Xorg-Treiber
- Konfiguration der /etc/X11/xorg.conf
Diese drei Schritte sind je nach Installationsart verschieden zu bewerkstelligen. Für die Installation selbst gibt es einmal die Möglichkeit, vorgefertigte Debian Pakete aus den Debian non-free Quellen zu installieren. Oder man nutzt direkt den Treiber von nvidia.de.
Nvidia Installer oder Debian Quellen
Jede Variante hat seine Vor- und Nachteile. Jedoch wird es sehr empfohlen die Installation über die Debian Quellen zu erledigen.
Treiber aus den Debian Quellen
- Die Installation erfolgt als Debian Pakete, kann also auch ohne Probleme wieder rückgängig werden.
- Updates werden direkt über die Debian Paket Verwaltung installiert.
- Die Debian Paket sind in der Regel länger getestet und als stabil befunden. Außerdem wird sichergestellt, dass innerhalb eines Releases alle Versionen zueinander passen.
- Installation ist einfacher
- Brandneue Hardware wird möglicherweise nicht unterstützt
- Bekannte Bugs in dem geschlossenen Treiber
Treiber von nvidia.com:
- meist neuere Version als aus den offiziellen Debian Quellen, dadurch wird neuere Hardware möglicherweise besser/überhaupt unterstützt.
- Bugs älterer Versionen meist gefixt
- Der Installer kann abstürzen, wenn der nouveau-Treiber aktiv/installiert ist
Ermittlung des passenden Treibers
In den unfreien Quellen gibt es ein Programm zur Ermittlungen des richtigen Treibers. Dieses Programm heißt nvidia-detect und kann mit folgendem Befehl installiert werden:
root@debian:~# apt-get install nvidia-detect
user@debian:~$ nvidia-detect
Ausgabebeispiel 1:
Detected NVIDIA GPUs: 02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GT 630] [10de:0f00] (rev a1) Your card is supported by the default drivers. It is recommended to install the nvidia-glx package.
Ausgabebeispiel 2:
Detected NVIDIA GPUs: 00:10.0 VGA compatible controller [0300]: NVIDIA Corporation C73 [GeForce 7050 / nForce 610i] [10de:07e3] (rev a2) Your card is only supported up to the 304 legacy drivers series. It is recommended to install the nvidia-legacy-304xx-driver package.
Ausgabebeispiel 3:
Detected NVIDIA GPUs: 02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT216 [GeForce GT 220] [10de:0a20] (rev a2) Your card is supported by the default drivers and legacy driver series 304. It is recommended to install the nvidia-driver package.
Ausgabebeispiel 4:
Detected NVIDIA GPUs: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:13b2] (rev a2) Uh oh. Your card is not supported by any driver version up to 304.131. A newer driver may add support for your card. Newer driver releases may be available in backports.
Installation unter Lenny
Um den nvidia-Treiber aus den Debian Quellen installieren zu können, muss die /etc/apt/sources.list um die `contrib` und `non-free` Quellen erweitert werden.
Für Lenny gibt es zwei Treiber. Das ist der Treiber in Version 173.14.09. Im Handbuch sind die unterstützten Karten aufgelistet. Und es gibt den Legacy-Treiber in Version 96.43.07, welcher üblicherweise ältere, vom Erstgenannten nicht mehr unterstützte Karten unterstützt. Das Handbuch gibt es für diese Version nur in Plain-Text Form, die unterstützen Karten sind im Appendix A aufgelistet.
Wird ein Standardkernel von Lenny verwendet, kann das bauen des Kernel Modules übersprungen werden. Es liegt bereits fertig in den offiziellen Quellen von Debian.
Wird statt dessen ein anderen Kernel benutzt, z.B. aus den Backports, so muss man mit module-assistant (Kurzform m-a) das Modul für den laufenden Kernel gebaut und installiert werden. Zuerst müssen aber folgende Debian Pakete installiert werden: build-essential, module-assistant, nvidia-kernel-source.
Danach wird folgendes als root ausgeführt:
root@debian:~# m-a prepare
root@debian:~# m-a a-i nvidia
Nun kann man die Pakete für den Treiber und ein paar Hilfsprogramme installieren:
nvidia-glx nvidia-xconfig nvidia-settings
Jetzt wird mit Hilfe des Tools nvidia-xconfig die /etc/X11/xorg.conf bearbeitet, was den Treiber aktiviert:
root@debian:~# nvidia-xconfig
Abschließend wird der Xserver neu gestartet.
Die Installation der Legacy-Treiber verläuft völlig analog, nur das statt nvidia-glx, nvidia-glx-legacy-96xx und statt nvidia-kernel, nvidia-kernel-legacy-96xx geschrieben wird.
Hinweis: Wird die amd64 Architektur benutzt und es soll mit Hilfe von wine Windows Spiele, oder andere Programme, die 3D-Unterstützung benötigen und nur in 32-Bit vorliegen, ausgeführt werden, so wird zusätzlich nvidia-glx-ia32 benötigt! |
Installation unter Wheezy, Squeeze und Sid
Um den nvidia-Treiber aus den Debian Quellen installieren zu können, muss die /etc/apt/sources.list um die `contrib` und `non-free` Quellen erweitert werden.
Wie auch in Lenny gibt es zwei Versionen, das ist zum einen der Treiber mit Version 195.36.24. Im Handbuch des Treiber kann nachgelesen werden, welche Karten unterstützt werden. Und zum anderen der Legacy Treiber in Version 173.14.25. Ebenfalls kann im Handbuch nachgelesen werden, welche Karten unterstützt werden.
Mit Squeeze wird eine neue Technik zum Bauen der Kernelmodule eingeführt: dkms. Dieses Programm kümmert sich selbständig bei Kernelupdates um den Bau der entsprechenden Module. DKMS ist nicht auf den nvidia-Treiber beschränkt.
Warnung: Bitte darauf achten, dass die passenden Linux-Headers installiert sind. |
root@debian:~# apt-get install linux-headers-`uname -r`
Die Installation gestaltet sich recht einfach. Zunächst müssen alle benötigten Pakete installiert werden:
nvidia-kernel-dkms, nvidia-glx, build-essential, nvidia-settings, nvidia-xconfig.
root@debian:~# apt-get install nvidia-kernel-dkms nvidia-glx build-essential nvidia-settings nvidia-xconfig
bzw. folgende Pakete für den Legacy Treiber: nvidia-kernel-legacy-173xx-dkms, nvidia-glx-legacy-173xx, build-essential, nvidia-settings, nvidia-xconfig.
root@debian:~# apt-get install nvidia-kernel-legacy-173xx-dkms nvidia-glx-legacy-173xx build-essential nvidia-settings nvidia-xconfig
Wer eine noch ältere Grafikkarte besitzt muss folgende Pakete installieren: nvidia-kernel-legacy-96xx-dkms, nvidia-glx-legacy-96xx, build-essential, nvidia-settings, nvidia-xconfig.
root@debian:~# apt-get install nvidia-kernel-legacy-96xx-dkms nvidia-glx-legacy-96xx build-essential nvidia-settings nvidia-xconfig
Jetzt wird mit Hilfe des Tools nvidia-xconfig die /etc/X11/xorg.conf bearbeitet, was den Treiber aktiviert:
root@debian:~# nvidia-xconfig -o /etc/X11/xorg.conf
Nach dem abschliesenden Neustart läuft nun alles.
Hinweis: Wird die amd64 Architektur benutzt und es soll mit Hilfe von wine Windows Spiele, oder andere Programme, die 3D-Unterstützung benötigen und nur in 32-Bit vorliegen, ausgeführt werden, so wird zusätzlich nvidia-glx-ia32 benötigt! |
Hinweis: Debian Jessie Wird die amd64 Architektur benutzt und es soll mit Hilfe von wine Windows Spiele, oder andere Programme, die 3D-Unterstützung benötigen und nur in 32-Bit vorliegen, ausgeführt werden, so sollte man die kompatibilitäts bibliothek libgl1-nvidia-glx installieren, diese zieht dann noch wietere Pakete als abhängigkeit nach apt-get erledigt dies selbsständig. Multiarch muss natürlich vorher aktiviert werden.
root@debian:~# apt-get install libgl1-nvidia-glx:i386
|
VDPAU
Mit VDPAU wird die Videodekodierung über die Grafikkarte ermöglicht, sodass die CPU dieses nicht mehr erledigen muss. Insbesondere bei schwachen CPUs macht dies die Wiedergabe von hochauflösenden Videos erst möglich. Voraussetzungen für VDPAU sind ein wie im vorigen Abschnitt beschriebener Nvidia-Treiber, ein Videoplayer mit VDPAU-Unterstützung und natürlich eine kompatible Grafikkarte. Außer den 8800er Modellen können dies alle Modelle ab Geforce 8x00, man erkennt die Grafikkarten am Werbeschriftzug "PureVideoHD".
An Paketen muss installiert werden: nvidia-vdpau-driver, vdpau-va-driver und bei 32bit-Programmen auf 64bit-Systemen noch zusätzlich nvidia-vdpau-driver-ia32 und lib32vdpau1.
# apt-get install nvidia-vdpau-driver vdpau-va-driver
und gegebenenfalls
# apt-get install nvidia-vdpau-driver-ia32 lib32vdpau1
Auf meinem System zeigte mplayer aus squeeze augenscheinlich Unterstützung für VDPAU, stürzte dann jedoch ab. VLC in Squeeze hat keine Unterstützung für VDPAU. Ich empfehle an der Stelle debian-multimedia.org für mplayer und/oder vlc >= 1.1.9 aus testing oder sid. TODO: mplayer testen! Bei VLC muss in den Einstellungen unter "Input und Codec" die (experimentelle) GPU-Beschleunigung aktiviert werden, damit aktiviert VLC automatisch VDPAU.