Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 91646 - esound esd cant use ALSA properly.
Summary: esound esd cant use ALSA properly.
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-05 20:46 UTC by DEMAINE Benoît-Pierre, aka DoubleHP
Modified: 2005-12-21 12:09 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description DEMAINE Benoît-Pierre, aka DoubleHP 2005-05-05 20:46:43 UTC
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.
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-07-15 04:46:11 UTC
Esound is gnome stuff. 
 
Comment 2 Leonardo Boshell (RETIRED) gentoo-dev 2005-10-31 05:00:16 UTC
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).
Comment 3 DEMAINE Benoît-Pierre, aka DoubleHP 2005-12-21 12:09:14 UTC
(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.