7 Zoll Touchscreen mit neuester Raspbian stretch lite

  • Hallo zusammen, nachdem mein Windows CarPC nach 9 Jahren abgeraucht ist, beschloss ich meinen weitestgehend ungenutzten RPI3 zu verbauen. Betrieben wird dieser an einem M2ATX Netzteil, welches den PI sowie den Touchscreen nach anschalten der Zündung anschaltet und umgekehrt. Das alles funktioniert abgesehen davon, dass Kodi noch beim runterfahren rumzickt wenn ich es per kodi.service automatisch starten lasse, wunderbar.


    Das eigentlich Problem ist aber:


    Die Touchfunktion des Screens funktioniert nicht - leider kenne ich den Hersteller auch nicht mehr, ich meine aber das wäre ein alter Lilliput. Das USB-Kabel ist am RPI eingesteckt und wird auch mit lsusb als "D-WAV Scientific Co., Ltd eGalax TouchScreen" angezeigt. Um ein Stromproblem weitestgehend auszuschliessen, habe ich das USB-Kabel an einen stromversorgten USB-Hub angeschlossen - auch hier wird er erkannt, aber reagiert in Kodi auf keine Eingabe.


    Nun habe ich so gut wie jeden Beitrag und Tutorial in Verbindung mit Raspbian stretch, eGalax Touchscreen etc. durchgearbeitet., aber nichts hat geholfen. Jetzt stellen sich mir mehrere Fragen:


    1. Kann das an stretch lite liegen, dass die Tutorials wie hier bzgl. X11 / EVDEV nicht zum Erfolg führten? Wenn ich das richtig verstehe, hat X11 ja mit einer GUI zu tun, aber bei lite habe ich ja keine GUI. Ich kann also nur bei Kodi 18 kontrollieren, ob der Touchscreen funktioniert(?)
    2. Ist Kodi 18 selbst vielleicht das Problem? Die Touch- und Mausunterstützung ist jedenfalls aktiviert
    3. Kann es an der Länge des USB-Kabels liegen, welches zwar am Windows-CarPC problemlos funktionierte, aber vielleicht am RPI nicht? Länge weiß ich nicht genau, aber es ist vom Armaturenbrett bis in die Reserveradmulde seitlich verlegt (vermutlich 5m). Dann würde der Touchscreen aber wahrscheinlich gar nicht erst erkannt werden?
    4. Gibt es eine Möglichkeit die Touch-Eingaben über das Terminal zu kontrollieren? Das Tool xinput_calibrator hatte ich versucht zu installieren, lässt sich aber bei lite über das Terminal nicht starten.
    5. Weil der Touchscreen nur VGA hat, musste ich einen HDMI->VGA Adapter nutzen. Das kann aber nicht daran liegen, oder? Das Bild ist ja da, nur eben die Touchfunktion nicht.


    Ich versuche jetzt schon fast eine Woche den Touchscreen zum Laufen zu bewegen und möchte nur sehr ungern ein neues Display verbauen. Das hieße dann nämlich: Neues Kabel (HDMI) verlegen, Bildschirm "ausspachteln" und der Aufwand lohnt sich bei dem alten Auto nicht wirklich. Sonst hätte ich mir ja auch gleich einen fertigen Naviceiver zulegen können.

  • Mir hat das jetzt keine Ruhe gelassen und wollte zumindest einige meiner Fragen und Befürchtungen ausschliessen. Daher habe ich mir die Events nochmal genauer angesehen und dabei festgestellt, dass dem Touchscreen zwei Events zugeordnet sind: mouse0 an event0 und mouse1 an event1 (siehe Screenshot 1).


    Um nun zu prüfen, ob der Touchscreen generell auf Eingaben reagiert, habe ich das Tool "evtest" installiert und bekomme beim drücken auf dem Touchscreen bei event1 auch eine Reaktion mit unter anderem x- und Y-Koordinaten (siehe Screenshot 2) . Das bedeutet immerhin, das USB-Kabel ist nicht zu lang, und alle Stromprobleme kann ich ausschliessen.


    Jetzt hatte ich ja bereits vorher aufgrund eines Forenbeitrags folgendes in meine /usr/share/X11/xorg.conf.d/10-evdev.conf eingefügt:

    Code
    Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev" 
    EndSection

    Da das immer noch nicht funktioniert hat, habe ich eine Zeile (Option "Calibration") mit den entsprechenden Koordinaten von evtest hinzugefügt. Leider tut sich immer noch gar nichts. Ich dachte mir dann, dass die .conf vielleicht zu "spät" greift und daher die Datei in 99-evdev.conf umbenannt. Weil das aber auch nichts bringt, habe ich das Gefühl, dass die Datei erst gar nicht vom System genutzt wird.


    Wie gesagt nutze ich ja das Raspbian stretch lite und verstehe den Zusammenhang von GUI (welche ja im lite fehlt), X11, EVDEV usw. erst gar nicht. Vielleicht liegt die Lösung so nahe, aber aufgrund mangelnder Kenntnisse komme ich nicht drauf. Ich Frage mich dabei auch, was Kodi 18 für eine Rolle dabei spielt. Abgesehen von evtest habe ich nur in Kodi die Möglichkeit den Touchscreen zu testen.


    Ich hoffe, mir kann da jemand helfen. Und sorry für die schlechten Screenshots, aber nicht mal das bekomme ich auf dem Raspberry hin, daher habe ich den Screen nur abfotografiert.

  • Bei mir steht nur das in der: /etc/X11/xorg.conf.d/99-calibration.conf

    Code
    Section "InputClass"
            Identifier      "calibration"
            MatchProduct    "eGalax Inc. Touch"
            Option  "Calibration"   "25 1993 108 1976"
    EndSection

    Funktioniert mit diesem Display: https://www.pollin.de/p/7-17-7…-hdmi-dvi-vga-cvbs-120964

    unter Debian Jessie.


    Oder siehe auch: eGalax Touch von Pollin ls-7t kein Touch mit Jessie möglich

    Beitrag #11.

    Ich hoffe, der Tip funktioniert noch.


    MfG


    Jürgen


    Edit: Quellcode korrigiert

  • Danke für deinen Quellcode. Bei mir gibt es die 99-calibration.conf nicht. Ich versuche die mal exakt mit deinem Code und meinen Kalibrierungsdaten zu erstellen. Muss ich dann meine Konfiguration in 10-evdev.conf unter /usr/share/X11/xorg.conf.d/10-evdev.conf wieder entfernen oder wird dann ohnehin die aus /etc/X11/xorg.conf.d genommen wegen höherer Priorität?

  • Wird die Datei: /usr/share/X11/xorg.conf.d/10-evdev.conf überhaupt ausgewertet?


    Bei mir sieht sie so aus:

    Sieh Dir den anderen Beitrag an, der hatte mit Stretch ja funktioniert.


    MfG


    Jürgen

  • Ich habe ebenfalls das von Jürgen Böhm genannte Touchdisplay und das läuft bei mir unter Buster 1A inkl. Touch.


    Die Datei 99-calibration.conf musst Du selbst anlegen und mit den Werten nach der Ausgabe der Kalibrierung füllen.

    ;) Gruß Outi :D
    PIs: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Tests) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite)
    2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (noch ohne) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Ubuntu Server 64 Bit) / Pi 400 (Bullseye) / 2x Pi Pico
    Platinen: Sense HAT / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT

  • Bash
    pi@raspi17:~ $ ll /etc/X11/xorg.conf.d/99-calibration.conf 
    -rw-r--r-- 1 root root 133 Feb 15  2017 /etc/X11/xorg.conf.d/99-calibration.conf

    Danach entweder ein reboot oder "Alt + Strg + Backspace"


    Die Config ist nur für X11, nicht für die Console.


    MfG


    Jürgen


    Edit: Irgendwie pappt der Code-Teil alle Zeilen aneinander

  • Quote

    Wird die Datei: /usr/share/X11/xorg.conf.d/10-evdev.conf überhaupt ausgewertet?

    Wie kann ich das denn prüfen?


    Quote

    Die Config ist nur für X11, nicht für die Console.

    Was genau ist X11? Eine GUI? Bedeutet das, dass die config auch nicht unter Kodi greift? Ich verstehe noch nicht, weshalb die Events mit evtest sauber im terminal ankommen der touch aber keinerlei Eingabe unter Kodi erlaubt.


    Mir fehlt das Verständnis, welche Konfiguration für welchen "Bereich" zuständig ist und ob und worauf Kodi bei stretch lite zugreift.

  • Jürgen Böhm & Outlaw Im CLI, bzw. mit Lite? Ist die Config nicht nur für X? :conf:

    Ich habe die Full Version installiert, da das Display bei mir an einem 3D-Druckserver (Repetier-Server auf nem Pi 3B) hängt und die Ausgaben im Kioskmode unter dem Chromium Browser läuft.


    Zudem macht der höhere Platzbedarf heute bei den SD Karten kaum noch einen Unterschied aus und ich habe in der Hinterhand immer noch die Möglichkeit, das Gui zu nutzen, falls es mal nötig wäre.


    Daher läuft auch auf meinen Webservern immer eine Full Version von Raspbian, die eben im einige unnötige Klopper (Wolfram, Mindcraft, ….) erleichtert wird. Die Gui wird dort nur bei Bedarf gestartet aber ich denke, Du brauchst die ja auch bei Deinem CAR PC, sofern Du nicht im ASCII (Zeichensatz) navigieren willst.

    ;) Gruß Outi :D
    PIs: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Tests) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite)
    2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (noch ohne) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Ubuntu Server 64 Bit) / Pi 400 (Bullseye) / 2x Pi Pico
    Platinen: Sense HAT / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT

  • Was genau ist X11?

    Lies Dir mal den Eintrag in Wikipedia durch, die können das besser erklären.

    Aber im wesentlichen ist X11 das Grundgerüst, der die wesentlichen Funktionen für Dein Desktop bereitstellt.


    MfG


    Jürgen

  • Quote

    Die Gui wird dort nur bei Bedarf gestartet aber ich denke, Du brauchst die ja auch bei Deinem CAR PC, sofern Du nicht im ASCII (Zeichensatz) navigieren willst.

    Meinst du jetzt navigieren im Sinne von GPS oder durch Kodi etc.? Beides ist anscheinend ein Problem:D


    Der Grund wieso ich stretch lite installiert habe ist, dass das System so schnell wie möglich booten soll damit ich beim losfahren nicht eine Minute oder länger warten muss, bis Kodi fertig geladen hat. Im Moment dauert das hochfahren bis dahin ca. 30 Sekunden was noch akzeptabel ist. Wenn ihr mir jetzt sagt, dass der Ladezeitunterschied des normalen und lite bis zum Terminal kaum vorhanden ist, kann ich natürlich auch umsteigen.


    Ich denke mir halt nur, dass der Touchscreen auch unter stretch lite laufen sollte, denn:


    • Werden die Eingaben ja sogar im Terminal bei evtest angezeigt
    • Laut dieses Beitrags es hier bei einem User auch unter stretch lite funktioniert

    Jedenfalls danke ich euch für die rege Beteiligung - ich arbeite jetzt erst mal eure Links und Codes durch und wenn es immer noch nicht geht, teste ich mal die normale Version. Gibt es eine Möglichkeit die lite Version auf die normale upzugraden? Ich habe dafür mal ein Tutorial gesehen, aber frage mich, ob das dann exakt das gleiche wäre wie eine Neuinstallation. Der Hintergrund ist der, dass ich auf jeden Fall mein mühselig konfiguriertes Kodi mit CarPC Skin & Plugins, 4G Internet etc. nicht nochmal neu aufsetzen will.

  • dass ich auf jeden Fall mein mühselig konfiguriertes Kodi mit CarPC Skin & Plugins, 4G Internet etc. nicht nochmal neu aufsetzen will.

    Backup (immer eine gute Idee) und restore. Es handelt sich doch nur um Daten in einem User-Verzeichnis oder irre ich mich?


    edit: Übersehen, dass da noch 4G Internet steht, dann noch das Verzeichnis /etc

    Glaube ersetzt kein Wissen

  • Nur mal ne Frage in den Raum geworfen:

    Soweit mir bekannt ist arbeitet Kodi, wenn nicht unter X11 gestartet, mit tslib als touch-Verwalter. In Raspbian lite ist diese lib aber standardmäßig nicht installiert. Kann es sein, dass diese für den Touchscreen noch nachinstalliert werden muss?

  • Ein "kurzes" Update: Da ich ohnehin von meiner alten 4GB SD (class 4) Testkarte auf eine 32GB (class 10) SD Karte umgestiegen bin, habe ich die Gelegenheit genutzt das normale stretch mit Desktop zu installieren. Ich bin total überrascht wie viel schneller der Bootvorgang nun ist: Bis zum Desktop sind es gefühlt nicht mal 15 Sekunden, was sicherlich der schnelleren SD-Karte geschuldet ist. Nichtsdestotrotz waren mein Bedenken bzgl. des Bootvorgangs ohne lite unbegründet. Danke an der Stelle für das Schubsen in die richtige Richtung (mit Desktop).


    Insgeheim hatte ich dann gehofft, dass der Touchscreen ohne lite dann out of the box funktioniert. Leider ist dem nicht so - weder in dem Desktop noch unter dem nachinstallierten Kodi reagiert er auf meine Eingaben. Jetzt stehe ich sozusagen wieder bei null, mit dem Vorteil das ich ein komplett neues System und eine GUI habe, bei der ich auch mal aus dem Auto heraus einen Browser nutzen kann. Von der alten Installation habe ich gar nichts übernommen, sondern alles neu eingerichtet (für das bessere Gefühl).


    Morgen versuche ich dann wieder mithilfe von evdev und einer Konfiguration den Touchscreen zum laufen zu bekommen. Mit der neuen Desktop (X11?) Basis tun sich mir aber wieder neue Fragen auf:

    1. Für mich macht es keinen Sinn Kodi über den Desktop Umweg zu starten, sondern ich würde weiterhin lieber Kodi vom Terminal aus starten. In der raspi-config kann ich ja festlegen, ob er zum Desktop oder zum Terminal booten soll. Werden dann, wie veloci in den Raum geworfen hat, andere Treiber genutzt wenn ich nicht zum Desktop boote? Sprich: Muss ich den Umstand dann bei der Touchscreen Konfiguration beachten?
    2. Was ist der beste Weg Kodi automatisch zu starten? Bei stretch lite habe ich das über den kodi.service (systemd) gemacht, was anscheinend bei der neuesten stretch lite die einzige Möglichkeit war (die bei mir funktionierte).
    3. Wie komme ich aus Kodi zurück zum Terminal - oder wenn vom Desktop aus gestartet - zurück zum Desktop? In Kodi habe ich bei dem CarPC xTouch Skin ja nur die Möglichkeit "aus zu schalten" und "neu zu starten". Ich muss ja aber weiterhin Dateien über das Terminal bearbeiten können etc. Bei lite konnte ich per "neu starten" zurück ins Terminal. Das ist da wohl ein Bug oder meinem systemd Service geschuldet, dass er dann nicht neu bootete sondern im Terminal landete. Ich hätte das diesmal aber sauber getrennt - also das neu starten = neu starten ist, ausschalten = ausschalten und im besten fall so was wie beenden = beenden. Ich hoffe ihr wisst, was ich meine.
  • fruchtfliege


    Zu 1.: Ich habe gerade mal Testweise stretch-lite und kodi installiert und zusätzlich noch ein sudo apt install libts-bin ausgeführt -> touch in kodi funktioniert! Kann sein, dass bei dir noch Umgebungsvariablen wie z.B. TSLIB_TSDEVICE=/dev/input/event1 angepasst werden müssen.

  • Wieder ein Update: Nach der Installation von evdev und der Touchscreen Kalibrierung mit xinput-calibrator läuft der Touchscreen nun auf dem Desktop einwandfrei. Allerdings reagiert er in Kodi auf keinerlei Eingaben.


    veloci Das wäre der Knaller wenn es nur daran liegen würde. Wie ich gelesen habe, nutzt Kodi auch nicht die X11 Treiber, dementsprechend ist es auch logisch, dass unter Kodi nichts geht. Kannst du mir das mit den Umgebungsvariablen nochmal genauer erklären? Wo genau muss das angepasst werden? Ich teste im Laufe des Tages, ob die Installation von libts-bin ausreicht.


    Jackinho Danke, hat problemlos funktioniert. Ich lande jetzt zurück auf dem Desktop!

  • Die Installation von libts-bin alleine hat leider nichts gebracht. Wenn ich versuche über TSLIB_TSDEVICE=/dev/input/event6 ts_calibrate zu kalibrieren, öffnet sich zwar das Programm, aber er reagiert auf keine Eingaben. Nicht wundern, der Touchscreen läuft jetzt über das event6 nachdem ich das Desktop image geflasht habe.


    An manchen Stellen habe ich nun gelesen, dass man für eGalax Touchscreens den Kernel von tslib neu komplieren soll/muss? Oder gilt das dann nur für ältere Kodi Versionen? Vielleicht hilft ja auch das Setzen der Umgebungsvariablen, aber hier bin ich hoffnungslos überfordert :(


    EDIT: TSLIB_TSDEVICE=/dev/input/event6 habe ich bereits in der Konsole ausgeführt.

  • In Beitrag #2 hast du geschrieben, dass zwei devices (event0 und event1) dem eGalax-Touch zugeordnet wurden. Hast du das richtige erwischt? Also das, was mittels evtest sinnvolle Werte ausspuckte? Wenn ja, dann bin ich zumindest raus.


    Ach so, was sagt den ts_print, wenn du den Screen berührst?