probably a bit more consistent audio
This commit is contained in:
parent
9cba8d4499
commit
0cfde5300c
15
start.sh
15
start.sh
@ -45,12 +45,17 @@ echo "xrandr result: $(DISPLAY=:99 xrandr | grep '*')"
|
|||||||
|
|
||||||
# ── Start PipeWire stack ──────────────────────────────────────────────────────
|
# ── Start PipeWire stack ──────────────────────────────────────────────────────
|
||||||
export PULSE_RUNTIME_PATH="$XDG_RUNTIME_DIR/pulse"
|
export PULSE_RUNTIME_PATH="$XDG_RUNTIME_DIR/pulse"
|
||||||
rm -rf "$PULSE_RUNTIME_PATH"
|
|
||||||
|
|
||||||
pipewire &
|
pipewire &
|
||||||
sleep 1
|
sleep 1
|
||||||
wireplumber &
|
wireplumber &
|
||||||
sleep 1
|
sleep 1
|
||||||
|
# Remove the pulse socket directory that pipewire may have pre-created, then
|
||||||
|
# immediately recreate it empty and start pipewire-pulse with no gap in
|
||||||
|
# between — otherwise pipewire can recreate it first and pipewire-pulse
|
||||||
|
# fails with "File exists" on the socket.
|
||||||
|
rm -rf "$PULSE_RUNTIME_PATH"
|
||||||
|
mkdir -p "$PULSE_RUNTIME_PATH"
|
||||||
pipewire-pulse &
|
pipewire-pulse &
|
||||||
|
|
||||||
# Wait for the PulseAudio-compatible socket
|
# Wait for the PulseAudio-compatible socket
|
||||||
@ -62,6 +67,14 @@ done
|
|||||||
|
|
||||||
export PULSE_SERVER="unix:${PULSE_RUNTIME_PATH}/native"
|
export PULSE_SERVER="unix:${PULSE_RUNTIME_PATH}/native"
|
||||||
|
|
||||||
|
# Raise the PipeWire scheduling quantum (buffer size). This container runs
|
||||||
|
# llvmpipe software rendering + vp8enc + opusenc all competing for CPU at
|
||||||
|
# ~800% on 8 cores. A larger quantum gives the audio graph more buffer
|
||||||
|
# headroom to absorb brief scheduling jitter, trading a few ms of latency
|
||||||
|
# (irrelevant for one-way streaming) for fewer audible underruns/crackling.
|
||||||
|
# Default PipeWire quantum is often 1024; bump to 4096.
|
||||||
|
pw-metadata -n settings 0 clock.force-quantum 4096 || true
|
||||||
|
|
||||||
# Virtual microphone — use || true so a pre-existing module doesn't abort
|
# Virtual microphone — use || true so a pre-existing module doesn't abort
|
||||||
# the script (set -e is active). The "Failure: No such entity" in the old
|
# the script (set -e is active). The "Failure: No such entity" in the old
|
||||||
# logs was module-virtual-source failing; under PipeWire-Pulse we use
|
# logs was module-virtual-source failing; under PipeWire-Pulse we use
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user