LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Games
User Name
Password
Linux - Games This forum is for all discussion relating to gaming in Linux.

Notices


Reply
  Search this Thread
Old 09-26-2006, 11:39 AM   #1
fakie_flip
Senior Member
 
Registered: Feb 2005
Location: San Antonio, Texas
Distribution: Gentoo Hardened using OpenRC not Systemd
Posts: 1,495

Rep: Reputation: 85
Question killall esd before game. run esd after game. missing gnome sounds.


I'm having to make scripts and killall esd before I play many games to get sound such as ppracer, wolfet, and cube2. After the game is finished, and I run esd again, I dont have gnome sounds, but I do have sounds for such things as mp3s. Has anyone had this problem or found a solution? I wish there was something better than killing the sound daemon each time besides that I don't get all my sounds back when I run it again. Thanks.
 
Old 09-26-2006, 11:59 PM   #2
PingFloyd
Member
 
Registered: Jun 2006
Posts: 94

Rep: Reputation: 16
I don't play those games on my system but I had sort of similar problem.

My problem was that esd was typing up my oss device /dev/dsp. As a result I couldn't get Rhythmbox as it would give me an error message about /dev/dsp being busy. It was busy as a result of being tied up by esd.

As you might already know, esd is the sound daemon that is responsible for allow you play system sounds. It's purpose was to allow more than one sound to be streamed to the sound card more or less. This is a good thing. However, it tends to create some gotchas and confusion.

I was finally able to get Rhythmbox to work and what I ended up doing may be helpful to you. Maybe not, but like most things Linux, it's all about experimenting to find out anything for sure. There is of course other ways to accomplish the same goal, but they seemed a bit complicated and harder to keep track of should they pose a gotcha in the future (i.e. tweaking around with settings for the alsa dmix plugin).

The first thing I did was change the libary that esd was using. In Debian it uses a library that has esd make use of oss. I installed the library that has esd use alsa instead. This didn't fix the problem yet though. And I think it may have been irrelevent to my issue since either way I would think alsa would be in effect (either through native alsa or oss emulation). I think changing that library only has an impact as to whether esd will access the sound card through native alsa or alsa oss emulation (and possibly which device ESD will use). But still worth mentioning since it may be something you may need to tweak around with.

The main thing that got Rhythmbox working was changing a gnome setting. Desktop Preferences -> Advanced -> Multimedia Systems Selector. I had to change the Default Sink Setting to "Output: ESD" and "pipeline: esdsink". The reason this worked was because Rhythmbox makes use of gstreamer framework. This in essense told Rhythmbox to utilize ESD for it's sounds.

I'm thinking maybe in your case the games may by trying to use OSS. If you have Alsa on your system, then that's going to be handle through Alsa OSS emulation (snd-pcm-oss module). First of all, make sure that module is loaded if you use Alsa instead of OSS, if those games make use of OSS.

That library that I mentioned earlier:
On Debian there is two of these libraries related to ESD. One is libesd0 (for oss support) and libesd-alsa0 (for alsa support). These two libraries conflict with each other so you can only have one or the other. In Debian, it's packaging system is set up that it will remove one if you add the other and vice versa. If you're running a different distro than Debian, then you'll want to look for something like libesd or the sort and see what your options are specific to your distro. Probably most distros will have both libraries available. You may or may not have to take care of the issue of a conflict between the two libraries depending upon the packaging system that you use. You may even have to go the route of compiling the source as a last resort. Either way, hopefully that gives you and some help in the right direction.

What you can try is to use say libesd-alsa0 if your games required OSS thereby hopefully having esd not take up /dev/dsp or do it the other way around if the game uses alsa and you're having this delimma of esd tieing up the device.

I don't know if any of this will solve your particular problems, but it may address the conflict between how the game is trying to access sound and how esd is.

What you might start off by doing is first figure by what means the games are accessing your sound hardware (through alsa, oss, or sdl etc). Then it's a matter of figuring out if esd is tieing up the device they need to be able to access to produce their sound and making adjustments to it to access your sound hardware via other means (or device).
 
Old 09-28-2006, 11:53 AM   #3
fakie_flip
Senior Member
 
Registered: Feb 2005
Location: San Antonio, Texas
Distribution: Gentoo Hardened using OpenRC not Systemd
Posts: 1,495

Original Poster
Rep: Reputation: 85
Quote:
Originally Posted by PingFloyd
As you might already know, esd is the sound daemon that is responsible for allow you play system sounds. It's purpose was to allow more than one sound to be streamed to the sound card more or less. This is a good thing. However, it tends to create some gotchas and confusion.
Okay, now I understand a little better. I thought esd, oss, and alsa were all sound drivers with only one being used at a time. I'm still not sure how replacing alsa with oss or vice versa corrects the problem caused by esd if that is required for all.

