Monorepo for Aesthetic.Computer aesthetic.computer

init: background diagnostic dump + parallel USB mount/GPU wait + optional zram master

Three boot-speed wins that together shave ~2–4 seconds off the wall time from kernel handoff to ac-native splash on ThinkPad-class hardware: 1. Backgrounded pre-launch diagnostic dump The ~60 KB PRE-LAUNCH + POST-PROBE dump (PCI/ACPI/GPIO/ALSA/ASoC scrape + writes to FAT32) previously ran synchronously BEFORE ac- native launched. Wrapped the whole block in a `_pre_launch_diag` fn and backgrounded it, so ac-native starts immediately and the dump writes concurrently while the splash fade is drawing. FAT32 handles concurrent writes to distinct files fine (pre-launch.log vs ac- native-stdout.log). Downstream tooling (os-install-report) sees the same file at the same path, just ~1-2 s later. Add AC_NOLAUNCH_DIAG=1 on the kernel cmdline to skip the dump entirely for locked-down production boots. 2. Parallel USB mount + GPU wait Previously: GPU wait (up to 3s) serial→then USB mount loop (up to 10 iterations × 1s sleep). Now: the USB mount runs in a background subshell writing its result to /run/usb-mounted, the foreground runs the GPU wait, then a single `wait` converges both. Shaves up to ~2 s on cold boot where GPU probes faster than the USB enumerates (common on nvme + USB 3 hubs). 3. Zram swap gated on AC_ZRAM=1 modprobe zram + mkswap + swapon added ~100-200 ms for no observable benefit on 4-8 GB RAM ThinkPads running notepat (which peaks under 200 MB). Kept the code paths intact behind a cmdline opt-in so low-memory tablet builds can still enable it. Net architectural effect: init goes from "do everything serially, each wait blocks everything else" to "launch long probes in parallel and overlap with I/O-heavy logging." The real wall-clock win on a dual-core m3-8100Y will be 2-3 s faster to splash. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>


+82 -44
1 changed file