Prova questo formato per fbset:
fbset -fb /dev/fb0 -g 1920 1200 1920 1200 16
E controlla che stai davvero guardando fb0 e non fb1:
fbset -fb /dev/fb0
Ricontrolla ciò che è stato effettivamente impostato:
cat /sys/class/graphics/fb0/mode
Prova anche a eseguire fbi con (di nuovo, per assicurarti di utilizzare fb0):
fbi -d /dev/fb0 image.png
Puoi anche forzare le tue impostazioni in fb0 facendo:
echo U:1920x1200p-0 > /sys/class/graphics/fb0/mode
Tecnicamente, questo è ciò che fbset sta facendo comunque. Mi sto solo assicurando che fb1 non stia rovinando le cose.
Infine, assicurati che la tua console utilizzi fb0. Ne sono sicuro.
con2fbmap 1
Potresti anche voler riavviare, quindi controlla qual è la tua impostazione:
cat /proc/cmdline
Se non è 1920x1200, aggiorna a 1920x200. Penso che si trovi in /boot/cmdline.txt per raspberry pi. Per me è /boot/uEnv.txt.
Ho una risposta in due parti che fa miracoli su Raspberry Pi.
Innanzitutto, il Pi ha il concetto di overscan, ovvero un bordo nero aggiunto attorno all'intero schermo per farlo rientrare nel "tubo" dei televisori più vecchi. E sì, è necessario anche su alcuni moderni televisori a schermo piatto che emulano quella funzione. Se il tuo bordo nero è attorno a tutte le risoluzioni dello schermo, cambialo. Il modo più semplice è attraverso sudo raspi-config
. Le opzioni e il layout variano nelle diverse versioni di raspi-config
ma potresti iniziare guardando nel Advanced Options
menu per Overscan
. Se l'overscan è il tuo problema, ma desideri un controllo più accurato sulla dimensione del bordo nero, allora c'è un modo per regolarlo con precisione in /boot/config.txt. Non ne parlerò qui, ed è facile cercare come modificare quel file.
Se questo non è il tuo problema e stai cercando una risoluzione migliore che puoi impostare per la tua TV/monitor, allora puoi anche usare raspi-config
per selezionare tra tutte le risoluzioni dello schermo valide. Sono nello stesso Advanced Options
menu come era overscan.
Se devi controllare e impostare la risoluzione in modo programmatico, allora lo strumento di riferimento è tvservice
. Non esiste una pagina man per il programma, ma eseguirlo senza argomenti fornisce qualche aiuto. Ci sono capacità molto interessanti che vanno ben oltre quanto fbset
può fare.
Alcuni brevi esempi:
$ 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
Puoi vedere quali modalità supporta la TV e, per essere completo, dovresti cercare sia i gruppi DMT che CEA per catturare tutto. Le modalità DMT sono più in sintonia con i monitor dei computer piuttosto che con i televisori.
Quindi il tuo programma può selezionare da quell'elenco e utilizzare tvservice -e
per impostare una di queste modalità.