Ceci est une ancienne révision du document !



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 (accessibles avec Ctrl+Alt+F1 à F6, avec Ctrl+Alt+F7 pour revenir en mode graphique) en une résolution supérieure à 640x480 (c'est appréciable quand on les utilise).

Il suffit d'éditer le fichier /etc/default/grub

Repérez la ligne suivante:

GRUB_CMDLINE_LINUX_DEFAULT="quiet "

Modifiez la en:

GRUB_CMDLINE_LINUX_DEFAULT="quiet gfxpayload=800x600x16"

Bien sûr cette ligne est à adapter suivant le résolution voulue, et le x16 représente le nombres de bits des couleurs que vous pouvez remplacer par x8 ou x32 suivant vos besoins.

Et ensuite il faudra mettre à jour grub en tapant dans un terminal:

sudo update-grub

Activation du « framebuffer »

Pour activer le framebuffer, il faut passer en paramètre au noyau un paramètre vga=7?? (ou vga=0x3??) à l'amorçage de Linux.

Le 7?? est une valeur spécifique dépendant de la résolution de l'écran et du nombre de couleurs demandés. Quelques exemples parmi les plus courants :

Couleurs 640×480 800×600 1024×768 1280×1024
8 bits 769 771 773 775
15 bits 784 787 790 793
16 bits 785 788 791 794
32 bits 786 789 792 795

Vous pouvez également trouver d'autres exemples de modes ici.

Vous pouvez identifier les modes supportés par votre carte graphique avec l'utilitaire hwinfo ; installez le paquet hwinfo puis :

sudo hwinfo --framebuffer

Les codes hexadécimaux peuvent être utilisés à la place des codes décimaux (0x318 pour 792 par exemple).

Où rentrer le paramètre ?

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 ».

Et sur la version installée ?

Avec Grub 1

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 le fichier /boot/grub/menu.lst avec les droits d'administration.

Il faut alors rajouter le paramètre à la fin de la ligne « kernel ».

On passe alors 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

Une bonne idée supplémentaire est de laisser les sections contenant dans leur titre « Recovery mode » tel quel (donc ne pas y ajouter l'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.

Éventuellement, les mettre directement dans « defoptions » :

# defoptions=quiet splash vga=792

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

Il faudra recharger grub :

sudo update-grub

Ainsi, même à l'installation d'un nouveau noyau, le paramètre sera gardé, et même mieux : appliqué au nouveau noyau !

En espérant avoir été assez complet.

Avec Grub 2

Il est possible, depuis Jaunty, d'installer Grub 2. La configuration est légèrement différente.

Il faut éditer le fichier /etc/default/grub dans lequel il faut ajouter l'option à la ligne (pour une resolution de 800x600 par exemple)

GRUB_CMDLINE_LINUX_DEFAULT=800x600

Et ensuite il faudra recharger grub :

sudo update-grub

Modules blacklistés

Étant donné que les modules FrameBuffer sont blacklistés par défaut sous Gutsy/Hardy/Intrepid, il y a de fortes chances 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 :

Il faut d'abord éditer le fichier /etc/modprobe.d/blacklist-framebuffer.conf et commenter (en rajoutant un # au début) la ligne :

blacklist vesafb

Puis rajouter les modules vesafb et fbcon (un par ligne) dans le fichier /etc/initramfs-tools/modules. Et on met à jour avec 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 (point précédent) 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

Voir également la page « problèmes USplash ».


Contributeurs : adam0509, k-o-x.

  • tutoriel/comment_activer_le_framebuffer.1299616538.txt.gz
  • Dernière modification: Le 18/04/2011, 14:50
  • (modification externe)