+++ This bug was initially created as a clone of Bug #199507 +++ I am using pulseaudio as a default sound server (user config) for all the programs. Unfortunately the module-esound-protocol-unix does not work as expected. It creates the necessary socket in /tmp/.esd (I have made a symlink /tmp/.esd-{$UID} too but it doesn't help) and when playing a sound file via any esd client (esdplay, esdcat etc) the sound is not played and there is no error in the debug log. In fact the log says the sound has been played. Reproducible: Always Steps to Reproduce: 1.Select pulseaudio as default esd wrapper: #eselect esd list Available ESounD implementations: [1] ESounD original [2] PulseAudio * # eselect esd set 2 2.Start a pulseaudio server 3.try to play a .wav file with esdplay (esdcat etc), e.g. : esdplay usr/share/sounds/login.wav Actual Results: output of esdplay /usr/share/sounds/login.wav: No error. No sound produced. output from pulseaudio log: I: client.c: Created 1 "Native client (UNIX socket client)" I: protocol-native.c: Got credentials: uid=504 gid=518 success=1 I: alsa-sink.c: Trying resume... I: alsa-sink.c: Resumed successfully... I: alsa-sink.c: Starting playback. I: resampler.c: Using resampler 'trivial' I: resampler.c: Using s16le as working format. I: sink-input.c: Created input 2 "Simultaneous output on HDA NVidia" on alsa_output.pci_10de_26c with sample spec s16le 2ch 44100Hz and channel map front-left,front-right I: alsa-sink.c: Trying resume... I: alsa-sink.c: Resumed successfully... I: alsa-sink.c: Starting playback. I: resampler.c: Using resampler 'trivial' I: resampler.c: Using s16le as working format. I: sink-input.c: Created input 3 "Simultaneous output on C-Media CMI8738" on alsa_output.pci_13f6_111 with sample spec s16le 2ch 44100Hz and channel map front-left,front-right I: module-combine.c: Resumed successfully... I: sink-input.c: Created input 4 "ALSA Playback" on combined with sample spec s16le 2ch 44100Hz and channel map front-left,front-right I: protocol-native.c: Requested tlength=371.52 ms, minreq=5.80 ms I: protocol-native.c: Final latency 1000.00 ms = 250.00 ms + 2*250.00 ms + 250.00 ms I: sink-input.c: Freeing input 4 "ALSA Playback" I: client.c: Freed 1 "ALSA plug-in [esdplay]" I: protocol-native.c: Connection died. I: module-combine.c: [combined] avg total latency is 88.44 msec. I: module-combine.c: [combined] target latency is 93.72 msec. I: module-combine.c: [Simultaneous output on HDA NVidia] new rate is 44100 Hz; ratio is 1.000; latency is 93723 usec. I: module-combine.c: [Simultaneous output on C-Media CMI8738] new rate is 44054 Hz; ratio is 0.999; latency is 83147 usec. I: module-suspend-on-idle.c: Sink combined idle for too long, suspending ... I: sink-input.c: Freeing input 2 "Simultaneous output on HDA NVidia" I: sink-input.c: Freeing input 3 "Simultaneous output on C-Media CMI8738" I: module-combine.c: Device suspended... Expected Results: It should have played sound. Additional info: pulseaudio --dump-conf ### Read from configuration file: /etc/pulse/daemon.conf ### daemonize = no fail = yes high-priority = no nice-level = -11 realtime-scheduling = no realtime-priority = 5 disallow-module-loading = no disallow-exit = no use-pid-file = yes system-instance = no no-cpu-limit = no disable-shm = no flat-volumes = yes exit-idle-time = 20 scache-idle-time = 20 dl-search-path = /usr/lib64/pulse-0.9.15/modules/ default-script-file = /etc/pulse/default.pa load-default-script-file = yes log-target = auto log-level = notice resample-method = src-linear disable-remixing = no disable-lfe-remixing = yes default-sample-format = s16le default-sample-rate = 44100 default-sample-channels = 2 default-channel-map = front-left,front-right default-fragments = 8 default-fragment-size-msec = 10 shm-size-bytes = 0 log-meta = no log-time = no log-backtrace = 0 rlimit-fsize = -1 rlimit-data = -1 rlimit-stack = -1 rlimit-core = -1 rlimit-rss = -1 rlimit-as = -1 rlimit-nproc = -1 rlimit-nofile = 256 rlimit-memlock = -1 rlimit-locks = -1 rlimit-sigpending = -1 rlimit-msgqueue = -1 rlimit-nice = 31 rlimit-rtprio = 9 rlimit-rttime = 1000000 The server itself works great (though for 32bit apps it is not working due to the LACK of pulseaudio support in the emul- ebuilds!), only esound compatibility is broken. Ekerazha reported this bug on the Pulseaudio website long ago - http://www.pulseaudio.org/ticket/121: "Please report this issue to the gentoo bugzilla: if they decided to patch esd to use a non-standard socket dir, then they should be patching PA the same way too. I am closing this bug now as this seems to be a configuration error, and very likely specific to Gentoo (or Ubuntu)"
It turns out that the esd clients try to open the socket from /tmp/.esddefault-{$UID} and thus getting an error and fail to produce sound. Symlinking /tmp/.esddefault-{$UID} to /tmp/.esd fixes the problem. So the socket location should be fixed somehow... Probably using the "--disable-per-user-esound-socket" option in PA is not the right choice... On the other hand the pure source of PA uses /tmp/.esd-{$UID} location for the socket.... Something is definitely wrong so should be fixed.
Probably a patch to the 'esd_get_socket_dirname(void)' in utils.c should be added to the media-sound/esound ebuild too... so AUDIODEV not to be a part of the dir's name...
stll don't know what this was assigned to gnome...
I guess for the esound part. @gnome: did something change in the esound setup? Do you enable the Fedora/Ubuntu per-user sockets? Should I drop the global non-user socket in PulseAudio?
(In reply to comment #4) > I guess for the esound part. > > @gnome: did something change in the esound setup? Do you enable the > Fedora/Ubuntu per-user sockets? Should I drop the global non-user socket in > PulseAudio? > Yes it is in gnome, because it is about esd.... Well i think i have described the problem well enough. Anyway before i created this bug here, i have filed a bug on pulseaudio but according to them this is not an upstream problem ( http://www.pulseaudio.org/ticket/587 ). Unfortunately because of this problem with pulse (and because of several others too) i have totally wiped out pulse from my system, and i am not willing to use it anymore, so i cannot help you anymore here. If you want you may close this bug, though the problem will remain. Look at my comment #2 for a possible workout.
esd 0.2.41 changelog has this entry: 2008-11-18 Josselin Mouette <joss@malsain.org> Patch from Martin Pitt <martin.pitt@ubuntu.com> * util.c: (esd_get_socket_dirname): support multiple esd instances (one per user). and esdplay on my system shows this: $ strace -e open,access esdplay /usr/share/sounds/login.wav access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 open("/usr/lib64/libesd.so.0", O_RDONLY) = 3 open("/lib64/libc.so.6", O_RDONLY) = 3 open("/usr/lib64/libasound.so.2", O_RDONLY) = 3 open("/usr/lib64/libaudiofile.so.0", O_RDONLY) = 3 open("/lib64/libm.so.6", O_RDONLY) = 3 open("/lib64/libdl.so.2", O_RDONLY) = 3 open("/lib64/libpthread.so.0", O_RDONLY) = 3 open("/lib64/librt.so.1", O_RDONLY) = 3 open("/usr/share/sounds/login.wav", O_RDONLY) = 3 access("/tmp/.esd-1000/socket", R_OK|W_OK) = -1 ENOENT (No such file or directory) open("/etc/gai.conf", O_RDONLY) = 4 open("/home/eva/.esd_auth", O_RDONLY) = 5 I didn't configure anything so I guess if reporter can't provide updates on the situation that this bug can be closed worksforme.