| .. | ||
| config | ||
| run | ||
| src | ||
| README.md | ||
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 Linuxlib/fonts/font_8x16.c, GPL-2.0), uploaded once per second or on change. Worker thread: modem controller state files every 2 s,mmcli+iwevery 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:TZfor 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: reuseb13/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.