Il display ha una porta HDMI, quindi il collegamento è immediato. Al boot tuttavia compare un bordo nero per cui l'immagine di Xorg non utilizza l'intero schermo. Da xrandr -q risulta infatti attiva una risoluzione di 1184×624 contro una risoluzione nativa di 1280×720.
Nel file /boot/config.txt si abilita la riga che è commentata per default:
disable_overscan=1
Volendo è possibile forzare la risoluzione con le opzioni:
framebuffer_width=1280 framebuffer_height=800
Queste impostazioni si riflettono sulle opzioni che vengono passate come parametri al kernel, è sufficiente vedere il contenuto di /proc/cmdline e vedere ad esempio bcm2708_fb.fbwidth=1280 bcm2708_fb.fbheight=800.
In genere i fornitori di display LCD per Raspberry forniscono una propria immagine del sistema operativo con il supporto LCD già abilitato. Chi volesse attivare il display su una installazione standard può seguire questi appunti. Il test è stato fatto su Raspberry Pi 3 con Raspbian Jessie e LCD Kuman 3.5“ 480×320 RGB TFT.
Il software necessario si clona da GitHub:
https://github.com/goodtft/LCD-show
C'è la procedura di installazione automatica LCD-show/LCD35-show specifica per il display 3.5”, che però è inutile e approssimativa. I passaggi necessari sono:
/etc/X11/xorg.conf.d
. Rinominare con estensione .conf.fbcon=map:10 fbcon=font:ProFont6x11
.dtoverlay=tft35a
.Al riavvio si ottengono tre terminali virtuali su HDMI e tre su LCD, più una console X.org su HDMI:
È possibile passare da una console testuale all'altra con la consueta combinazione Alt-Fn, oppure Ctrl-Alt-Fn per uscire dalla console X.org.
Verificare che siano disponibili due framebuffer device: /dev/fb0 e /dev/fb1, il primo è diretto verso il monitor HDMI, il secondo verso il display LCD.
: Come controllare i vari tty? Come far partire X.org su LCD invece che HDMI (viene ignorato il file 99-fbturbo.conf che è stato messo)?
Prima di aggiustare l'overscan è opportuno controllare che il display sia usato alla risoluzione nativa. Per verificare le impostazioni correnti e le caratteristiche del display utilizzare xrandrd e tvservice:
tvservice --status state 0x12000a [HDMI CEA (16) RGB lim 16:9], 1920x1080 @ 60.00Hz, progressive
Nel file /boot/config.txt è possibile aggiustare l'overscan. In questo esempio sono stati ridotti i bordi neri impostando dei valori negativi:
#disable_overscan=1 overscan_left=-10 overscan_right=-10 overscan_top=-22 overscan_bottom=-22