Grafische Anwendung auf raspberry mit LCD-Display
-
Hallo,
ich habe dank der schnellen und guten Hilfe von sneubert eine kleine grafische Anwendung erstellt und getestet.
Da habe ich festgestellt, dass diese nur auf einem raspberry mit HDMI Bildschirm läuft.
Ich möchte dass das Programm mit einem LCD Display mit anderer Schnittstelle läuft.
Gibt es da schon Erfahrung wie die Konfiguration sein soll?
Vielen Dank im voraus.
Gruß
Kurt -
Hallo,
ich habe dank der schnellen und guten Hilfe von sneubert eine kleine grafische Anwendung erstellt und getestet.
Da habe ich festgestellt, dass diese nur auf einem raspberry mit HDMI Bildschirm läuft.
Ich möchte dass das Programm mit einem LCD Display mit anderer Schnittstelle läuft.
Gibt es da schon Erfahrung wie die Konfiguration sein soll?
Vielen Dank im voraus.
Gruß
Kurt@K-Str
wenn du EGLFS benutzt siehe QT_QPA_EGLFS_FB variable. -
Hallo K-Str,
solange du einen passenden LCD am DSI Display Connector anschließt und die Ausgabe nur dort benötigst funktioniert das eglfs platform plugin direkt, da der RPI beim booten mit angeschlossenem LCD am DSI den
HDMI abschaltet.Bei LCD´s die über das HAT angeschlossen und meist per SPI angesteuert werden bleibt der HDMI aktiv und
die Applikation kann z.B. über das directfb platform plugin dargestellt werden. Allerding dann ohne Hardware beschleunigte Grafik (QML, OpenglES).
Für so einen Fall ist es am einfachsten die Applikation auf HDMI laufen zu lassen und z.B. rpi-fbcp als deamon
einzurichten (https://github.com/tasanakorn/rpi-fbcp).
Die Umgebungsvariable QT_QPA_EGLFS_FB, wie von raven-worx vorgeschlagen funktioniert in diesem
Fall leider nicht, da der Broadcom-Treiber nur ein Display Hardware beschleunigt ansprechen kann. -
Hallo Kurt,
also wie oben beschrieben kannst du, wenn du auf Qt Quick 2 und OpenGL verzichtest, eine QWidget-Anwendung mit Buttons usw. schreiben, die du dann mit
./meinProg --platform linuxfb:fb=/dev/fb1
auf dem SPI-Display anzeigen lässt.
Oder du lässt die Anwendung auf dem nicht angeschlossenen HDMI per eglfs laufen und nutzt rpi-fbcp um die HDMI-Ausgabe auf das SPI-Display zu spiegeln. Wir haben das bei einer unsere Anwendungen im Einsatz, die Latenz ist zu vernachlässigen. Dann kannst du auch graphisch ansprechende Anwendungen in QML schreiben.
Für xcb muss ein x server mit Fenstermanager laufen, also z.B. der Pixel Desktop aus raspbian, dort funktioniert OpenGL mit dem Broadcom-Treiber aber auch nicht, nur mit dem noch nicht ganz fertigen VC4.
Also funktionieren tut es auf unterschiedlichen Wegen, du musst dich nur für einen entscheiden und die jeweiligen Nachteile in Kauf nehmen.