Quote:
The first thing I did was change the libary that esd was using. In Debian it uses a library that has esd make use of oss. I installed the library that has esd use alsa instead. This didn't fix the problem yet though. And I think it may have been irrelevent to my issue since either way I would think alsa would be in effect (either through native alsa or oss emulation). I think changing that library only has an impact as to whether esd will access the sound card through native alsa or alsa oss emulation (and possibly which device ESD will use). But still worth mentioning since it may be something you may need to tweak around with.
Thank you. I have sound working now without those problems I described earlier, and I don't need the scripts anymore which didn't solve all of my problems completely. I am also using Debian. The one I have is Etch. I went from Oss to Alsa and let Apt take care of the dependencies of those two. I had thought about using Alsa before, but didn't know which packages to install, and that it was so simple to do. Thanks for that information. Why is emulation needed? I'm just wondering what that is about.

Quote:
The main thing that got Rhythmbox working was changing a gnome setting. Desktop Preferences -> Advanced -> Multimedia Systems Selector. I had to change the Default Sink Setting to "Output: ESD" and "pipeline: esdsink". The reason this worked was because Rhythmbox makes use of gstreamer framework. This in essense told Rhythmbox to utilize ESD for it's sounds.
I looked, and I do not have those menus. I have everything untill you get to the part "Advaned". Then I do not have that menu. Maybe I can do the same thing if it's ever needed by running "alsaconf".

Quote:
I'm thinking maybe in your case the games may by trying to use OSS. If you have Alsa on your system, then that's going to be handle through Alsa OSS emulation (snd-pcm-oss module). First of all, make sure that module is loaded if you use Alsa instead of OSS, if those games make use of OSS.
I checked, and I did have that module loaded. I had to install a few SDL packages before installing the games, so that's what they are using probably in addition to OSS or Alsa.

Quote:
That library that I mentioned earlier:
On Debian there is two of these libraries related to ESD. One is libesd0 (for oss support) and libesd-alsa0 (for alsa support). These two libraries conflict with each other so you can only have one or the other. In Debian, it's packaging system is set up that it will remove one if you add the other and vice versa. If you're running a different distro than Debian, then you'll want to look for something like libesd or the sort and see what your options are specific to your distro. Probably most distros will have both libraries available. You may or may not have to take care of the issue of a conflict between the two libraries depending upon the packaging system that you use. You may even have to go the route of compiling the source as a last resort. Either way, hopefully that gives you and some help in the right direction.
I can't remember the exact package names, but Apt did take care of those dependencies.

Quote:
What you can try is to use say libesd-alsa0 if your games required OSS thereby hopefully having esd not take up /dev/dsp or do it the other way around if the game uses alsa and you're having this delimma of esd tieing up the device.
Worked!

Quote:
I don't know if any of this will solve your particular problems, but it may address the conflict between how the game is trying to access sound and how esd is.
All of my sound problems are solved. Thanks again.

Quote:
What you might start off by doing is first figure by what means the games are accessing your sound hardware (through alsa, oss, or sdl etc). Then it's a matter of figuring out if esd is tieing up the device they need to be able to access to produce their sound and making adjustments to it to access your sound hardware via other means (or device).
Now, I have to go to class. Thanks.
 
Old 09-30-2006, 04:47 AM   #4
PingFloyd
Member
 
Registered: Jun 2006
Posts: 94

Rep: Reputation: 16
Glad to hear it worked. It seems that there are a bunch of different methods out there to fix the issue that you and I were experiencing, but I like to keep things as easy, to keep track of and manage, as much as possible.

here's a link to a different method to resolve the same issue.
http://www.ubuntuforums.org/showthread.php?t=32063

In case you're wondering:
That "multimedia system selector" I was talking about, gstreamer-properties is the name of the binary. It may be on your system and may be more of a matter that there is just no launcher set up in your menu for it.

My guess is that maybe by default the distro of gnome for sid might be using the more default gnome menu. Whereas with sarge, it's using a more debian customized one by default. There is two different default menus to choose from that I can add to the panel. You might check in "add to panel" if you're curious.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
will you play windows game or linux native game pleasehelpme Linux - Newbie 16 04-29-2007 09:58 PM
/dev/dsp busy, killall esd itsjustme Ubuntu 6 06-15-2005 05:15 PM
funny game sounds trscookie Linux - Games 1 05-10-2005 09:33 PM
esd problem with Gnome / several users sylvain_gnu Debian 7 05-17-2004 10:43 AM
ESD Not Dying At Gnome Logout Golem Linux - Software 0 01-30-2002 08:55 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Games

All times are GMT -5. The time now is 02:15 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration