I would upgrade the steam library.
@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.
I meant that it would better if steam would provide newer library as default.
I'll look into this. Thanks for reporting.
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...
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.
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...
Perhaps lame question, is GrSec PaX (hardened) enabled on the machine that does not work?
Closing as this appears to have been resolved.
Nothing extracted yet.
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.