Kernel mode setting (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale.pngCet article ou section a besoin d'être traduit(e).Tango-preferences-desktop-locale.png

Notes: Cet article ne respecte pas la structure de sa version anglophone, merci de le réécrire en conséquence. Vous pouvez aussi ajouter à la version anglophone les informations à-jour et dignes d’intérêt qui ne seraient portées que par la version francophone. Voir Archwiki:Translation_Team_(Français) (Discuss in Talk:Kernel mode setting (Français)#)
Note: Le pilote propriétaire Nvidia driver prends en charge KMS sans passer par l'implémentation du noyau et ne possède pas de pilote fbdev (pour les hautes résolutions dans la console virtuelle).

Arrière plan

Il était auparavant de la responsabilité du serveur X de gérer les paramètres de la carte graphique. A cause de cela, il n'était pas facile d'accéder à certaines fonctions de l'affichage depuis les consoles virtuelles. Aussi, chaque basculement entre X et une console virtuelle (Ctrl+Alt+F2) était lent et produisait un vacillement de l'image car le serveur devait redonner le contrôle au noyau. Et ce "lourd" processus se répétait dans le sens inverse.

Avec Le Kernel Mode Setting (KMS) le noyau peut désormais définir le mode de fonctionnement de la carte graphique. Cela autorise des capacités graphiques supérieures durant le démarrage et dans les consoles virtuelles ainsi qu'un basculement rapide entre X et les tty's.

Installation

Sachez premièrement que pour n'importe laquelle des méthodes vous devez toujours désactiver les options de démarrage suivantes:

  • n'importe quelle option vga= de votre chargeur d'amorçage étant donné que cela entrerait en conflit avec la résolution native de votre matériel.
  • n'importe quelle ligne video= qui active un framebuffer qui entre en conflit avec le pilote.
  • n'importe quel autre pilote de framebuffer (tel uvesafb).

Démarrage KMS tardif

Les pilotes Intel, Nouveau, ATI et AMDGPU activent KMS automatiquement pour tous les chipsets. Aucune action n'est donc nécessaire.

Le pilote propriétaire Nvidia prends en charge KMS depuis la version 364.12, mais ceci doit être manuellement activé.

Démarrage KMS précoce

KMS est normalement initialisé durant le processus de boot par udev, Cependant il est possible de l'activer dès l'étape de l'initramfs. Pour cela, ajoutez le module requis pour votre carte graphique au champs MODULES de votre fichier /etc/mkinitcpio.conf:

  • amdgpu pour le AMDGPU
  • radeon pour le pilote (legacy) ATI.
  • i915 pour Intel Graphics.
  • nouveau pour Nouveau (pilote open source Nvidia).
  • Suivant l'utilisation de QEMU: virtio-gpu pour VirtIO, qxl pour QXL, ou cirrus pour Cirrus.

Par exemple pour activer le démarrage précoce pour les gpu Intel:

/etc/mkinitcpio.conf
MODULES=(... i915 ...)
Note: Les possesseur de cartes Intel devront parfois ajouter intel_agp avant i915 pour supprimer les erreurs ACPI. Ce peut être nécessaire pour sortir d'une mise-en-veille après un changement de résolution.
Astuce: Si vous utilisez un fichier EDID personnalisé, vous devez l'inclure également.:
/etc/mkinitcpio.conf
FILES=(/usr/lib/firmware/edid/your_edid.bin)

Il ne reste plus qu'à régénérer l'initramfs:

mkinitcpio -p linux   #linux-lts

Désactiver KMS

Si pour une quelconque raison, vous souhaitez désactiver KMS (un écran noir, une erreur "pas de signal", le pilote catalyst, etc.), ajoutez nomodeset aux paramètres de démarrage de votre noyau. Voir la documentation du chargeur d'amorçage en place sur votre système pour savoir comment réaliser cela.

En plus du paramètre nomodeset,vous devez ajouter:

  • i915.modeset=0 pour les chipsets Intel
  • nouveau.modeset=0 pour les cartes graphiques Nvidia
  • Pour les Nvidia Optimus dual-graphics, vous devez les ajouter tous les trois (c_à_d "nomodeset i915.modeset=0 nouveau.modeset=0").
Note: Certains pilotes Xorg ne fonctionnent pas si KMS est désactivé. Voir les pages individuelles de ces différents pilotes.