LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


archlinux:nvidia

Installer et configurer une carte NVIDIA

Bases

Vérifications

Pour en installer une il vous faut :

  • une carte nvidia 8-)
  • 20 minutes
  • xorg (le serveur graphique)

Pour que tout se passe bien, passez en init 3

telinit 3

Installation des pilotes (non libres)

Ensuite installez les drivers :

Si vous avez une carte récente : (>geforce2)

pacman -S nvidia

Note : sous avez un kernel autre que le kernel de base, installez le paquet correspondant c'est à dire nvidia-ck nvidia-beyond …
Note2 : si vous avez un kernel custom que vous avez fait avec vos ptits doigs agiles installez le pkg de wain se trouvant sur le repo archlinuxfr :

pacman -S nvidia-driver

Et rajoutez “nvidia” dans votre liste de DAEMONS du fichier /etc/rc.conf

Si vous avez une ancienne carte :

pacman -S nvidia-legacy

Note : sous avez un kernel autre que le kernel de base, installez le paquet correspondant c'est à dire nvidia-legacy-ck nvidia-legacy-beyond …

Configuration de xorg

Si votre fichier n'est pas encore là :

pacman -S hwd
hwd -u
hwd -xa

Editez la section keyboard pour avoir les bonnes valeurs dans :

        Option "XkbLayout" "fr"
        Option "XkbVariant" ""

A l'aide de votre éditeur préféré, éditez le fichier /etc/X11/xorg.conf comme suit :

# This loads the GLX module
   Load       "glx"
# This loads the DRI module 
#    Load       "dri"
...
Section "Device"
    Identifier  "Card0"
    Driver      "nvidia"
EndSection
...
#Section "DRI"
# Mode 0666
#EndSection

Vérifions que ça fonctionne en chargant le module nvidia : Si vous utilisez les drivers nvidia / nvidia-legacy (les paquets officiels arch)

modprobe nvidia

Si vous utilisez nvidia-driver

/etc/rc.d/nvidia start

Puis on lance xorg :

startx

Si il y'a un erreur du genre : xterm/xclock not found installez le paquet xorg-client

Configuration avancée

Support de Beryl

Beryl nécessite le support du rendu "GLX_texture_from_pixmap", désormais inclus dans le driver nvidia.
Pour l'activer, ajoutez ces deux options:

Section "Device"
  Driver "nvidia"
  [...]
  Option "TripleBuffer" "True"
  Option "AddARGBGLXVisuals"
EndSection

[...]

Section "Extensions"
  Option "Composite" "Enable"
EndSection

FastWrite / SBA

Bon maintenant faisons cracher ses tripes à la carte vidéo LOL

Vérifications

Votre carte supporte-t-elle une de ces 2 options ou les 2 ?
ATTENTION : cela ne fonctionne qu'avec des Geforces et pas toutes

cat /proc/driver/nvidia/agp/card
Fast Writes: 	 Supported
SBA: 		 Supported
AGP Rates: 	 8x 4x 
Registers: 	 0x1f000e1b:0x1f004312

Cette commande vous permet de voir quels options sont supportées
Si aucune passez votre chemin :-/

Activations des options supportées

Editez votre fichier /etc/modprobe.conf

alias char-major-195 nvidia
alias /dev/nvidiactl char-major-195
options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1

Note : Evidemment si le FastWrite n'est pas supporté : NVreg_EnableAGPFW=0 et si le SBA n'est pas supporté : NVreg_EnableAGPSBA=0 n' essayez pas de forcer ça fonctionnera pas !

Editez maintenant le fichier /etc/X11/xorg.conf comme suit :

Section "Device"
    Identifier  "Card0"
    Driver      "nvidia"
    BusID       "PCI:01:00:0"                  #lspci pour savoir
    VideoRam    262144                         #taille de la ram (non obligatoire)
    Option      "RenderAccel" "true"           #pour l'extention composite
    Option      "NoLogo"      "1"              #"0" pas de logo au lancement de X
    Option      "AllowGLXWithComposite" "True" #permet d'avoir l'extention composite + GLX
    Option      "backingstore" "true"
    Option      "DPMS"                         #gestion d'énergie
    Option      "NvAGP" "3"                    #vitesse du bus AGP
EndSection

Pour les options AGP voir : http://download.nvidia.com/XFree86/Linux-x86/1.0-9626/README/appendix-f.html

  Option "NvAgp" "0"  ... disables AGP support
  Option "NvAgp" "1"  ... use NVAGP, if possible
  Option "NvAgp" "2"  ... use AGPGART, if possible
  Option "NvAGP" "3"  ... try AGPGART; if that fails, try NVAGP

