Merge kiosk-hdmi-audio-fix: PipeWire env, in-process-gpu, asound.conf tracking
Conflict resolution: keep the branch's CPUQuota=200% (75% was the proven cause of choppy HDMI audio — the file's own comment says so; the 75% on main was an accidental regression bundled into an unrelated UI commit) and keep main's newer MemoryMax=2800M/MemoryHigh=2200M tuning. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -425,6 +425,22 @@ deploy_node() {
|
||||
' 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# ── Deploy ALSA default-device config ────────────────────────────
|
||||
ASOUND_CONF="$PROJECT_DIR/image-recipe/configs/asound.conf"
|
||||
if [ -f "$ASOUND_CONF" ]; then
|
||||
step "Deploying ALSA default-device config"
|
||||
scp $SSH_OPTS "$ASOUND_CONF" "$TARGET:/tmp/asound.conf" 2>/dev/null || true
|
||||
ssh $SSH_OPTS "$TARGET" '
|
||||
if ! diff -q /tmp/asound.conf /etc/asound.conf >/dev/null 2>&1; then
|
||||
sudo cp /tmp/asound.conf /etc/asound.conf
|
||||
echo " Installed"
|
||||
else
|
||||
echo " Unchanged"
|
||||
fi
|
||||
rm -f /tmp/asound.conf
|
||||
' 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# ── Step 18: NTP + swap ──────────────────────────────────────────
|
||||
step "Ensuring NTP + swap"
|
||||
ssh $SSH_OPTS "$TARGET" '
|
||||
|
||||
@@ -463,6 +463,22 @@ deploy_secondary() {
|
||||
' 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Deploy ALSA default-device config (routes ALSA "default" through PulseAudio/PipeWire)
|
||||
ASOUND_CONF="$PROJECT_DIR/image-recipe/configs/asound.conf"
|
||||
if [ -f "$ASOUND_CONF" ]; then
|
||||
echo " Syncing ALSA default-device config to .$SEC_LABEL..."
|
||||
scp $SSH_OPTS "$ASOUND_CONF" "$SEC_TARGET:/tmp/asound.conf" 2>/dev/null || true
|
||||
ssh $SSH_OPTS "$SEC_TARGET" '
|
||||
if ! diff -q /tmp/asound.conf /etc/asound.conf >/dev/null 2>&1; then
|
||||
sudo cp /tmp/asound.conf /etc/asound.conf
|
||||
echo " ALSA default-device config installed"
|
||||
else
|
||||
echo " ALSA default-device config unchanged"
|
||||
fi
|
||||
rm -f /tmp/asound.conf
|
||||
' 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Dev mode + FileBrowser
|
||||
ssh $SSH_OPTS "$SEC_TARGET" '
|
||||
# Dev mode
|
||||
@@ -805,6 +821,23 @@ if [ "$LIVE" = true ]; then
|
||||
' 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Deploy ALSA default-device config (routes ALSA "default" through
|
||||
# PulseAudio/PipeWire — without it Chromium's raw ALSA fallback can't
|
||||
# reach the HDMI sink and kiosk HDMI audio is silent).
|
||||
ASOUND_CONF="$PROJECT_DIR/image-recipe/configs/asound.conf"
|
||||
if [ -f "$ASOUND_CONF" ]; then
|
||||
scp $SSH_OPTS "$ASOUND_CONF" "$TARGET_HOST:/tmp/asound.conf" 2>/dev/null || true
|
||||
ssh $SSH_OPTS "$TARGET_HOST" '
|
||||
if ! diff -q /tmp/asound.conf /etc/asound.conf >/dev/null 2>&1; then
|
||||
sudo cp /tmp/asound.conf /etc/asound.conf
|
||||
echo " ALSA default-device config installed"
|
||||
else
|
||||
echo " ALSA default-device config unchanged"
|
||||
fi
|
||||
rm -f /tmp/asound.conf
|
||||
' 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Deploy Claude API proxy (auto-install if missing)
|
||||
progress "Setting up Claude API proxy"
|
||||
ssh $SSH_OPTS "$TARGET_HOST" '
|
||||
|
||||
Reference in New Issue
Block a user