Orin is headless: drop local video out, ALSA instead of PipeWire

The tablet app is the display, so the diagram's hud (local video out)
branch goes; displays are all remote. The car unit now runs no desktop
and no sound server, so the host layer lists ALSA, and mic capture for
Whisper reads it directly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mikkeli
2026-10-09 00:02:05 +09:00
parent ce4eaa1aaf
commit 6fc187570c
2 changed files with 8 additions and 3 deletions
+3 -2
View File
@@ -19,9 +19,10 @@ rest down.
CAN ──▶ can-bridge ──┐
OBD-II ──▶ obd-poller ─┤
GNSS ──▶ gnss ├──▶ message bus ──┬──▶ recorder (disk)
camera ──▶ vision* ─┘ ├──▶ hud (local video out)
└──▶ telemetry-gw ──▶ remote displays
camera ──▶ vision* ─┘ └──▶ telemetry-gw ──▶ remote displays (tablet app)
* later phase, separate task
The Orin runs headless: no local video out. The tablet app is the display.
```
## Services
+5 -1
View File
@@ -20,7 +20,7 @@ repo, so it lives in the hub rather than in any one of them.
acquisition can-bridge, obd-poller, gnss
bus mosquitto
─────────────────────────────────────────────────────────
host kernel modules, gpsd, PipeWire, network orin-nano-env-setup
host kernel modules, gpsd, ALSA, network orin-nano-env-setup
```
A layer may depend on the one below it and on the bus. Nothing depends sideways:
@@ -180,6 +180,10 @@ Whisper runs on the Orin, so its input does too. Audio *in* on one box and audio
*out* on the other is asymmetric on purpose: each side does the simple thing, and
a microphone has no reason to reach the head unit.
The Orin runs headless with no sound server: capture reads the ALSA device
directly. If a service ever needs PipeWire, run it for that service's user
(lingering), not as a desktop session.
### Degrade when there is no sink
With no tablet connected the Orin can still hear — the mic is local — but cannot