[kde-freebsd] KSayit questions... .
Bartosz Fabianowski
freebsd at chillt.de
Wed May 23 17:29:02 CEST 2007
> I still don't understand how arts, oss, and esd work together.
It's pretty simple really. Traditionally, OSS encapsulates the sound
driver and provides access to the sound card through the /dev/dsp
device. Unfortunately, this device can be opened for writing only by a
single process at a time. As multimedia became more prevalent, people
wanted to be able to play multiple sounds at once, say to listen to an
MP3 but also get system notifications via jingles. The way this was
solved was through a sound server - a daemon that opens /dev/dsp and
then multiplexes whatever audio other processes send to it. KDE adopted
the aRts daemon, GNOME chose ESD. So, now, you have two competing
daemons, each of which is able to multiplex sound sources but also needs
exclusive access to /dev/dsp to do its work. Needless to say, this is
bound to fail - only artsd or esd can open the device at any given time.
To solve this dilemma, you enable vchans - a multiplexing facility in
the FreeBSD kernel that presents several "virtual" sound cards as
numbered /dev/dspX devices. artsd can then connect to one of those, esd
to another and FreeBSD takes care of multiplexing their outputs into one
stream that is fed to the actual sound card.
HTH
- Bartosz
More information about the kde-freebsd
mailing list