Mit Debian 12 (Bookworm) hat sich ein wenig was geändert. Statt X hat Wayland nun das Sagen bei der Fensterverwaltung. Viele per SPI angeschlossene / aufgesteckte (Touch)Displays funktionieren nicht mehr oder die Anleitungen sind veraltet. So ging es mir auch, als ich das mir bekannte Vorgehen von 2019 (Debian 9, "Stretch") durchziehen wollte. Tja... 2022 und nachfolgend entstanden viele Beiträge, warum das nicht mehr wie üblich klappt, wie ich dann herausfand. Also, wie kriegt man den Krams wieder ans Laufen? Eine Möglichkeit ist der Wechsel zum altbekannten X-Server, die ich hier https://www.reddit.com/r/raspberry_pi…pi_lcd_working/fand und euch als "ja, funktioniert" bestätigen kann. Ich schreibe also nur eine Zusammenfassung / Struktur. Der Vorgang klappt komplett über SSH.
Ausgangslage:
Raspberry Pi 3B, eingeschaltet
Raspberry Pi OS 64Bit with desktop (Release date: May 6th 2025 -> Kernel 6.12.27-v8), pur von der Foundation
JOY-iT 3,5" Touchscreen (https://joy-it.net/de/products/RB-TFT3.5) mit Touchcontroller XPT2046 und Displaycontroller ili9486, bereits aufgesteckt
bestehende SSH-Session
Vorbereitungen:
sudo rpi-update (siehe Anmerkung von Steinardo -> besonders für Systeme, die bereits laufen)
sudo apt update
sudo apt upgrade
sudo raspi-config
3 Interface Options -> I4 SPI -> Yes (aktivieren)
6 Advanced Options -> A6 Wayland -> W1 X11 -> (Openbox on X11 is active)
Reboot tut gut
Bildschirm:
sudo nano /boot/firmware/cmdline.txt
Hier fügt ihr an das Ende der ersten Zeile folgenden Parameter an und achtet darauf, dass eine zweite, leere Zeile darunter bleibt:
sudo nano /boot/firmware/config.txt
Hier muss das Overlay "piscreen" als Zeile eingefügt werden. Bei mir war das Overlay "vc4-kms-v3d" aktiv. Dies ist auszukommentieren. Beim Pi4 oder Pi5 können noch andere Dinge auftauchen.
Mittels "rotate" könnt ihr den Bildschirm um 90, 180 und 270 Grad drehen. Für 0 Grad einfach weg lassen.
Touchscreen:
sudo apt install xserver-xorg-input-evdev
sudo mv /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf
sudo nano /usr/share/X11/xorg.conf.d/45-evdev.conf
Hier fehlen vermutlich ein oder zwei Zeilen. Optional lässt sich mit true / false über "InvertX" und "InvertY" steuern, wie Berührungen in Mausbewegungen umgesetzt werden. Nervig ist nur, dass Änderungen erst nach einem Reboot greifen (aber das kennen wir ja von früher). Bei mir sah es am Ende wie folgt aus.
Section "InputClass"
Identifier "evdev touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "InvertX" "true"
Option "InvertY" "false"
EndSection
sudo touch /etc/X11/xorg.conf.d/99-calibration.conf
sudo apt-get install xinput-calibrator
DISPLAY=:0.0 xinput_calibrator
*tap* *tap* *tap* *touch* Ausgabe kopieren
sudo nano /etc/X11/xorg.conf.d/99-calibration.conf
Hier tragt ihr nun die Ausgabe der Kalibrierung ein und startet danach nochmal neu.
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3905 271 191 3783"
Option "SwapAxes" "0"
EndSection
Das war es schon. Keine Device Tree Overlays von Herstellern, keine Treiber, kein LCD-show (Finger weg, wenn ihr den hier beschriebenen Weg gehen wollt), kein Stress mehr.
Ich bin kein aktives Forenmitglied mehr, sondern nur per Google neben der Lösung auf RE: Zu doof um ein 3,5" Touchscreen in Betrieb zu nehmen? und Displays mit SPI-Anschluss unter Raspberry PI OS (bullseye/bookworm) gestoßen und erinnerte mich an meinen Account hier. Nehmt, was ihr kriegen könnt :p