Mise à jour : Debian 11.1
Les logiciels "framebuffer" utilisent la mémoire tampon (framebuffer) de la carte d'affichage pour afficher des images ou des vidéos, prendre des copies d'écran, naviguer en graphique sur internet, ... Bien que leurs performances soient limitées, ils ont l'avantage de proposer des fonctions graphiques sans avoir à recourir à X window.
Comme indiqué dans Affichage console , le mode KMS qui permet d'afficher le framebuffer avec la résolution native de l'écran est désormais la règle avec les processeurs intel et amd.
Le framebuffer est mis en place pendant le démarrage du système
$ dmesg |grep -i frame
[ 0.013353] Security Framework initialized
[ 3.534860] Console: switching to colour frame buffer device 200x56
[ 3.547625] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
Il a, par défaut, pour désignation /dev/fb0 :
$ ls /dev/fb*
/dev/fb0
et ses caractéristiques sont données par
$ fbset -i
mode "1600x900"
geometry 1600 900 1600 900 32
timings 0 0 0 0 0 0 0
accel true
rgba 8/16,8/8,8/0,0/0
endmode
Frame buffer device information:
Name : inteldrmfb
Address : 0xb0065000
Size : 5763072
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 0
LineLength : 6400
Accelerator : No
Le framebuffer ne doit-être utilisé qu'en console vraie (terminaux tty1 à tty6) et il est préférable que X windows soit arrêté.
$ dd if=/dev/urandom of=/dev/fb0 bs=1M count=1 # Note : Ne pas remplir plus que l'écran pour éviter les messages d'erreur et un blocage éventuel de l'affichage.
$ cp /dev/fb0 image_brute
$ cp image_brute /dev/fb0
fbi (framebuffer image) permet d'afficher des images à partir d'un grand nombre de formats, soit seul soit avec l'aide d'imagemagick si le paquet est présent.
$ sudo aptitude install fbi imagemagick
Lorsque l'image est affichée, des commandes permettent de modifier le zoom, faire défiler les images, etc... Exemples d'utilisation :
$ fbi /usr/share/images/desktop-base/joy-grub.png # Affichage avec résolution native
$ fbi /usr/share/images/desktop-base/joy-grub.png # Affichage avec mise à l'échelle automatique
$ fbi /usr/share/images/desktop-base/* # Affichage des images du répertoire - défilement manuel
$ fbi -t 2 /usr/share/images/desktop-base/* # Affichage des images du répertoire - défilement automatique 2 secondes
Taper h pour faire apparaître l'écran d'aide :
$ sudo aptitude install fbcat
$ fbgrab test.png # capture d'écran de l'interface tty courante
$ fbgrab -c 2 test # capture d'écran de l'interface tty2 sans affichage préalable
$ fbgrab -C 2 test # basculement de l'affichage sur tty1 puis capture d'écran de l'interface tty2 après quelques secondes
$ fbgrab -s N test # capture d'écran de l'interface courante après N secondes d'attente
$ sudo aptitude install fbterm
Lancement et vérification du type de terminal
$ fbterm
$ tty
/dev/pts/0
links2 est un navigateur console avec possibilité d'affichage d'images. Les déplacements sur la page s'effectuent avec des raccourcis claviers ou à la souris.
$ sudo aptitude install links2 gpm
Utilisation
$ links2 -g https://google.com
Taper sur Esc pour faire apparaître la barre de menus. Voir ci-dessous, une copie d'écran :
$ sudo aptitude install vlc-bin vlc-plugin-base
Affichage d'un fichier vidéo : Le film pris en exemple est téléchargeable sur le site : https://download.blender.org/peach/bigbuckbunny_movies
$ cvlc --fbdev /dev/fb0 big_buck_bunny.org
$ nvlc --fbdev /dev/fb0 big_buck_bunny.org
Le film s'affiche : utiliser les touches de commande :
s basculement vers l'interface ncurse - h pour aide - barre d'espace pour reprendre le film
m supprimer / autoriser le son
a augmente le son
z diminue le son
barre espace suspendre / lire
q ou esc Quitter
Affichage d'un dvd
$ nvlc dvd://
Touches de navigation ??
$ cvlc v4l:///dev/video0
mplayer dispose de fonctions équivalentes.
Les raccourcis clavier pour
quitter q
suspendre / redémarrer barre espace
couper / remettre le son m
diminuer / augmenter le son / et *
Affichage d'un fichier vidéo :
$ mplayer -vo fbdev big_buck_bunny.mp4
Affichage d'un dvd
Affichage de la plage numéro 5
$ mplayer dvd://5
$ mplayer tv:// -tv driver=v4l2