protonscr

Games has no sound if system's pulseaudio is linked with liborc 0.4.17 or newer

steamclosed reviewedAudioruntime
ValveSoftware/steam-for-linux#2834 · opened 2013-09-08 by krnekit · updated 2016-12-19 · 10 comments · github
Kkrnekit 2013-09-08 github

I use Mageia Cauldron (development version of Mageia) and it has pulseaudio linked with more recent liborc, that is shipped with Steam. Because of Steam uses LD_LIBRRY_PATH, it uses own library, and this cause pulseaudio errors and games has no sound. Workaround is to delete Steam's liborc library. See this bugreport for more details.
Possible solution is to update liborc in Steam package.

Dderi82 2013-09-08 github

I would upgrade the steam library.

Ccoling 2013-09-09 github

@deri82 not sure if your suggestion was talking about upgrading it within the steam runtime bundle, or within the distro? For the avoidance of doubt the distro version of liborc is newer than that in the steam runtime bundle and that's what's causing the problems.

Dderi82 2013-09-09 github

I meant that it would better if steam would provide newer library as default.

Sscottlu 2013-09-17 github

I'll look into this. Thanks for reporting.

Jjmontleon 2013-10-04 github

After a bit more looking into this I have some more information that may possibly prove useful if you end up trying to duplicate the issue. As I mentioned on the referenced Mageia bug I had a Fedora 19 laptop that was working and a Fedora 19 desktop that was not. The difference turned out to be that the laptop had pulseaudio-gdm-hooks-3.0-10.fc19.x86_64 installed. All this package has is a single file:
rpm -ql pulseaudio-gdm-hooks-3.0-10.fc19.x86_64
/var/lib/gdm/.pulse
/var/lib/gdm/.pulse/default.pa

contents of which are:
load-module module-device-restore
load-module module-card-restore
load-module module-udev-detect
load-module module-native-protocol-unix
load-module module-default-device-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-intended-roles
load-module module-suspend-on-idle
load-module module-position-event-sounds

For whatever reason this masks the problem and sounds works without doing any LD_PRELOAD or other workarounds...

Ccoling 2013-10-05 github

From a technical level (as one of the PulseAudio developers) I cannot see how the gdm-hooks could in any way work around the issue.

This file is only used for the login stage (typically to work around issue related to bluetooth detection for the GDM user I believe).

This should have zero effect on the real user account and I really cannot see how this could affect missing symbols in binary packages, so I suspect there are other issues involved. Have you confirmed that removing this package on the laptop introduces the problem and installing it on your desktop solves it? If so, then I'll be very surprised.

Jjmontleon 2013-10-05 github

Ya, I think I spoke too soon. I installed the file and restarted pulseaudio and it worked. After a reboot it stopped again. That does seem reproducable. Boot up, sound doesn't work, kill the pulseaudio process, rerun /usr/bin/pulseaudio --start, and it will start working until I reboot again. Still no idea why one system works and the other does not...

Ttpruzina 2013-11-23 github

Perhaps lame question, is GrSec PaX (hardened) enabled on the machine that does not work?

Jjohndrinkwater 2014-03-18 github

This ought to be resolved when the update in #2924 gets released.

Kkisak-valve maintainer 2016-12-19 github

Closing as this appears to have been resolved.

Nothing extracted yet.