Contenu | Rechercher | Menus


Comment activer le « framebuffer » ?

Le framebuffer est un système qui va permettre à Linux de passer dans une résolution supérieure au classique VGA en mode texte. Il envoie alors directement les images en haute résolution à la carte graphique.

L'intérêt est d'avoir les consoles tty1 à tty6 1) en une résolution supérieure à 640x480 (c'est appréciable quand on les utilise).
De plus, la majorité des écrans possédant une résolution dite native, il serait dommage de ne pas en profiter ! ;-)

Choix de la résolution

Pour activer le framebuffer, il faut indiquer à l'amorceur du noyau un paramètre correspondant à la résolution de l'écran et du nombre de couleurs souhaitées. Jusqu'à Lucid il fallait indiquer cette valeur2) sous forme décimale ou héxadécimale.

Pour identifier les modes supportés par votre carte graphique, installez le paquet hwinfo puis saisissez dans un terminal la commande suivante:

sudo hwinfo --framebuffer

Quelques exemples parmi les plus courants :

Définition Affichage 8 bits Affichage 16 bits Affichage 24 bits
Taille Nom Ratio décimal hexa. décimal hexa. décimal hexa.
1280 × 1024 SXGA 1.25 775 0x307 794 0x31A 795 0x31B
640 × 480 VGA 1.33 769 0x301 785 0x311 786 0x312
800 × 600 SVGA 1.33 771 0x303 788 0x314 789 0x315
1024 × 768 XGA 1.33 773 0x305 791 0x317 792 0x318
1152 × 864 XGA+ 1.33 353 ?0x161 355 ?0x163 356 ? 0x164
1400 × 1050 SXGA+ 1.33 839 ? 0x347 ? 834 0x342 835 0x343
1600 × 1200 UXGA 1.33 796 0x31C 798 0x31E 799 0x31F
2048 × 1536 QXGA 1.33 ? ? ? ? 850 ? 0x352 ?
640 × 400 ? 1.60 ? ? 829 0x33D 830 0x33E
1280 × 800 WXGA 1.60 867 0x363 868 0x364 869 0x365
1440 × 900 WXGA+ 1.60 864 0x360 866 0x362 867 0x363
1680 × 1050 WSXGA+1.60 872 ? 0x368 ? ? ? 873 0x369
1920 × 1200 WUXGA 1.60 892 ? 0x37c ? ? ? 893 ? 0x37d ?
1280 × 720 WXGA 1.77 ? ? ? ? ? 0x037b

Une page plus complète sur les codes VESA est disponible ici (en).

Activation du « framebuffer »

Laissez les sections contenant dans leur titre « Recovery mode » tel quel (donc ne pas y ajouter d'option). Ces entrées étant à utiliser en cas de problème, il serait dommage de les bloquer en cas de problème avec le framebuffer.

Live CD

FIXME ⇐9.10 mais maintenant ?
Pour la version Live ou le CD d'installation, sur la ligne « boot : », au lieu d'appuyer directement sur « Entrée », entrer le nom du noyau à utiliser (accessible par F3) suivi du paramètre.
Par exemple pour la version Live :

Boot : live vga=791

Attention au clavier alors configuré en QWERTY, pour taper un « A » il faut alors appuyer sur la touche « Q ».

Avec Grub Legacy

Grub (le sélecteur de système d'exploitation) vous proposera un mode d'édition à l'amorçage (touche « E »), qui vous permettra de tester ponctuellement un réglage (pratique pour voir si ça fonctionne).
Sinon il vous faudra éditer avec les droits d'administration le fichier /boot/grub/menu.lst pour indiquer le paramètre à la fin de la ligne « kernel ».
On passe par exemple de :

kernel          /boot/vmlinuz-2.6.12-10-386 root=/dev/hda8 ro quiet splash

à

kernel          /boot/vmlinuz-2.6.12-10-386 root=/dev/hda8 ro quiet splash vga=791

Si vous souhaitez que cette valeur soit appliquées systématiquement à chaque nouveau noyau, indiquez alors la valeur uniquement à la ligne « defoptions »

# defoptions=quiet splash vga=792

Puis mettez à jour grub en saisissant dans un terminal la commande suivante:

 
sudo update-grub

Il est possible d'avoir un amorçage graphique affichant la console en supprimant l'entrée splash dans les options de boot.

Avec Grub-PC

Si aucune des tentatives ne semblent fonctionner, essayée celles données sur la page « Plymouth »

Ubuntu 10.10 et Ultérieures

Editez avec les droits d'administration le fichier /etc/default/grub afin d'ajouter les deux lignes suivantes en précisant bien la résolution désirée au paramètre GRUB_GFXPAYLOAD_LINUX (valeur à adapter selon la résolution souhaitée ;-) ):

GRUB_GFXPAYLOAD=keep
GRUB_GFXPAYLOAD_LINUX=1680x1050

Puis mettez à jour GRUB2 en saisissant dans un terminal la commande suivante:

 
sudo update-grub

Ubuntu 10.04 et antérieures

Il suffit d'éditer avec les droits administration le fichier /etc/default/grub pour ajouter à la ligne:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

le paramètre vga (valeur à adapter selon la résolution souhaitée ;-) )

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=788"

Vous pouvez également indiquer directement la résolution à la page par exemple pour une résolution de 800x600:

GRUB_CMDLINE_LINUX_DEFAULT=800x600

Puis mettez à jour GRUB2 en saisissant dans un terminal la commande suivante:

 
sudo update-grub

Écran noir

Modules blacklistés

Il peut arriver que les modules FrameBuffer soient blacklistés par défaut. Dans ce cas, il y est possible que vous vous retrouviez avec un écran noir si vous n'utilisez pas le mode par défaut. Voici un moyen de résoudre le problème :
FIXME: Besoin de passer par recovery_mode ?

  1. Editez avec les droits d'administration le fichier /etc/modprobe.d/blacklist-framebuffer.conf et commentez (en rajoutant un # au début) la ligne :
blacklist vesafb
  1. Ajoutez les modules vesafb et fbcon (un par ligne) dans le fichier /etc/initramfs-tools/modules.
  2. Mettez à jour le noyau en saisissant la commande
sudo update-initramfs -k all -u

Enfin, il faut rajouter le module vesafb dans le fichier /etc/modules. Et voilà (merci à ksso0s pour cette solution !)

USplash toujours absent

Si enlever les modules du framebuffer des modules blacklistés ne suffit pas à faire revenir votre écran de splash, réglez les paramètres d'USplash dans le fichier /etc/usplash.conf de manière à ce que la résolution d'USplash corresponde à la résolution de votre framebuffer. Ainsi si vous avez mis le paramètre vga=792, votre fichier /etc/usplash.conf devra ressembler à ça :

# Usplash configuration file
  xres=1024
  yres=768

Contributeurs : Lokx, adam0509, k-o-x et les contributeurs d'Ubuntu-fr.

1) accessibles avec Ctrl+Alt+F1 à F6, Ctrl+Alt+F7 étant pour revenir au mode graphique
2) appelée code VESA


Le contenu de ce wiki est sous licence : CC BY-SA v3.0