NVidia
Aus Gentoo Linux Wiki
| Laptops • Motherboards • Servers • Eingabegeräte • RAID Controller • TV Karten • Wireless • Andere Hardware • Andere Architekturen • alphabetischer Hardware Index |
|
Dieser Artikel behandelt die Installation der nVidia-Grafikkarten-Treiber und die Einrichtung. Eine bestehende Xorg Installation wird vorrausgesetzt.
Inhaltsverzeichnis |
[Bearbeiten] Installation
Hat man xorg-server mit VIDEO_CARDS="nvidia" installiert, so sind die als stabil markierten Treiber schon installiert. Überprüfen kann man dies mit emerge -av x11-drivers/nvidia-drivers.
Für aktuelle Karten sind die neuesten Treiber empfehlenswert:
| Code: unstable nvidia-drivers |
echo x11-drivers/nvidia-drivers >> /etc/portage/package.keywords emerge -av x11-drivers/nvidia-drivers |
Abhängig von der Karte braucht man eventuell ältere Treiber, bitte dazu die Liste der Legacy Treiber aufrufen.
Braucht man einen 1.0-71xx-Treiber, sind folgende Schritte notwendig:
| Code: 1.0-71xx nvidia-drivers |
echo ">=x11-drivers/nvidia-drivers-72" >> /etc/portage/package.mask emerge -av x11-drivers/nvidia-drivers |
Braucht man einen 1.0-96xx-Treiber, sind folgende Schritte notwendig:
| Code: unstable nvidia-drivers |
echo ">=x11-drivers/nvidia-drivers-97" >> /etc/portage/package.mask emerge -av x11-drivers/nvidia-drivers |
Nach jedem Kernelupdate müssen die Treiber neu installiert werden. Dabei hilfreich ist sys-kernel/module-rebuild.
[Bearbeiten] Tools
Empfohlen wird nvidia-settings, sind die neuesten Treiber installiert, so installiert man das Tool mit:
| Code: unstable nvidia-settings |
echo media-video/nvidia-settings >> /etc/portage/package.keywords emerge -av media-video/nvidia-settings |
Hinweis:
- Ab x11-drivers/nvidia-drivers-100.14.09 ist nvidia-settings integriert, braucht also nicht extra zu installieren. In diesem Falle sollte nvidia-settings vorher deinstalliert werden.
- Ab Version 100.14.11 wird nvidia-settings wieder seperat installiert, wenn USE=gtk gesetzt ist, wird es als Abhängigkeit automatisch mit installiert.
Um die 3D-Beschleunigung zu testen ist x11-apps/mesa-progs mit seinen Tools glxinfo und glxgears hilfreich.
[Bearbeiten] Konfiguration
[Bearbeiten] Kernel
Folgendes muss aktiviert sein:
| Linux Kernel Configuration: Kernel Konfiguration |
Loadable Module Support ---> [*] Enable Loadable Module Support Processor Type and Features ---> [*] MTRR (Memory Type Range Register) Support |
Eventuell wird Kernel-agppart Treiber benötigt. Siehe auch der Abschnitt 3D Beschleunigung.
| Linux Kernel Configuration: Kernel Konfiguration |
Device Drivers ---> Character devices ---> <M> /dev/agpgart (AGP Support) |
Folgendes muss deaktiviert sein, ansonsten gibt es Probleme mit dem Treiber:
| Linux Kernel Configuration: Kernel Konfiguration |
Device Drivers ---> Graphics Support ---> < > nVidia Framebuffer Support < > nVidia Riva support |
[Bearbeiten] Xorg.conf
In der Sektion Module sollten die Zeilen Load "dri" und Load "GLCore" entfernt werden und die Zeile Load "glx" hinzugefügt. Die Sektion Device (siehe auch Xorg Konfiguration sollte so aussehen:
Section "Device" Identifier "Nvidia" Driver "nvidia" Option "NVAgp" "3" Option "RenderAccel" "true" Option "Coolbits" "1" Option "AllowGLXWithComposite" "true" Option "TripleBuffer" "true" Option "NoLogo" "1" Option "DPMS" "true" EndSection
Eine Übersicht über die Optionen:
- Option "NVAgp" "3"
Nutzt AGPPART, wenn nicht möglich dann Nvidias AGP-Treiber. Siehe Abschnitt 3D Beschleunigung.
- Option "RenderAccel" "true"
Aktiviert Render-Beschleunigung, sollte gesetzt sein.
- Option "Coolbits" "1"
Wird bei neueren nvidia-Grafikkarten zum Übertakten gebraucht, übertakten lassen sich die Grafikkarten mit nvidia-settings
- Option "AllowGLXWithComposite" "true"
Benötigt für Xorg und echte Transparenz sowie dem 3D-Desktop.
- Option "TripleBuffer" "true"
Schaltet TripleBuffer ein. Vorteilhaft bei 3D-Desktop.
- Option "NoLogo" "1"'
Schaltet das nvidia-Logo aus, welches beim Xorg-Start angezeigt wird.
- Option "DPMS" "TRUE"
Erlaubt die Nutzung von DPMS.
Für Optionen zur Nutzung des TwinView-Modus siehe Abschnitt twinview. Eine Übersicht über alle Versionen liefert die bzless /usr/share/doc/nvidia-drivers-<ver>/README.bz2
[Bearbeiten] 3D Beschleunigung
Im Gegensatz zu dem quelloffenen Nvidia-Treiber nv von Xorg kann man mit dem offiziellen Treibern die 3D-Möglichkeiten der Grafikkarte ausnutzen.
[Bearbeiten] Kernel
Es gibt zwei Möglichkeiten, einmal über den AGPpart-Treiber des Kernels oder der nvidia-drivers. Um den Kernel-Treiber zu benutzen:
| Linux Kernel Configuration: Kernel Konfiguration |
Device Drivers ---> Character devices ---> <M> /dev/agpgart (AGP Support) |
Nun noch den zum verbauten Chipsatz passenden Treiber aktivieren. Bei Systemen mit einem Athlon 64 oder Opteron muss jedoch folgendes aktiviert werden:
| Linux Kernel Configuration: Kernel Konfiguration |
Device Drivers ---> Character devices ---> <M> /dev/agpgart (AGP Support) <M> AMD Opteron/Athlon64 on-CPU GART support |
Noch ein echo amd64_agp >> /etc/modules.autoload.d/kernel-2.6 und AGP-Support sollte auch unter AMD64-Systemen kein Problem sein.
[Bearbeiten] Xorg
In der xorg.conf unter der Sektion Device stellt man mit Option "NvAGP" den zu nutzenden Treiber ein:
| Code: Option "NvAGP" "integer" |
Wert Verhalten
-------------- ---------------------------------------------------
0 deaktiviert AGP
1 nutzt wenn möglich NVIDIAs internnen AGP-Support
2 nutzt wenn möglich AGPGART
3 erst wird AGPGART versucht, dann NVIDIAs AGP
|
Unter Umständen muss zur Nutzung des Nvidia AGP-Treiber der AGP Support im Kernel deaktiviert werden.
[Bearbeiten] Rechte
Um als User die 3D Beschleunigung nutzen zu können, muss man der Gruppe Video angehörig sein:
gpasswd -a <username> video
[Bearbeiten] Abschluss
Abschließend noch ein eselect opengl set nvidia ausführen.
Mit einem glxinfo lässt sich überprüfen, ob die Beschleunigung aktiv ist, es sollte dastehen:
direct rendering: Yes
[Bearbeiten] FastWrites und SBA
Man sollte zuerst sicherstellen, dass FastWrites und SBA (Side Band Addressing) vom Mainboard unterstützt werden und im BIOS eingeschaltet worden sind.
Danach überprüft man, ob FastWrites und SBA aktiv sind:
| Code: cat /proc/driver/nvidia/agp/status |
Status: Enabled Driver: NVIDIA AGP Rate: 8x Fast Writes: Disabled SBA: Disabled |
Zunächst sollte überprüft werden ob die Grafikkarte Fastwrites & SBA unterstützt:
| Code: cat /proc/driver/nvidia/agp/card |
Fast Writes: Supported SBA: Supported AGP Rates: 8x 4x |
Wenn FastWrites & SBA unterstützt wird, erweitert man die Datei /etc/modules.d/nvidia um folgende Option:
| Code: /etc/modules.d/nvidia |
options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1 |
Nun beendet man Xorg und entlädt das nvidia-Modul (die Funktion muss in den Kernel einkompiliert sein). Nachdem Xorg und das Modul nvidia neu gestartet wurden überprüfen wir nochmal den Status. Ansonsten ist ein Reboot erforderlich
| Code: cat /proc/driver/nvidia/agp/status |
Status: Enabled Driver: NVIDIA AGP Rate: 8x Fast Writes: Enabled SBA: Enabled |
[Bearbeiten] twinview
nVidias Treiber bringt Unterstützung für zwei Monitore mit. Dazu erweitert man die Sektion Device in der /etc/X11/xorg.conf um folgende Optionen:
| Datei: /etc/X11/xorg.conf |
Section "Device"
[...]
Option "TwinView" "true"
Option "TwinViewOrientation" "RightOf"
Option "SecondMonitorHorizSync" "30-87.5"
Option "SecondMonitorVertRefresh" "50-160"
Option "MetaModes" "CRT-0: 1600x1200_75 +0+0, CRT-1: 1600x1200_70 +1600+0; CRT-0: 1600x1200_75 +0+0, CRT-1: NULL;"
EndSection
|
Die Option metamodes kann man sich einfach mit nvidia-settings unter dem Punkt X Server Display Configuration erstellen. Wenn man es manuell machen möchte, hier die Syntax:
CRT-0: 1600x1200_75 +0+0, CRT-1: 1600x1200_70 +1600+0;
- CRT-0: - erster Monitor.
- 1600x1200_75 - Auflösung von 1600x1200 bei 75 Hz
- +0+0 - Bild beginnt bei x=0, y=0
- , - es folgt der nächste Monitor
- CRT-1: - zweiter Monitor.
- 1600x1200_70 - Auflösung von 1600x1200 bei 70 Hz
- +1600+0 - Bild beginnt bei x=1600, y=0
- ; - Schließt Konfiguration für diesen Metamod ab.
CRT-0: 1600x1200_75 +0+0, CRT-1: NULL;
Wie zuvor nur, dass der zweite Monitor mittels NULL deaktiviert bleibt.
Hinweis:
- Bei TFT oder LCD Monitoren statt CRT (Cathode Ray Tube) das Kürzel DFP (Digital Flat Panel) verwenden.
xrandr zeigt dann die Auflösungen wie folgt an:
| Code: xrandr |
Screen 0: minimum 1024 x 768, current 3200 x 1200, maximum 3200 x 1200 default connected 3200x1200+0+0 0mm x 0mm 3200x1200 50.0* 1600x1200 51.0 |
Es sollte USE="xinerama" gesetzt sein, damit Fenster nicht auf beide Bildschirme maximieren. Beachte, dass trotz gesetzten USE="xinerama" Fenster auf beide Bildschirme maximieren, wenn Twinview nicht fest in der xorg.conf konfiguriert wurde sondern temporär per nvidia-settings aktiviert wurde.
Ein emerge -avuDN world ist nach Setzen des Useflags empfehlenswert.
[Bearbeiten] GL-Desktop-Effekte
Als Besitzer einer aktuellen nVidia-Grafikkarte braucht man sich nicht XGL zu installieren. Es reicht, wenn folgendes in die /etc/X11/xorg.conf eingetragen ist:
| Datei: /etc/X11/xorg.conf |
Section "Device"
Option "AddARGBGLXVisuals" "true"
EndSection
Section "Extensions"
Option "Composite" "enable"
EndSection
|
Notiz: Es gibt noch einen Bug in den nVidia-Treibern, der bei aktivierten 3D-Desktop den Fensterinhalt einschwärzen kann. Dagegen hilft, wenn man die Option Copy für den Renderpfad setzt, im beryl-manager geschieht das unter Erweitere Optionen für Beryl -> Renderpfad -> Copy
Um nun einen 3D-Desktop nutzen zu können, muss man sich Beryl oder Compiz installieren.
[Bearbeiten] Siehe auch
- bzless /usr/share/doc/nvidia-drivers-<ver>/README.bz2

