This is an old revision of the document!
Table of Contents
Display LCD su Raspberry Pi
LCD 10.1" su Raspberry Pi 3 e Raspbian Stretch
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.
LCD 3.5" su Raspberry Pi 3 e Raspbian Jessie
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:
- Abilitare l'interfaccia SPI e i relativi moduli kernel. Eseguire raspi-config, da Advanced Options ⇒ SPI: Enable SPI interface, Load SPI kernel module.
- Copiare il file usr/tft35a-overlay.dtb nella /boot/overlay/ del Raspberry Pi; si tratta di un Device Tree Blob che serve ad abilitare l'hardware. A seconda della versione kernel il file deve avere estensione .dtb oppure .dtbo, vedere gli altri file presenti nella directory. L'architettura Device Tree è accennata qui: Device Trees, overlays, and parameters.
- Creare la directory /etc/X11/xorg.conf.d, se non esiste.
- Copiare i file usr/99-calibration.conf-35 e usr/99-fbturbo.conf in
/etc/X11/xorg.conf.d
. Rinominare con estensione .conf. - Aggiungere alla linea di /boot/cmdline.txt i parametri:
fbcon=map:10 fbcon=font:ProFont6x11
. La procedura di installazione prevede di sostituire /etc/inittab, che però non esiste più in Jessie.
- Nel file /boot/config.txt aggiungere la riga
dtoverlay=tft35a
.
Al riavvio si ottengono tre terminali virtuali su HDMI e tre su LCD, più una console X.org su HDMI:
- tty1 ⇒ LCD
- tty2 ⇒ HDMI
- tty3 ⇒ LCD
- tty4 ⇒ HDMI
- tty5 ⇒ LCD
- tty6 ⇒ HDMI
- tty7 ⇒ 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)?