Essayez ce format pour fbset :
fbset -fb /dev/fb0 -g 1920 1200 1920 1200 16
Et vérifiez que vous regardez bien fb0 et non fb1 :
fbset -fb /dev/fb0
Revérifiez ce qui a été réellement défini :
cat /sys/class/graphics/fb0/mode
Essayez également d'exécuter fbi avec (encore une fois, pour vous assurer que vous utilisez fb0) :
fbi -d /dev/fb0 image.png
Vous pouvez également forcer vos paramètres dans le fb0 en faisant :
echo U:1920x1200p-0 > /sys/class/graphics/fb0/mode
Techniquement, c'est ce que fbset fait de toute façon. S'assurer juste que fb1 ne gâche pas les choses.
Enfin, assurez-vous que votre console utilise fb0. J'en suis sûr.
con2fbmap 1
Vous voudrez peut-être également redémarrer, alors vérifiez quel est votre paramètre :
cat /proc/cmdline
Si ce n'est pas 1920x1200, mettez à jour vers 1920x200. Je pense qu'il se trouve dans /boot/cmdline.txt pour raspberry pi. Pour moi c'est /boot/uEnv.txt.
J'ai une réponse en deux parties qui fonctionne à merveille sur Raspberry Pi.
Premièrement, le Pi a le concept de surbalayage, qui est une bordure noire ajoutée autour de tout l'écran pour le faire tomber dans le « tube » des téléviseurs plus anciens. Et oui, il est également nécessaire sur certains téléviseurs à écran plat modernes qui émulent cette fonction. Si votre bordure noire entoure toutes les résolutions d'écran, modifiez-la. Le moyen le plus simple est de passer par sudo raspi-config
. Les options et la mise en page varient selon les différentes versions de raspi-config
mais vous pouvez commencer par regarder dans le Advanced Options
menu pour Overscan
. Si le surbalayage est votre problème, mais que vous souhaitez un contrôle plus précis de la taille de la bordure noire, il existe un moyen de l'affiner dans /boot/config.txt. Je n'entrerai pas dans les détails ici, et il est facile de chercher comment modifier ce fichier.
Si ce n'est pas votre problème et que vous recherchez une meilleure résolution que vous pouvez définir pour votre téléviseur/moniteur, vous pouvez également utiliser raspi-config
pour sélectionner parmi toutes les résolutions d'écran valides. Ils sont dans le même Advanced Options
menu tel qu'il était surbalayé.
Si vous devez vérifier et définir la résolution par programmation, l'outil de référence pour cela est tvservice
. Il n'y a pas de page de manuel pour le programme, mais l'exécuter sans arguments fournit une aide. Il existe des fonctionnalités très intéressantes qui vont bien au-delà de ce que fbset
peut faire.
Quelques brefs exemples :
$ sudo tvservice --status
state 0x120009 [HDMI CEA (16) RGB lim 16:9], 1920x1080 @ 60.00Hz, progressive
$
$ sudo tvservice --modes=CEA
Group CEA has 11 modes:
mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive
mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive
mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive
mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive
(prefer) mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive
mode 17: 720x576 @ 50Hz 4:3, clock:27MHz progressive
mode 18: 720x576 @ 50Hz 16:9, clock:27MHz progressive
mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive
mode 31: 1920x1080 @ 50Hz 16:9, clock:148MHz progressive
mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive
mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive
Vous pouvez voir les modes pris en charge par le téléviseur et, pour être complet, vous devez rechercher à la fois les groupes DMT et CEA pour tout capter. Les modes DMT sont plus adaptés aux écrans d'ordinateur qu'aux téléviseurs.
Ensuite, votre programme peut sélectionner dans cette liste et utiliser tvservice -e
pour définir l'un de ces modes.