# AUDIO STACK — Beebo 407

## 1. Layers — VERIFIED (from dpkg + files)

| Layer | Version | Source |
|---|---|---|
| Kernel | 5.4.2-rt5-001 (PREEMPT_RT) | image `/boot` (ext4, p1, LABEL=boot) |
| DRM/board | sun50i-a64-sopine-baseboard.dtb (Allwinner A64 SoPine) | /boot |
| ALSA | libasound2 **1.2.8-1+b1** | dpkg |
| Sound server | jackd2 **1.9.21~dfsg-3** | dpkg |
| Audio graph / engine | Ingen **0.5.1** (in-image build, not dpkg) | binary+libs |
| LV2 host stack | Lilv 0.24.25 / Serd 0.32.3 / Sord 0.16.17 / Sratom 0.6.17 (in-image builds) | lib SONAMEs |
| Control surface | digit_ui (Python/PySide2, show_widget.py + ingen_wrapper.py) | installed sources |
| UI toolkit | Python **3.11.2-1+b1**, PySide2 **5.15.8-2+b1**, Qt **5.15.8** (qml-module-qtquick-controls2 5.15.8) | dpkg |

## 2. JACK configuration — what is verifiable vs what is not

Verified:
- start_beebo.sh exports `JACK_NO_AUDIO_RESERVATION=1`, waits via
  `jack_wait -c` until the server is running, then starts the MIDI
  bridges and Ingen (SYSTEMD_STARTUP.md).
- jackd command-line evidence is only the commented-out lines:
  `alsa -P hw:CARD=digitpcm3168a,DEV=0 -C DEV=1 -p 256 -i 6 -o 8`
  (playback device 0, capture device 1, 256 frames, 6 in, 8 out). This is
  **historical evidence, not the running configuration** — the actual
  jackd startpoint was not found in the image (open item).
- jackd2 1.9.21 and `jack_wait`/`jack-matchmaker` binaries are present.

## 3. Constraints observed in this pass

Per the brief: no physical channel mapping was inferred from generic ALSA
configuration alone, and no hardware routing was reverse-engineered. The
ALSACtl/hardware-routing audit belongs to on-device probing (TARGET-BLOCKED).

## 4. Relevance to our plugins

- Our plugins are JACK-clock-agnostic (LV2 run(nframes) driven by Ingen's
  engine; sample rate taken from the host at instantiate) — no sample-rate
  or block-size assumptions were baked into the 407-sysroot rebuild.
- The longrun host evidence (3 rates: 44.1/48/96 kHz, ~3 min each) plus the
  malloc-interposition RT audit in the v2.0.1 tree covers the engine-facing
  behaviour off-device; on-device confirmation is TARGET-BLOCKED.