Kernel mode setting (Français)
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, oucirrus
pour Cirrus.
Par exemple pour activer le démarrage précoce pour les gpu Intel:
/etc/mkinitcpio.conf
MODULES=(... i915 ...)
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./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"
).