On DEbian, I can run fine both Arts and esd, plus any other ALSA application. My hardware support only one channel, but with a proper .asourdrc, all alsa applications can share the only channel. Under Gentoo, I can run arts, and any other ALSA application, exept esd: for example, I can start arts, then xmms-arts, and mplayer-alsa at the same time (mplayer use then alsa, and I still hear xmms, and when I kill arts, mplayer still run: I am 100% sure mplayer can use the uniq channel at the same time as arts, , with my magic .asourdrc.) but esd really sux: $ strace esd execve("/usr/bin/esd", ["esd"], [/* 61 vars */]) = 0 uname({sys="Linux", node="mercure", ...}) = 0 brk(0) = 0x8057000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=81641, ...}) = 0 mmap2(NULL, 81641, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fd5000 close(3) = 0 open("/lib/libwrap.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\36"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=25716, ...}) = 0 mmap2(NULL, 24900, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fce000 mmap2(0xb7fd3000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5) = 0xb7fd3000 mmap2(0xb7fd4000, 324, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fd4000 close(3) = 0 open("/usr/lib/libesd.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\'\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=37124, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fcd000 mmap2(NULL, 39108, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fc3000 mmap2(0xb7fcc000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8) = 0xb7fcc000 close(3) = 0 open("/usr/lib/libaudiofile.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240[\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=169644, ...}) = 0 mmap2(NULL, 165076, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f9a000 mmap2(0xb7fc0000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26) = 0xb7fc0000 close(3) = 0 open("/usr/lib/libasound.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \351\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=771968, ...}) = 0 mmap2(NULL, 761648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7ee0000 mmap2(0xb7f96000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb6) = 0xb7f96000 close(3) = 0 open("/lib/tls/libm.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P4\0\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=174904, ...}) = 0 mmap2(NULL, 151712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7eba000 mmap2(0xb7ede000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x23) = 0xb7ede000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\v\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=10948, ...}) = 0 mmap2(NULL, 12388, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7eb6000 mmap2(0xb7eb8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7eb8000 close(3) = 0 open("/lib/tls/libpthread.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0H\0\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=123796, ...}) = 0 mmap2(NULL, 74168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7ea3000 mmap2(0xb7eb2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe) = 0xb7eb2000 mmap2(0xb7eb4000, 4536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7eb4000 close(3) = 0 open("/lib/tls/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220P\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1359064, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ea2000 mmap2(NULL, 1268924, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7d6c000 mprotect(0xb7e9b000, 27836, PROT_NONE) = 0 mmap2(0xb7e9c000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12f) = 0xb7e9c000 mmap2(0xb7ea0000, 7356, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7ea0000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7d6b000 mprotect(0xb7e9c000, 4096, PROT_READ) = 0 mprotect(0xb7eb2000, 4096, PROT_READ) = 0 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7d6b6c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 munmap(0xb7fd5000, 81641) = 0 set_tid_address(0xb7d6b708) = 9356 rt_sigaction(SIGRTMIN, {0xb7ea7370, [], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0xb7ea73f0, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 _sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbffff0fc, 64, (nil), 0}) = 0 open("/dev/urandom", O_RDONLY) = 3 read(3, "Q\244\271\303", 4) = 4 close(3) = 0 brk(0) = 0x8057000 brk(0x8078000) = 0x8078000 open("/etc/esd/esd.conf", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe8000 read(3, "[esd]\nauto_spawn=1\nspawn_options"..., 4096) = 77 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7fe8000, 4096) = 0 open("/home/dhp/.esd.conf", O_RDONLY) = -1 ENOENT (No such file or directory) mkdir("/tmp/.esd", 01777) = 0 chmod("/tmp/.esd", 01777) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 connect(3, {sa_family=AF_FILE, path="/tmp/.esd/socket"}, 18) = -1 ENOENT (No such file or directory) unlink("/tmp/.esd/socket") = -1 ENOENT (No such file or directory) socket(PF_FILE, SOCK_STREAM, 0) = 4 fcntl64(4, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 setsockopt(4, SOL_SOCKET, SO_LINGER, {onoff=1, linger=100}, 8) = 0 setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 umask(0) = 022 bind(4, {sa_family=AF_FILE, path="/tmp/.esd/socket"}, 18) = 0 umask(022) = 0 listen(4, 16) = 0 open("/dev/snd/controlC0", O_RDONLY) = 5 close(5) = 0 stat64("/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_size=7467, ...}) = 0 open("/usr/share/alsa/alsa.conf", O_RDONLY) = 5 fstat64(5, {st_mode=S_IFREG|0644, st_size=7467, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe8000 read(5, "#\n# ALSA library configuration "..., 4096) = 4096 read(5, "if cards.pcm.iec958\npcm.modem ca"..., 4096) = 3371 read(5, "", 4096) = 0 read(5, "", 4096) = 0 close(5) = 0 munmap(0xb7fe8000, 4096) = 0 futex(0xb7eb9060, FUTEX_WAKE, 2147483647) = 0 access("/etc/asound.conf", R_OK) = -1 ENOENT (No such file or directory) access("/home/dhp/.asoundrc", R_OK) = 0 open("/home/dhp/.asoundrc", O_RDONLY) = 5 fstat64(5, {st_mode=S_IFREG|0644, st_size=1803, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe8000 read(5, "#(01:13:14) doneill: should be t"..., 4096) = 1803 read(5, "", 4096) = 0 read(5, "", 4096) = 0 close(5) = 0 munmap(0xb7fe8000, 4096) = 0 open("/dev/snd/controlC0", O_RDONLY) = 5 close(5) = 0 open("/dev/snd/controlC0", O_RDWR) = 5 ioctl(5, USBDEVFS_CONTROL, 0xbfffe93c) = 0 ioctl(5, 0x40045532, 0xbfffe964) = 0 open("/dev/snd/pcmC0D0p", O_RDWR|O_NONBLOCK) = -1 EBUSY (Device or resource busy) close(5) = 0 unlink("/tmp/.esd/socket") = 0 rmdir("/tmp/.esd") = 0 exit_group(2) = ? when arts is running. and if I kill arts, and run esd, then xmms can use esd, but ONLY ONCE. If I ever press the stop button of xmms, esd stops. All the same whatever accesses esd: gaim, mplayer ... after the first client exist, hop, it exits. # emerge esound arts -vp These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] media-sound/esound-0.2.34 +alsa +ipv6 +tcpd 0 kB # emerge info Portage 2.0.51.21-r1 (default-linux/x86/2005.0, gcc-3.4.3-20050110, glibc-2.3.5-r0, 2.6.11-gentoo-r6mercure i686) ================================================================= System uname: 2.6.11-gentoo-r6mercure i686 Pentium III (Coppermine) Gentoo Base System version 1.6.11 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.5 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r8 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.11 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_GB" LC_ALL="en_GB" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnowex X aalib alsa apache2 apm arts avi bash-completion berkdb bitmap-fonts bzlib cairo caps cmov crypt cups curl cx8 dba de directfb divx4linux djbfft doc dts dv dvb dvd dvdread elf emboss encode escreen esd ethereal etwin fbcon fftw flac font-server foomaticdb fortran fpu fpx ftp fxsr gd gdbm gif gnutls gpm graphviz gtk gtk2 hdf5 imagemagick imlib ipv6 java javascript jbig jpeg kerberos krb4 lcms ldap libcaca libclamav libg++ libwww lirc live lzo mad matroska mca mce mikmod mmap mmx motif mozilla mp3 mpeg mpi msr mtrr mysql mythtv ncurses nls nptl odbc ogg oggvorbis opengl oss pae pam pat pcre pdflib perl pge plotutils png pnp posix postgres pse pse36 python qt quicktime readline real rrdtool rtc samba sdl sep serial skey slang sndfile snmp spell sse ssl streamzap svga sysfs sysvipc tcpd tetex tga theora threads tiff truetype truetype-fonts tsc type1-fonts unicode v4l v4l2 vim vme vorbis wmf xanim xml xml2 xmlrpc xmms xpm xv xvid xvmc zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS, LINGUAS, PORTDIR_OVERLAY On Debian, esd used to werk very fine: all the time, and sharing my snd card with arts. I usually start esd without any argument. Especially NOT '-terminate' arg. when root does /etc/init.d/esound start process is created, but after the first client exists, esd falls down, like when user runs it manually.
Esound is gnome stuff.
This seems like a configuration problem. What do you have in the files /etc/esd/esd.conf and /etc/conf.d/esound? Check the man page for 'esd' and see what options could be affecting the behaviour you describe (e.g. the -as option).
(In reply to comment #1) > Esound is gnome stuff. I thought the Enlighted Sound Daemon was initiated by Enlightenment people ... any way, after switching to 2005.1, I cant reproduce. Let's close.