protonscr

Steam searches for libasound_module_pcm_pulse.so at the wrong location

steamclosed reviewedSteam client
ValveSoftware/steam-for-linux#1199 · opened 2013-02-02 by ghost · updated 2013-02-03 · 22 comments · github
?ghost 2013-02-02 github

I am using Pulseaudio with my Xonar DG (The only way to get volume control working) and Steam looks for the libsound_module_pcm_pulse.so at the wrong location.

OS: Arch Linux x86_64

Error message:
AL lib: pulseaudio.c:612: Context did not connect: Access denied
ALSA lib dlmisc.c:254:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so
AL lib: alsa.c:512: Could not open playback device 'default': No such device or address
Failed to open digital audio driver Couldn't open OAL device.

The libasound_module_pcm_pulse.so file is located at /usr/lib32/alsa-lib/

Starting Steam with STEAM_RUNTIME=0 steam works and I can listen to sound just fine.

Sslouken 2013-02-02 github

Does this workaround solve things for you?
If /var/lib/dbus/machine-id doesn't exist and /etc/machine-id does, try this:
sudo ln -s /etc/machine-id /var/lib/dbus/machine-id

?ghost 2013-02-02 github

/var/lib/dbus/machine-id did not exist. Sadly your workaround didn't work as well.

Here is the console output without STEAM_RUNTIME=0:
http://ompldr.org/vaGJudQ

Here with STEAM_RUNTIME=0:
http://ompldr.org/vaGJudg

Here is the system information:
http://ompldr.org/vaGJueQ

This is strange:
Operating System Version:
Linux (64 bit)

As far as a I know it should be "Arch Linux" (64 bit). Steam doesn't detect my distro it seems.

Sslouken 2013-02-02 github

The permission denied message usually means the machine ID wasn't detected properly.
Can you attach the output from these commands?
STEAM_RUNTIME=0 strace -f steam 2>&1 | grep "open(" >/tmp/steam_runtime_disabled.txt
STEAM_RUNTIME=1 strace -f steam 2>&1 | grep "open(" >/tmp/steam_runtime_enabled.txt

Thanks!

?ghost 2013-02-02 github

steam_runtime_disabled.txt: http://ompldr.org/vaGJvaA
steam_runtime_enabled.txt: http://ompldr.org/vaGJvaQ

Sslouken 2013-02-02 github

Can you run the full strace without the grep and look for the calls around the message "Context did not connect"? From the current traces it looks like pulseaudio finds the machine id and the cookie file and is all happy.

?ghost 2013-02-02 github

I made a full strace log and I cannot find this message at all. Is there something particular I need to look for?
I can't post here the URL because I don't know if my password is saved inside the log.

Sslouken 2013-02-02 github

I'm looking for "AL lib: pulseaudio.c:612: Context did not connect: Access denied"
It should show up if you did strace -f ... maybe the message was truncated in the log? Maybe look just for "AL lib"?

Sslouken 2013-02-02 github

Specifically I'm looking for things right before that log message in the trace with the same process ID as that log message, anything indicating a failure to open a file, or a network message with a rejection message or something like that.

?ghost 2013-02-02 github

Sadly I can't find anything useful. I saw you made a patch for steam-runtime to fix this issue.

I will wait until the patch is deployed.

Sslouken 2013-02-02 github

I don't think the patch will fix your issue. Everyone else was fixed by the machine-id symbolic link.
If you want you can send the log to [email protected]

Or you can just wait and see if the update fixes it. :)

?ghost 2013-02-02 github

I sent you the log file. I hope you can find something useful.

Nnikod 2013-02-03 github

Same problem here, happened after the last update, a workaround is make a symlink of alsa-lib from lib32 on lib/i386-linux-gnu

?ghost 2013-02-03 github

@nikod This is a terrible idea. @slouken found out what is the problem and I guess it will get fixed soon. Until then, use this command instead: ln -s /run/user/1000/pulse/native /var/run/pulse/native

Nnikod 2013-02-03 github

I know is not the best idea but is a workaround if you need the sound... anyway I did the symlink to /var/run/ but didn't do anything for me, no sound at all.

Ddisiu 2013-02-03 github

I've got this issue too after the last update. 1 February.
running STEAM_RUNTIME=0 gave me the audio.

@vorenon what that command do ?

I'm using Manjaro Linux which is Arch based.

Sslouken 2013-02-03 github

We found a better workaround until the next update. If you have XDG_RUNTIME_DIR set, you can do this:
export PULSE_RUNTIME_PATH=$XDG_RUNTIME_DIR/pulse

Ccpuspellcaster 2013-02-03 github

@slouken That did not work for me on Arch Linux 64, and yes I have the XDG_RUNTIME_DIR set:

➜  ~  echo $XDG_RUNTIME_DIR
/run/user/1000
Sslouken 2013-02-03 github

@jkelsey, you may have to do both the PULSE_RUNTIME_PATH workaround and the /etc/machine-id symlink workaround. If you do both, does sound start working?

Ppavanky 2013-02-03 github

@slouken I was having the same issues on Arch Linux 64. I can confirm that setting PULSE_RUNTIME_PATH and symlinking /etc/machine-id to /var/lib/dbus/machine-id works.

Ddisiu 2013-02-03 github

Yes, I confirm that too. On Manjaro Linux x64 (which btw is identified by the runtime script ) symlink + path works.

Nnikod 2013-02-03 github

@slouken That is the same as veronon said, pretty much... didn't work for me sadly, I did the symlink of machine-id too... if I run steam with STEAM_RUNTIME=0 does work.

?ghost 2013-02-03 github

I just realized that this bug report is a duplicate of #1179. I am going to close this.

Nothing extracted yet.