Skip to content

Commit 9238dae

Browse files
committed
Use apulse to emulate PulseAudio API
apulse is a minimal PulseAudio emulation library that provides the PulseAudio API without needing actual audio hardware or a running daemon. This is simpler and more reliable than: - Starting a PulseAudio daemon with null sink - Configuring ALSA - Environment variables Usage: apulse ./spring This should FINALLY fix the audio crash!
1 parent efa5253 commit 9238dae

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

.github/workflows/smoke-test.yml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,9 @@ jobs:
3636
libcurl4 \
3737
libgl1 \
3838
libglu1-mesa \
39-
pulseaudio
39+
apulse
4040
41-
# Start PulseAudio with null sink for CI (no real audio hardware)
42-
pulseaudio --start --exit-idle-time=-1
43-
pactl load-module module-null-sink sink_name=dummy
44-
pactl set-default-sink dummy
41+
# apulse provides PulseAudio API with no actual audio hardware needed
4542
4643
- name: Download BAR Engine (with RmlUi support)
4744
run: |
@@ -179,11 +176,9 @@ jobs:
179176
180177
# Run Spring with Xvfb (virtual X11 display) so LuaUI loads
181178
# This actually tests RmlUi initialization!
182-
# Disable audio by removing any audio backend devices
183-
export SDL_AUDIODRIVER=dummy
184-
export AUDIODEV=null
179+
# Use apulse to emulate PulseAudio (no real audio hardware needed)
185180
timeout 10s xvfb-run -a -s "-screen 0 1024x768x24" \
186-
./spring --write-dir $(pwd)/test-data script.txt || EXIT_CODE=$?
181+
apulse ./spring --write-dir $(pwd)/test-data script.txt || EXIT_CODE=$?
187182
188183
# Wait a moment for Spring to finish writing logs
189184
sleep 2

0 commit comments

Comments
 (0)