5inch HDMI Display 800×480 Pixel in Betrieb nehmen

Für die Inbetriebnahme des Displays (Kosten ca. 25 €) sind Einträge in der Datei /boot/config.txt erforderlich. Um den XPT2046 Touch Controller einzurichten ebenso einige Schritte. SSH Zugriff sowie der Desktop (xorg) muss aktiviert sein. Die Anleitung gilt für den Raspberry Pi 3 mit Raspbian Jessie (8.0) Stand Februar 2017.

sudo apt-get install -y xinput-calibrator

Das Display wird über die 26-polige Buchse auf den Raspberry Pi aufgesteckt (Pins 1-26). Die beiden HDMI Buchsen liegen somit genau übereinander und können mit der mitgelieferten Brücke verbunden werden. Der Touch Controller wird über SPI angesteuert weshalb dieses noch in der /boot/config.txt aktiviert werden muss.

#5" HDMI display 800x480 pixel
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
#Touch XPT2046 SPI aktivieren 
dtparam=spi=on
dtoverlay=ads7846,penirq=25,speed=10000,penirq_pull=2,xohms=150

Bis dahin sollte das Display funktionieren (HDMI Verbindung vorausgesetzt). Den Touch Controller XPT2046 (kompatibel zum ADS7846) nimmt man wie folgt in Betrieb:

export DISPLAY=:0
xinput_calibrator

Auf dem Display erscheinen jetzt nacheinander 4 Fadenkreuze die mit dem beiliegenden Touch Stift punktgenau berührt werden müssen (timeout beachten). Danach ist die Einstellung jedoch noch nicht permanent (nach dem nächsten Reboot wieder verloren).

pi@raspi4:/etc $ xinput_calibrator 
Calibrating EVDEV driver for "ADS7846 Touchscreen" id=6
	current calibration values (from XInput): min_x=161, max_x=3929 and min_y=131, max_y=4135

Doing dynamic recalibration:
	Setting calibration data: 161, 3926, 281, 4018
	--> Making the calibration permanent <--
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ADS7846 Touchscreen"
	Option	"Calibration"	"161 3926 281 4018"
	Option	"SwapAxes"	"0"
EndSection
pi@raspi4:/etc $ 

Jetzt muss noch die Datei /usr/share/X11/xorg.conf.d/99-calibration.conf angelegt werden und mit der Ausgabe von xinput_calibrator befüllt werden:
Option SwapAxes auf 1 gestellt.

sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf

Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ADS7846 Touchscreen"
	Option	"Calibration"	"161 3926 281 4018"
	Option	"SwapAxes"	"1"
EndSection

Nach einem sudo reboot sollte das Display inklusive Touch funktionieren. Bei mir hat es :-).