Displays mit SPI-Anschluss unter Raspberry PI OS (Debian 12, "Bookworm" mit X-Server statt Wayland)

  • 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:

    Code
    fbcon=map:11


    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.

    Code
    dtoverlay=piscreen,drm,speed=16000000,rotate=180
    #dtoverlay=vc4-kms-v3d


    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.

    Code
    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.

    Code
    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

    Edited once, last by Benandi: sudo rpi-update -> gestrichen (May 10, 2025 at 9:26 AM).

  • Displays mit SPI-Anschluss unter Raspberry PI OS (Debian 12, "Bookworm" mit X-Server statt Wayland)? Schau mal ob du hier fündig wirst!

  • Warum ist das rpi-update notwendig?


    Was man über rpi-update wissen muss!

    Achtung! Es gibt es nur wenige Situationen, bei der das Ausführen von "rpi-update" notwendig wäre. Vor allem wenn man nicht weiß warum. Es gibt so gut wie keinen Grund an einem laufenden System ein Firmware- und Kernel-Update mit "rpi-update" durchzuführen. Die Gefahr ist viel zu groß, dass danach das eine oder andere System nicht mehr richtig funktioniert.
    Ein Update über "rpi-update" kann "unstable" sein. Das heißt, dass daran noch entwickelt wird und dass es vielleicht fehlerhaft ist. Sobald Firmware, Bootloader, der Kernel und die Bibliotheken "stable" sind, werden sie über "apt-get upgrade" verfügbar gemacht und sind dann offiziell installierbar.
    Deshalb generell die Empfehlung, Finger weg von "rpi-update". Es sei denn man weiß, warum man das tut.

  • Ich habe mir eben mal ein altes Watterott PRI-Display genommen, einen Pi2B mit aktuellem Bookworm und rum gespielt.
    Das Display läuft out of the Box mit dem Parameter :
    dtoverlay=watterott-display,drm,backlight-pwm
    in der /boot/firmware/config.txt
    Hat ein wenig Suche gekostet, beste Hilfe war das hier, da hab ich den entsprechenden Hinweis gefunden :

    linux/arch/arm/boot/dts/overlays at rpi-6.1.y-tinydrm · 6by9/linux
    Raspberry Pi kernel. Please be aware that all these branches are likely to get rebased without warning. - 6by9/linux
    github.com


    Touch ist noch spiegelverkehrt, aber das bekomme ich noch irgendwie in.

    Offizieller Schmier und Schmutzfink des Forum.
    Meine PI:

    Display Spoiler

    #1 : Pi1 - Packet Radio Digi mit TNC-PI
    #2 : Pi2 - ADSB Feeder
    #3 : Pi3 - DHCP/DNS Server für 4 VLAN
    #4 : Pi3 - Wireguard Gateway
    #5 : Pi3 - FM Funknetz Gateway mit Shari SA818
    #6 : PI Zero W mit DMR Hotspot
    #7 : Pi4 4GB - Kiosk Browser
    #8 : Pi4 4GB - Kiosk Browser
    #9 : Pi4 8GB - Test Pi

    Dazu noch ein paar Zero und Pi1/2 die noch auf einen sinnvollen Einsatz warten.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!