Nouveau

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Nouveau and the translation is 76% complete.

nouveau est le pilote libre pour les cartes graphiques d'NVIDIA. Il est maintenu sous la coupe du projet FreeDesktop.

Limitations

Étant un projet open source basé sur ce qui est largement du matériel propriétaire, il y a quelques limitations inhérentes à Nouveau qui ne sont pas applicables au modèle de source-fermé du paquet nvidia-drivers. Cela dit, Nouveau est constamment en évolution, de ce fait ces limitations sont sujets à modification dans le temps.

Celles et ceux intéressés pour utiliser ce pilote doivent vérifier que le support à bien été ajouté pour leur cartes (et ses fonctionnalités) en vérifiant sur l'index de référence dans la matrice des fonctionnalités listés. En amont (NdT: l'upstream du projet, en anglais) il y a aussi la liste des noms de code des cartes pour croiser les références depuis la matrice des fonctionnalités.

Installation

Noyau

Activer les options suivantes du noyau :

KERNEL Activer nouveau
Device Drivers  --->
   Graphics support  --->
      <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
      [*] Enable legacy fbdev support for your modesetting driver
      <M/*> Nouveau (NVIDIA) cards

Micrologiciel (NdT: Firmware)

Depuis la série Kepler (GeForce 600 et supérieur), certaines cartes peuvent avoir besoin de charger le micrologiciel à l'amorçage du système pour fonctionner correctement. Il est recommandé de compiler le micrologiciel nécessaire dans le noyau. C'est la méthode par défaut pour les systèmes fonctionnant sous le système d'initialisation SystemD. Voir l'article Linux firmware pour plus d'informations sur la compilation des micrologiciels dans le noyau.

Voir la liste des noms de code en amont du projet pour déterminer quel micrologiciel est nécessaire.

Le micrologiciel pour les cartes (NdT: compatibles avec) nouveau sont disponibles dans le paquet sys-firmware/nvidia-firmware. Il faut s'assurer qu'il a été installé avant de définir le micrologiciel dans le noyau.

root #emerge --ask sys-firmware/nvidia-firmware

Pilote

FILE /etc/portage/make.confParamétrer VIDEO_CARDS pour nouveau
VIDEO_CARDS="... nouveau ..."

Après avoir paramétré ou altérer la valeur de VIDEO_CARDS se rappeler de mettre à jour le système en utilisant la commande suivante pour que les changement prennent effet :

root #emerge --ask --changed-use --deep @world

Udev

Si le pilote propriétaire d'NVidia a été installé, un fichier de règles pour udev a été ajouté dans /lib/udev/rules.d/99-nvidia.rules. Lorsque le pilote nouveau tente d'être utilisé sans que ce fichier de règle ait été désactivé, le journal d'X11 sera rempli avec des blocs de messages qui se répètent comme ceux-ci toutes les 10ms :

FILE /var/log/Xorg.0.logSortie des règles d'udev obsolètes pour le pilote nvidia-drivers
 [   180.669] (II) NOUVEAU(0): EDID vendor "SAM", prod id 430
 [   180.669] (II) NOUVEAU(0): Using hsync ranges from config file
 [   180.669] (II) NOUVEAU(0): Using vrefresh ranges from config file
 [   180.669] (II) NOUVEAU(0): Printing DDC gathered Modelines:
 [   180.669] (II) NOUVEAU(0): Modeline "1600x1200"x0.0  162.00  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync (75.0 kHz eP)
 [   180.669] (II) NOUVEAU(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
 [   180.669] (II) NOUVEAU(0): Modeline "800x600"x0.0   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync (35.2 kHz e)
 [...]
 [   180.669] (II) NOUVEAU(0): Modeline "1152x864"x0.0  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
 [   180.669] (II) NOUVEAU(0): Modeline "1280x1024"x0.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
 [   180.669] (II) NOUVEAU(0): Modeline "1280x960"x0.0  108.00  1280 1376 1488 1800  960 961 964 1000 +hsync +vsync (60.0 kHz e)
 [   180.669] removing GPU device /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card2 /dev/dri/card2

Afin de prévenir cela (sans ré-installer le paquet x11-drivers/nvidia-drivers), simplement supprimer/déplacer/renommer le fichier udev /lib/udev/rules.d/99-nvidia.rules pour qu'il ne soit plus pris en compte par udev (voir Configuration avancée d'udev). Il est a noter que la prochaine fois que nvidia-drivers sera mis à jour, ce fichier sera ré-installé, du coup supprimer ce paquet est à considérer.

Configuration

Permissions

If the acl USE flag is enabled globally and elogind is being used (default for desktop profiles) permissions to video cards will be handled automatically. It is possible to check the permissions using getfacl:

user $getfacl /dev/dri/card0 | grep larry
user:larry:rw-

A broader solution is to add the user(s) needing access the video card to the video group:

root #gpasswd -a larry video

Note that users will be able to run X without permission to the DRI subsystem, but hardware acceleration will be disabled.

xorg.conf

Le serveur X (X server) est conçu pour fonctionner immédiatement, sans avoir besoin de manuellement éditer les fichiers de configurations de X.org. Il devrait détecter et configurer les périphériques comme les écrans, clavier et souris.

Cependant, le fichier principale de configuration du serveur X se trouve dans le fichier xorg.conf.

Basculer entre une carte graphique Intel et Nouveau

Parfois les utilisateurs peuvent avoir envie de basculer entre les deux pilotes. Une façon est de passer par initramfs et le paramétrage des modes du noyau en amont.

Par exemple, si initramfs est compilé en usant dracut et que nouveau est à utiliser, les ajustements suivants doivent être réalisés :

FILE /etc/dracut.conf
#add_drivers+=" i915 " # Noter les espaces avant et après
add_drivers+=" nouveau " # Noter les espaces avant et après
#force_drivers+=" i915 " # Noter les espaces avant et après
force_drivers+=" nouveau " # Noter les espaces avant et après

En utilisant GRUB pour paramétrer les modes du noyau, la variable GRUB_CMDLINE_LINUX_DEFAULT dans /etc/default/grub peut être changé pour activer ou désactiver une carte graphique ou l'autre en prenant les bonnes valeurs.

Pour l'exemple, pour désactiver i915 et activer nouveau, nous ajouterons le contenu suivant : i915.modeset=0 nouveau.modeset=1.

Limitations

Certains des problèmes courant ou inconvénients comparé au pilote propriétaire du paquet x11-drivers/nvidia-drivers sont listés ci-dessous :

  • Performance (especially 3D performance) on the same card/chipset may be significantly worse than using nvidia-drivers.
  • Attempts to run at higher refresh rates (i.e. above 60 Hz) may fail.
  • Using advanced features from various NVIDIA cards (e.g. multiple-display capabilities of Quadro cards without SLI) may not function correctly.


Troubleshooting

Multi-monitor problems

When the screen freezes often with possible EDID probes while using dual monitors/displays, try adding video=VGA-1:e or video=VGA-1:d (enable or disable respectively) to the GRUB_CMDLINE_LINUX_DEFAULT variable in the /etc/default/grub file for GRUB or the respective kernel command-line option for other loaders. Make sure to substitute the name of the monitor listed within dmesg or /var/log/Xorg.0.log (i.e. CRT-1, VGA-1, LVDS-1, DVI-1, ...)

For instance, on a Dell Inspiron 8100 laptop with a connected external display connected via the laptop's external VGA port, a possible command line is: video=LVDS-1:1280x1024@60 video=VGA-1:1280x1024@60. The EDID (DRM) probe on the external VGA connected display is still causing freezing during nouveau/DRM load for the author, but at least it's usable if the display is connected after GRUB is loaded and prior to the nouveau/DRM modules loading. And with the prior mentioned command line LVDS/VGA resolutions, the displays are cloned and centred with somewhat correct resolutions for cloned displays.

NVIDIA Optimus

When using a laptop with NVIDIA's Optimus technology (usually found in laptops built in 2010 and later), everything will be passed through the integrated graphics controller (usually Intel) before it gets to the discrete video card (NVIDIA), which can cause a lot of otherwise unexplained problems when enabled. There are a few ways to handle this, but the simplest is to disable Optimus through the BIOS (normally accessed by pressing F12 during boot). This will result in increased power consumption (decreased battery life, increased running temperature), as the NVIDIA card will now be handling all of the work all of the time.

See also

External resources