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

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

La majorité des écrans possède une résolution dite native, il est grandement recommandé de l'utiliser !

Par défaut, à l'installation, Ubuntu n'a pas mis à jour GRUB2 et le FRAMEBUFFER avec les caractéristiques spécifiques de votre matériel. Ceci n'est pas critique en soi, d'autant que tout a été fait pour que cela puisse être facilement réalisé manuellement.

Changer la résolution du FRAMEBUFFER

Pour configurer le FRAMEBUFFER, on utilise maintenant GFXPAYLOAD plutôt que vga=xxx.

Editez 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:

GRUB_GFXPAYLOAD=1680x1050
GRUB_GFXPAYLOAD_LINUX=keep
  • Mise à jour de GRUB2 :
    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 !)


Contributeurs : adam0509, k-o-x.

  • tutoriel/comment_activer_le_framebuffer.txt
  • Dernière modification: Le 28/12/2017, 14:01
  • (modification externe)