Linux.ROCKNIX
- Ich will ein Programm schreiben, um "trio-vent" GUI auf eine Spielconsole zu portieren
- Spielconsolen sind billige Produkte die über WLAN ein farbiges Display und genug Tasten verfügungen um Smarthome Dinge zu steuern
- Zum Antesten verwende ich einen noname R36XX, 4 CPU Kerne, 1 GByte RAM, internes Wifi rtl8188eufw über USB (RTL8188ETV, 802.11bgn 2.4G) angebunden
- es ist ein Rockchip RK3326 /
ROCKNIX Installation
- Das .xz mit 7zip entpacken und mit dem Raspberry Pi Imager auf eine sd-Karte schreiben
- die sd-Karte einfach erneut einlegen und auf keinen Fall irgenwas formatieren
- In der Boot Partition ein neues Verzeichnis erstellen mit dem Namen "overlays" und
- dort aus ...
https://github.com/stolen/rnix/releases/tag/panel_overlays
- ... das ich musste "Panel 4" verwenden und in "overlays" als mipi-panel.dtbo speichern
- System Boot und einiges einstellen / Aktivieren, z.B. wifi und ssh
- als root (Passwort rocknix) einloggen
SDL2 Programm
- Ich will schnell ein grafisches "Hello World" programmieren, welche GUI muss ich verwenden?
Installiert ist: Bedeutung: /usr/lib/libEGL.so.1.1.0 Hohe Abstraktions API Embedded-System Graphics Library /usr/lib/libgbm.so.1.0.0 Generic Buffer Management API (Mesa-Kontext, Wayland-Kontext) /usr/lib/libGL.so.1.7.0 Vermittlungsschicht zwischen GPU und Grafik Funktionen /usr/lib/libGLESv1_CM.so.1.2.0 opengl ES 1.0 /usr/lib/libGLESv2.so.2.1.0 opengl ES 2.0 /usr/lib/libSDL2-2.0.so.0.3200.6 Simple DirectMedia Layer 2, API für Grafik/Joystick... /usr/lib/libwayland-egl.so.1.23.1 Schnittstelle für Apps mit dem Fenstermanager
- Somit steht es fest, es wird ein SDL2 Programm werden, als Beispiel kann der Filemanager von Rocknix dienen (https://github.com/ROCKNIX/fileman/tree/master)
- Doku von SDL2 ist hier: https://wiki.libsdl.org/SDL2/CategoryAPI
- Minimales SDL2 Hello World ist hier:
# # Als Entwicklungs-System für den ROCKNIX verwende ich einen Raspberry Pi 4 # apt install libsdl2-dev
- Von meinem NAS kopiere ich per smbclient die compilierte Datei auf den R36xx
smbclient //server/share -c 'get main'
