MuPiBox NG 0.2.0-alpha.20 – Community Apps on the Touchscreen + Update Fix

Eine neue MuPiBox NG Alpha ist verfügbar: 0.2.0-alpha.20. Hier findest du die Änderungen und Fehlerbehebungen dieser Version.

Was ist neu?

Changes since 0.2.0-alpha.19

NEW – Community Apps directly on the Pi touchscreen

  • Installed and enabled .mupiapp packages now appear under the existing Spiele / Games tile, then a separate "Apps" button. This does not replace or move any existing native game.
  • Select an app and launch the independently packaged HTML/JavaScript or Go/WebAssembly version in an embedded Qt 6 WebEngineView. Works with pointer/touch input and the app's own responsive 800×480 UI; eligible controller input is forwarded by a local-only bridge.
  • Persistent per-app game scores/storage use the same secure, scoped data directory as the Admin browser preview. No additional downloads, admin cookies or network access are passed to the plugin.
  • The touch browser is loaded on demand and destroyed on exit to preserve RAM on small Raspberry Pi 4 devices. A visible Back control always returns to the app list, including if the app hangs.
  • The display automatically stops showing apps that are uninstalled, disabled or no longer allowed under the parental Games provider settings.
  • QtWebEngine is installed as a normal Debian runtime dependency on fresh DietPi installations and synced as an optional dependency after updates. If it is missing, the native UI and original games still start normally and show a recoverable message instead of a blank screen.

FIX – Updates under systemd ProtectHome

  • Fix the artifact post-update runtime sync failure "touch: cannot touch '/root/.hushlogin': Read-only file system" seen on Box 85.
  • DietPi shell init and login banner suppression are optional. The installer now skips home-profile customization when systemd ProtectHome makes /root or /home read-only; it continues syncing systemd units and verifying the update.
  • Confirmed on Box 85 using a real transient systemd service with ProtectHome=read-only: exit 0/SUCCESS.
  • This also prevents a missing optional .bashrc/backup write from turning a successful signed update into a failed post-sync.

SECURITY

  • Only loopback clients can request the touchscreen app list or a launch session. The launch service requires the fixed internal host address and validates Games/parental permissions.
  • Every touch session has a fresh random 256-bit token, a bounded lifetime, and is bound to one installed, enabled app. The token stays in the trusted top-level HTML runner, never in the untrusted iframe.
  • The app iframe has opaque origin and allows scripts but no same-origin, forms, popups, admin API or direct OS access. The host bridge only supports documented context and explicitly approved scoped storage methods.
  • Local HID/controller snapshots are served only to a permitted app session. No app receives unrestricted file access, system volume, administrator rights or native process execution.
  • Installing/updating apps remains an explicit Admin action via the curated GitHub catalog or manual developer upload.

UNCHANGED

  • All alpha.18–19 fixes, provider features, donations, content editor, local media uploads, web-based catalog and original Qt Quick games remain.
  • "MuPi und die verlorenen Noten" remains fully native in the MuPiBox NG core. The built-in Klang-Memory and Cover-Memory also remain available.
  • The public plugin catalog starts with Tic Tac Toe and Klang-Memory.

LIMITATIONS

  • Initial native touch host preview requires the Games service to be enabled, and will use additional CPU/RAM while a plugin is running.
  • True per-app child time quotas, independent signed publishers, RFID app launch, store auto-update, and unified PipeWire audio focus remain future enhancements.
  • Local audio output through the embedded browser depends on QtWebEngine/ALSA/PipeWire capabilities; verify on your exact audio hardware.

TESTS

  • Go tests cover touch session creation, loopback/Host restrictions, sandbox CSP, bridge permissions, controller access, app disable/uninstall, token expiration/revocation and preserved Admin authentication.
  • Qt 6 WebEngine module loads on real ARM64 Box 85 under a separate unprivileged QML smoke test; updated Games menu also parses on that device.
  • Systemd ProtectHome=read-only updater shell-profile smoke test passes on Box 85.
  • Full Go test suite, go vet, Python script tests, Node Admin regressions and signed ARM64 release packaging are included in the release process.

Back up your settings before updating. If the new touch browser fails on your Pi, native games remain unaffected; provide the device, display, logs and diagnostic ZIP.

Release herunterladen · Mehr über MuPiBox NG

Nach oben scrollen