A la fin de votre /etc/X11/xorg.conf, rajoutez :

Section "Extensions"
   Option "Composite" "Enable"
   Option "RENDER" "Enable"
   Option "DAMAGE" "Enable"
EndSection

ça marche (tm) ?

Pour savoir : Pour une carte AGP

cat /proc/driver/nvidia/agp/status

Pour une PCI-Express

cat /proc/driver/nvidia/registry 

la sortie doit ressembler à ça :

Status:          Enabled
Driver:          AGPGART
AGP Rate:        8x
Fast Writes:     Enabled
SBA:             Enabled

On voit que l'AGP est passé à 8x et le FastWrite / Side Band Addressing sont activés !!

Variables d'environnement

Vous pouvez controlez le rendu de votre carte avec les variables d'environnements :

export __GL_FSAA_MODE=1
export __GL_LOG_MAX_ANISO=2
export __GL_SYNC_TO_VBLANK=1

Vous pouvez mettre ces codes dans votre .xinitrc / /etc/profile …

La liste complète des variables ici : http://download.nvidia.com/XFree86/Linux-x86/1.0-9626/README/appendix-e.html

Overclock

Et si on veux griller du pinguin, on peux même activé l'overclock !
/!\ A effectuer a vos risques et périls ! Toutes cartes mortes du a une surchauffe de composants ne sera pas remboursée !
En vrai vous ne craignez pas grand chose si vous êtes prudent =)
Il faut rajouter une option Coolbits dans votre /etc/X11/xorg.conf

Section "Device"
    Identifier  "Card0"
    Driver      "nvidia"
    [...]
    Option     "Coolbits"      "1"

Il suffit ensuite de relancer votre X (ctrl +alt +backspace) Lorsque vous lancerez nvidia-settings (dans les menus ou en console), un nouvel onglet “overclock” devrait apparaitre, et vous pourrez augmenter les frequences de la RAM et du GPU de carte graphique (un outils de test est integré). Vous pouvez sans mal augmenter de quelques Mhz, et ensuite passer à une periode de tests ;)

Bi-écran powered

Tiens j'ai 2 sorties sur ma carte qui roxe déjà sa race … (marche même quand y'a une sortie VGA et une DVI ! merci aux transciever DVI/VGA) Sous nvidia c'est facile d'avoir 2 écrans en même temps, il suffit d'éditer /etc/X11/xorg.conf comme suit :

Section "Device"
    Identifier  "Card0"
    Driver      "nvidia"
    ...
    #Option bi-écran
    Option "TwinView"
    Option "SecondMonitorHorizSync"   "40-80"  #Raffraichissement horizontal du second moniteur
    Option "SecondMonitorVertRefresh" "50-60"  #Raffraichissement vertical du second moniteur
    Option "TwinViewOrientation"      "RightOf" #Emplacement du second moniteur
    Option "MetaModes"                "1600x1200,1280x1024;1024x768,NULL;1280x1024,NULL;800x600,NULL;1600x1200,NULL" #Différents modes
    Option "ConnectedMonitor"         "CRT-0, CRT-1" #Types de moniteurs connectés
EndSection

Explications:

Option “TwinView” : obligatoire sinon ça fonctionnera pas
Option “SecondMonitorHorizSync” Fréquence de rafraichissement horizontal de votre second moniteur ( mettez des fréquences compatibles … )
Option “SecondMonitorVertRefresh” Fréquence de rafraichissement vertical de votre second moniteur ( mettez des fréquences compatibles aussi… )
Option “TwinViewOrientation” Où se trouve le 2ème moniteur par rapport au moniteur principal ?

  • Liste à puce
  • RightOf ( à droite )
  • LeftOf ( à gauche )
  • Above ( au dessus )
  • Below ( en dessous )
  • Clone ( Affichage identique sur les 2 )

Option “MetaModes” Modes graphiques, exemple:

  • “1600×1200,1280×1024;” ⇒ Ecran 1 en 1600×1200, Ecran 2 en 1280×1024
  • “1024×768,NULL;” ⇒ modes pour l'OpenGl plein écran sinon vos jeux seront sur les 2 écran en même temps !!!

Option “ConnectedMonitor” déficnition des types de moniteur connectés

  • CRT-X = Ecran cathodique
  • DFP-X = Ecran Plat

Toutes les options twinview : http://download.nvidia.com/XFree86/Linux-x86/1.0-9626/README/appendix-g.html

Et voilà vous relancez votre serveur X (Ctrl+Alt+Backspace)

Liens

archlinux/nvidia.txt · Dernière modification: 2018/11/17 12:52 (modification externe)