[Linux] Audio driver falls back to alsa. SDL3 fails to initialize pipewire
Steps to reproduce a case where the driver falls back to alsa:
- run game (/home/$USER/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/$USER/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=730 -- '/home/$USER/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/$USER/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/game/cs2.sh' -steam)
Notes: file "/usr/lib64/alsa-lib/libasound_module_pcm_pulse.so" exists in my filesystem and contains all required symbols.
steps to reproduce a case where the driver is set to pipewire:
- run game (/home/$USER/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/$USER/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=730 -- '/home/$USER/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/$USER/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/game/cs2.sh' -steam -sdlaudiodriver pipewire)
Notes: I've compiled a simple demo program from SDL3's website (01-simple-playback) and my system's libSDL3 has no problem initializing pipewire and playing sound.
- My user is inside the "audio" and "pipewire" groups.
- No other audio issues.
- Pipewire version: 1.4.8 enabled alsa and pulseaudio support
- cs2 does not use pipewire's pulse or alsa server
it's probably the problem with a sniper runtime and that it can't access pipewire's socket which is the outside pressure vessel. but still, cs2 is the only game where I can identify this problem. should I file an issue for https://github.com/ValveSoftware/steam-runtime?
I have the same issue. The issue for me only happens, when i have discord or teamspeak open. Any ideas why it only happens then?
I have the same issue. The issue for me only happens, when i have discord or teamspeak open. Any ideas why it only happens then?
my suspected solution for this issue is quite easy. just create symbolic link from /run to ~/.steam/steam/steamapps/common/SteamLinuxRuntime_soldier/var/tmp-<random ID>/
vessels=(~/.steam/steam/steamapps/common/SteamLinuxRuntime_soldier/var/tmp-*); echo ln -s /run/ "${vessels[0]}/"