killall esd before game. run esd after game. missing gnome sounds.
Linux - GamesThis forum is for all discussion relating to gaming in Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Distribution: Gentoo Hardened using OpenRC not Systemd
Posts: 1,495
Rep:
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.
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).
Distribution: Gentoo Hardened using OpenRC not Systemd
Posts: 1,495
Original Poster
Rep:
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).
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.
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.