Juste pour préciser comment fonctionne l’affichage dans la séquence de boot, du BIOS jusqu’au bureau (peut être que ce que je décris n’est pas exact à 100% mais l’idée est là ; merci de corriger si nécessaire) :
-
le BIOS charge une résolution de base, très pourrie (à mon avis la plus basse qu’il trouve) ;
-
GRUB se lance avec la résolution du BIOS, puis utilise immédiatement les interruptions du BIOS pour activer la résolution définie dans le fichier de configuration de GRUB, ce qui permet à n’importe quelle carte graphique de charger une haute résolution sans driver spécifique. Alors pourquoi ne pas s’arrêter là ? Car seule la résolution est éventuellement gérée par le BIOS, mais le port HDMI, la sortie TV, l’accélération 3D et tout le reste ne peuvent pas être gérés par le BIOS, d’où la nécessité d’utiliser un driver ;
puis, dans le cas d’un driver DKMS :
3a) le kernel se lance et revient à la résolution de base toute pourrie (à moins qu’on puisse passer une option au kernel pour lui indiquer qu’on souhaite une résolution plus haute ? j’imagine que c’est faisable), puis charge le driver DKMS qui va être capable de prendre en charge toutes les résolutions de la carte graphique (puisque le driver a été conçu spécifiquement pour la carte graphique), et affiche une résolution plutôt pas mal. J’imagine que là encore on doit pouvoir dire au driver DKMS quelle résolution on souhaite ;
4a) [là j’ai un doute] le serveur X se lance et conserve la résolution du driver DKMS, mais la remplace pour les applications graphiques s’il trouve une résolution définie dans le “xorg.conf”. On se retrouve alors dans “gdm”, “kdm” ou n’importe quel autre gestionnaire de session avec la résolution du “xorg.conf”, et la console des TTY1 à TTY6 a la résolution définie lors du chargement du driver DKMS. On peut donc gérer plusieurs résolutions sur différents TTY mais avec un seul et même driver, ce qui permet de basculer d’une résolution à une autre très rapidement ;
5a) le bureau conserve la résolution qu’on avait lors de l’invite de login (logique puisque le bureau tourne sous X), à moins qu’un logiciel supplémentaire (comme “Xinerama” je crois) ne vienne préciser au driver qu’il faut charger une autre résolution.
et dans le cas d’un driver non DKMS [j’ai un doute également] :
3b) le kernel se lance et revient à la résolution de base toute pourrie et la conserve. En effet les résolutions sont gérées à ce stade par les interruptions du BIOS ;
4b) le serveur X se lance, charge le pilote défini dans le “xorg.conf”, puis charge la résolution définie dans “xorg.conf” via le pilote. On se retrouve donc avec un système texte qui gère l’affichage par interruptions du BIOS (dans la console des TTY1 à TTY6) et un système graphique qui gère l’affichage par le pilote spécifique à la carte graphique. C’est pour cette raison que de basculer du mode graphique au mode texte est long lorsqu’on n’a pas de driver DKMS ;
5b) le bureau conserve la résolution du serveur X (à moins qu’une application ne vienne changer cela).
Voilà, il me semble que c’est ça.