Ok, also sagst du der Desktop auf meinem pi zero frisst keine Ressourcen
und macht diesen nicht wesentlich langsamer?
Sofern der Desktop nicht ein dynamisches Hintergrundbild (oder gar ein ständig laufendes Video) darstellt, nein. Er verbraucht etwas Speicher, aber mehr macht der nicht.
Woher kommt die Vorstellung, es könnte anders sein?
Besteht die Möglichkeit auf einem raspberry pi ohne installiertem
Desktop ein wxWidgets Programm im Volldbildmodus zu starten?
Jain. Kommt auf das Programm an. So lange es keine Features einer laufenden Desktopumgebung nutzt, kann man es natürlich ohne eine solche laufen lassen.
Ich befürchte nein, da ohne Desktop eben auch keine vordefinierten
Buttons etc. laufen/installiert sind. Liege ich da falsch oder korrekt?
Da liegst du falsch. "Vordefinierte Buttons" stellt typisch nicht die Desktopumgebung bereit. Es ist eher so, dass diese die ebenfalls benutzt.
Ob es mit wxwidgets geht, kann ich nicht sagen, aber mit Qt geht es zumindest. Da habe ich das schon gemacht. Das heißt, ohne X-Server, Windowmanager und Konsorten direkt von der Konsole gestartet.
Das Prinzip ist auch genau dasselbe, wie du es mit qt umgesetzt hast.
Bei Qt habe ich das "umgesetzt", indem ich dem Programm beim Start einfach die Kommandozeilenparameter "-platform eglfs" angegeben habe, damit es das entsprechende Platform-Plugin lädt. Daher die Frage, wie dieses Prinzip der Platform-Plugins denn bei wxwidgets funktioniert.
Wie wäre es denn, wenn du einfach mal ganz konkret sagst, was man bei wxwidgets denn tun muss, damit es ohne X-Server genutzt werden kann, statt nur nebulös vom "selben Prinzip" zu reden?
Oder man lässt den X-Server weg und arbeitet direkt mit dem Framebuffer
des Rechners. Das ist ressourcensparender.
Genau davon rede ich ja die ganze Zeit. Ich dachte, das sei hier auch der Wunsch? Der Raspi bietet per egl auf dem Framebuffer auch volle Hardware-Beschleunigung inklusive 3D.
Das erfordert aber spezielle Unterstützung durch das jeweilige Programm.
Da muss man dann in der Doku des Programms schauen, ob und wie es geht.
Wie oben schon geschrieben: Bei Qt muss das Programm das nicht explizit unterstützen, da das dort bereits durch das Platform-Plugin erledigt wird. Die Frage war jetzt, ob wxwidgets sowas auch kann.
"a version of wxWidgets/wxPython compiled against EGL cannot be made to use GLX, and vice versa... There have been requests to make the GLCanvas backend selectable at runtime, but unfortunately, that's a rather complicated change"
Ohne wirklich Ahnung vom Raspberry und wxwidgets zu haben: Auf meinem PC nutze ich einen zweiten, sehr einfachen virtuellen X-Server für eine spezielle, grafische Anwendung, welche exklusiv dort läuft ohne Windowmanager.
Auf diesen greife ich nur via vnc zu.
Er nennt sich Xvfb: https://de.wikipedia.org/wiki/Xvfb
Den wird es vermutlich auch in Raspian geben. Ob und wieviel weniger ressourcenhungrig das ist, weiß ich auch nicht. Vielleicht ist es aber ein Versuch wert. Ich starte ihn zudem als gewöhnlichen User direkt von der Konsole mit:
"Xvfb :1 &"
Die Anwendung wird dann gestartet mit:
"DISPLAY=:1 ./grafisches_programm &"
Um darauf bei Bedarf zuzugreifen, starte ich temporär einen vnc-server:
"x11vnc -display :1"
Mit einen beliebigen VNC-Client kann ich die Software dann nutzen. Wenn gar kein weiterer X-Server läuft, kann man sich sicher noch die ganzen DISPLAY=:1 Parameter sparen. Müsste also noch einfacher sein. Ich nutze Xvfb früher auch oft über SSH, wobei ich den x11vnc-Port dann noch tunnele mit "ssh server -luser -L5901:localhost:5901"