Posted October 29, 2025 by Vovkinshteynplay
Goal: run MATCH under WSL 2 with working audio and no crashes.
(All steps below apply only to WSL — regular Linux users don’t need them.)
In Windows PowerShell:
wsl --version
Expected output:
WSL version: 2.3.x Kernel version: 5.x WSLg version: 1.x.x
If WSLg is missing, update and restart:
wsl --update wsl --shutdown
Inside WSL:
ls /mnt/wslg
If you see PulseServer — great, sound proxy is available.
These packages enable full PulseAudio/PipeWire support and fix the
Failed loading libpulse-simple.so.0 error.
sudo apt update sudo apt install -y \ libpulse0 libpulse-mainloop-glib0 libpulse-simple0 \ libasound2 pulseaudio-utils
Fedora:
sudo dnf install -y pulseaudio-libs pulseaudio-utils alsa-lib
Arch / Manjaro:
sudo pacman -S --needed pulseaudio pulseaudio-alsa alsa-lib # or, for PipeWire systems: sudo pacman -S --needed pipewire pipewire-pulse alsa-lib
Add to the end of ~/.bashrc (or ~/.zshrc):
export PULSE_SERVER=unix:/mnt/wslg/PulseServer export SDL_AUDIODRIVER=pulse
Apply changes:
source ~/.bashrc
pactl info paplay /usr/share/sounds/alsa/Front_Center.wav
If you hear “Front Center” — 🎉 sound works!
./MATCH # or python MATCH.py
If everything is set correctly, the game will start with audio and without the
libpulse-simple.so.0 error.
That’s a WSLg limitation, not the game. You can run in a safe silent mode:
SDL_AUDIODRIVER=dummy ./MATCH
Also ensure your code initializes audio with a fallback (already present in MATCH).
clock = pygame.time.Clock()<br>...<br>clock.tick(60)pygame.mixer.pre_init(48000, -16, 2, 2048)| Before | After |
|---|---|
| pygame.error: dsp: No such audio device | ✅ no longer appears |
| Failed loading libpulse-simple.so.0 | ✅ fixed |
| No sound | ✅ sound works |
| Crackling / freeze | ⚠️ minimal or gone (WSLg limits still apply) |
> WSL2 environment detected
> PulseAudio connection established [OK]
> MATCH running with sound
> enjoy minimalist precision across systems
Built with: Python + pygame • Cross-Platform Beta