uzbek-plus/b14/README.md

1.6 KiB

B14 — aurora-ui: 128x128 modem status screen (Cage + SDL2/Wayland)

DRM/KMS card0 (SPI-1, ST7735S) ← Cage (wlroots 0.20, Pixman) ← aurora-ui (SDL2 2.32.10, video driver wayland,
                                                                 GL renderer = Mesa llvmpipe via EGL/wl_shm, no GPU)
  • src/aurora-ui.c — ~350 lines of C, software-drawn 128x128 ARGB frame (8x16 cp437 font from Linux lib/fonts/font_8x16.c, GPL-2.0), uploaded once per second or on change. Worker thread: modem controller state files every 2 s, mmcli + iw every 5 s (timeout 3 s). Main thread: sysfs/procfs every 1 s (wwan0 counters → throughput, default route, B10 LBC supervisor state + VADC VBAT, USB online, pm8916-thermal). Missing sources show --; no SOC is invented (no fuel gauge) — only VBAT.
  • src/Makefile — build on the board: apk add build-base sdl2-dev && make && make install (→ /usr/local/bin/aurora-ui).
  • config/aurora-ui.conf → /etc/aurora/aurora-ui.conf: TZ for the clock, LIBGL_ALWAYS_SOFTWARE=1.
  • run/ui-up.sh [--stop-gui], run/ui-stop.sh, run/ui-status.sh → /usr/local/lib/b14/run/. wayvnc: reuse b13/run/wayvnc-up.sh (write the socket name to /run/b13/wayland-display first; 172.16.42.1:5900, TLS + password).
  • run/aurora-ui.openrc → /etc/init.d/aurora-ui (not enabled). run/soak.sh — read-only 1/min observer.

Runtime packages (Alpine 3.24): sdl2, wayland-libs-egl (SDL dlopens libwayland-egl; without it SDL2 segfaults in Wayland_CreateWindow), mesa (libEGL/libgallium llvmpipe), cage, seatd. Build only: build-base, sdl2-dev.