
Code: Select all
$ nano /etc/make.conf
Code: Select all
$ emerge -N world
Code: Select all
$ emerge -C arts
What should I set up in a kernel configuration in order that it works? I have got 2.6.12 but when I want to play two sounds at the same time, I get a familiar response: "Can't open /dev/dsp!"SinoTech wrote:Well, the 2.6.12 Kernel series supports SW-Mixing. So now multiple applications can access your sound devices at the same time (Until now arts (Or something similiar) has mixed all the stuff together).

Well, my kernel does it by default. I've got "gentoo-sources-2.6.12-r9" and used the kernel alsa-driver (Not the package "alsa-driver"). What's your settings ?miraceti wrote:What should I set up in a kernel configuration in order that it works? I have got 2.6.12 but when I want to play two sounds at the same time, I get a familiar response: "Can't open /dev/dsp!"SinoTech wrote:Well, the 2.6.12 Kernel series supports SW-Mixing. So now multiple applications can access your sound devices at the same time (Until now arts (Or something similiar) has mixed all the stuff together).
Thanks.
http://gentoo-wiki.com/HOWTO_ALSA_sound_mixer_aka_dmixmiraceti wrote:What should I set up in a kernel configuration in order that it works? I have got 2.6.12 but when I want to play two sounds at the same time, I get a familiar response: "Can't open /dev/dsp!"SinoTech wrote:Well, the 2.6.12 Kernel series supports SW-Mixing. So now multiple applications can access your sound devices at the same time (Until now arts (Or something similiar) has mixed all the stuff together).
Thanks.

But isn't the dmix-setup intended exactly to have the kernel manage the mixing of concurrent access to the sound device? Why can't the "normal" artsd be one of these processes?bssteph wrote:And then you could do as one of the posts above said and have the KDE sound system use aplay or whatever.
You're right. I was a bit inaccurate above. You configure the KDE System Notifications (technically, not the Sound Server) to play through aplay (or whatever) and for the most part, you can do without arts. If there were anything that used only arts, you'd be forced to use it (of course). And if you had two such things that demanded to use arts at the same time, you'd be stuck. It'd work, but AFAIK arts would mix those two sources before alsa/dmix were applied.tomvollerthun wrote:But isn't the dmix-setup intended exactly to have the kernel manage the mixing of concurrent access to the sound device? Why can't the "normal" artsd be one of these processes?
If another process, say amaroK with gstreamer, wants to play although artsd is playing already, doesn't the kernel manages the proper handling transparently for the applications?
So if I just want the nice things that jack or gstreamer provide, but don't really care what the remaining stuff does and just want "it to work", can't I simply configure dmix and everything works?

In all honesty, I wasn't thinking so far: it was just that I planned to use gstreamer but can't be bothered to recompile KDE without arts, so I basically want to use everything (read: arts) as before and gstreamer on top of it -- in this situation there's really only one artsd.bssteph wrote:EDIT: And if you're asking why there can't just be two artsd processes, well, that's exactly what artsd is supposed to not do, by design. Although that design is undesirable behavior in most situations when you have dmix working.
Since juk integrated gstreamer-support in the last release, the only thing I can think of is the internal stuff like knotify or artsdsp (that's obivous, isn't it?).bssteph wrote:On that note, is anyone aware of anything that uses ONLY arts?
Code: Select all
pcm.ossmix {
type dmix
ipc_key 1024 # must be unique!
ipc_perm 0660 # sound for everybody (at least in your group)
slave {
pcm "hw:0,0" # you cannot use a "plug" device here, darn.
period_time 0
period_size 1024 # must be power of 2
buffer_size 8192 # dito. It
#format "S32_LE"
#periods 128 # dito.
#rate 8000 # with rate 8000 you *will* hear,
# if ossmix is used :)
}
}
# bindings are cool. This says, that only the first
# two channels are to be used by dmix, which is enough for
# (most) oss apps and also lets multichannel chios work
# much faster:
bindings {
0 0 # from 0 => to 0
1 1 # from 1 => to 1
}
pcm.dsp0 {
type plug
slave.pcm "ossmix" # use our new PCM here
}
# mixer0 like above
ctl.mixer0 {
type hw
card 0
}