Pygame auf RockPi4 mit 7" Display ohne Desktop

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Frank13
User
Beiträge: 5
Registriert: Samstag 4. Februar 2023, 11:07

Hallo allerseits,

Ich habe eine Frage zu pygame:

Soweit ich es richtig verstanden habe, sollte es möglich sein, auf meinem 7" Display ohne einen Desktop zu installieren, mit pygane eine Oberfläche (inkl. Touch-Eingabe) zu erzeugen.
Oder habe ich hier schon einen Denkfehler drin?

Mein Setup sieht folgendermaßen aus:
RockPi4 mit ubuntu server 20.02 und einem angeschlossenen 7" Touchdisplay. Auf dem Display kommt auch die Login-Aufforderung - funktioniert also.

Ich komme jetzt allerdings mit pygame nicht weiter, es kommen je nach Bespiel unterschiedliche Fehlermeldungen, so dass ich nicht mehr wirklich durchblicke.

Der Standard-Test (python3 -m pygame.examples.aliens) gibt den Fehler "error: No module named pygame.examples". pygame ist aber definitiv installiert (die "Begrüssungsnachricht" in python3 kommt).

Ein einfacher Test

Code: Alles auswählen

import pygame  
pygame.init()  
pygame.display.set_mode((640, 480)) 
gibt "error: Unable to open mouse".

Habe ich da irgendwo einen dicken Denkfehler drin oder fehlt irgendwas an meiner Installation?

Viele Grüße

Frank
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das kommt von der unterliegenden SDL, ein workaround ist http://forums.libsdl.org/viewtopic.php?p=10046 - aber dann hast du auch keinen touch input.

Grundsätzlich sollte die SDL ohne X, nur auf dem framebuffer, laufen. Wie du es dir vorstellst. Warum die das bei dir nicht tut, liegt irgendwie am umgebenden System. Leider sind diese Pi-Klone oft eher mau was die Software angeht. Da komme solche Probleme zustande.
Frank13
User
Beiträge: 5
Registriert: Samstag 4. Februar 2023, 11:07

Danke für die Antwort. Dann muss ich wohl eine X-Umgebung installieren. Gibt es da Vorschläge für eine möglicht sparsame Variante? Es sollen keine weiteren Programme dabei sein, es soll dann nur mein Programm laufen können.
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Die grossen Umgebungen Gnome und KDE sind recht schwergewichtig. Aber eigentlich solltest du auch X "pur" starten koennen, also mit deinem Programm als dem einzigen Programm. Siehe zB https://raspberrypi.stackexchange.com/q ... pplication
Frank13
User
Beiträge: 5
Registriert: Samstag 4. Februar 2023, 11:07

Danke für die Info. Das wäre genau das was ich brauche. Jetzt muß ich das nur noch irgendwie hinkriegen ;-) - ich vermute in der Art "startx python3 Programm.py --kiosk --". Da könnte ich noch Unterstützung bei der Syntax und anderen Stolperstellen brauchen... mit Linux hatte ich leider (noch) nicht so allzuviel in der Richtung zu tun...

Ich melde mich dann mit weiteren Fragen.
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

—kiosk ist spezifisch für chrome. Das hat hier nichts verloren. Relative Pfade sind wahrscheinlich auch ein Problem, stattdessen absolute verwenden.
Frank13
User
Beiträge: 5
Registriert: Samstag 4. Februar 2023, 11:07

Danke! Im Moment hänge ich leider krankheitsbedingt im Bett... Es kann also etwas dauern...
Frank13
User
Beiträge: 5
Registriert: Samstag 4. Februar 2023, 11:07

Hallo allerseits,

Ich habe jetzt (hoffentlich) das x-System installiert:

Code: Alles auswählen

sudo apt-get install xserver-xorg  
sudo apt-get install xinit  
sudo apt-get install x11-xserver-utils  
Als pygame-Test habe ich mir ein Beispiel von https://www.spieleprogrammierer.de/wiki/Pygame-Tutorial gesucht...

Wenn ich jetzt auf der Console "startx python3 /home/testnutzer/programm1.py eingebe, kommt nach einer Zeit die Fehlermeldung "xauth: timeout in locking authority file /home/rock/.Xauthority".

Wo habe ich denn da jetzt den Fehler? Ist wie gesagt mein erstes Projekt mit einem dermaßen minimalen System und pygame... ich stelle wahrscheinlich noch ein paar blöde Fragen... ;-)

Viele Grüße

Frank
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Keine Ahnung. Ich muss die Fehlermeldungen genauso googeln wie du, und dann hoffen, dass dabei was rumkommt, dass irgendwie hilft. Ich wuerde aber erstmal davon abraten, deine Minimalismuswuensche in den Fokus zu nehmen. Wenn du eine volle grafische Oberflaeche installierst und zum laufen bekommst, und dann darauf dein Programm laeuft (im Fullscreen, wo man eh nicht mitbekommt, was da nun an anderem Kram laeuft), dann ist das ein wichtiger Zwischenschritt. Das einzudampfen kann man dann bei Lust und Laune immer noch machen. Bis dahin aber erzeugst du dir einfach nur ein schwierigeres Problem, ohne echten Mehrwert.
Antworten