[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