Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 56745

Summary: esound daemon doesn't start properly with init.d script, but it starts up successfully without using the script, simply by entering "/usr/bin/esd &"
Product: Gentoo Linux Reporter: Perry Lu <perry>
Component: Current packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED INVALID    
Severity: normal CC: chriswhite
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Perry Lu 2004-07-11 19:23:08 UTC
When I start up init.d esound daemon, it appears everything is ok, but when I try to configure aRTs to use esound as output, no sound comes out. However, if I start up the daemon without using init.d script, just by entering "/usr/bin/esd &", sound comes out perfectly. I've played around with the options in /etc/conf.d/esound and /etc/esd/esd.conf(tried both tcp port and unix port), but it's the same everytime.

I did some checking using lsof, I get the following differences, when I use the init.d script:
....
esd       22913    root    0u   CHR        1,3                   5 /dev/null
esd       22913    root    1u   CHR        1,3                   5 /dev/null
esd       22913    root    2u   CHR        1,3                   5 /dev/null
...
when I start up esd without init.d script:
...
esd        5405    root    0u   CHR    136,119                 121 /dev/pts/119
esd        5405    root    1u   CHR    136,119                 121 /dev/pts/119
esd        5405    root    2u   CHR    136,119                 121 /dev/pts/119
...

I've also played around with the esound init.d script, if I remove the --background option in start-stop-daemon command, sound would come out ok too(eventhough the daemon would become a foreground task). If I add an "&" at the end of the start-stop-daemon line, I get 1 or 2 "/dev/null" with lsof, instead of 3. So perhaps this has something to do with the start-stop-daemon script.

Reproducible: Always
Steps to Reproduce:
1.start up esound daemon using /etc/init.d/esound script.
2.execute "lsof | grep esd"
3.play something with esound

Actual Results:  
"lsof | grep esd" would give you a dozen opened files/ports, 3 of them would 
be "/dev/null". and there is no sound when using esound. 

Expected Results:  
"lsof | grep esd" should give you something other than "/dev/null". and sound 
should come out. 

My sound card is an Soundblaster Audigy 2, and my linux is configured to use 
ALSA(runs flawlessly). My /etc/conf.d/esound and /etc/esd/esd.conf are as 
follows: 
:::::::::::::: 
/etc/conf.d/esound 
:::::::::::::: 
# Config file for /etc/init.d/esound 
 
# Note: You need to start esound on boot, only if you want to use it over 
network. 
 
# Warning: To use global esound daemon, you must also set spawn_options 
# in /etc/esd/esd.conf to the same protocol (i. e. add "-tcp") and unset 
# "Enable sound server startup" in gnome-sound-properties for all users 
# and optionally handle authentization. 
 
# For more see "esd -h". 
 
 
# Startup options 
 
# Do not beep on start. Free device after 2 sec. 
ESD_START="-nobeeps -as 2" 
 
 
# Network behavior. Use one of following. 
 
# Local only (useful for root-only soundcard access) 
#ESD_OPTIONS="" 
 
# Public TCP access. 
#ESD_OPTIONS="-tcp -public" 
 
# TCP access with bind to address. 
#ESD_OPTIONS="-tcp -bind $HOSTNAME" 
 
ESD_OPTIONS="-unix" 
:::::::::::::: 
/etc/esd/esd.conf 
:::::::::::::: 
[esd] 
auto_spawn=1 
spawn_options=-nobeeps -as 2 
spawn_wait_ms=100
Comment 1 Chris White (RETIRED) gentoo-dev 2004-07-11 19:27:24 UTC
Which version of esound is this so I can test?
Comment 2 Perry Lu 2004-07-11 19:55:43 UTC
my apologies, it's esound 0.2.34.
Comment 3 foser (RETIRED) gentoo-dev 2004-11-02 15:34:51 UTC
the init script should not be used for normal playback. Although i'm not so much into esound, starting it as a daemon is meant for network playback & then it's not supposed to give much sound on the local machine. You pasted the config file which  states this btw.

Your output just seems to denote the place where the output goes, if you start it as daemon it goes to null, otherwise to your terminal.

I don't see the bug here.