aRts vs JACK

Kai Vehmanen kai.vehmanen at wakkanet.fi
Sat Feb 22 23:13:35 GMT 2003


On Sat, 22 Feb 2003, Charles Samuels wrote:

> I really wish that Linux would implement mixing in the kernel already, and 
> also Alan Cox weren't such a dork and removing stuff like resamplers so that 
> that mixing in the kernel isn't opposite.  Am I the only one thinks that 
> hardware drivers belong in the kernel, and not in userspace, where OSS is the 
> hardware.

That's quite a harsh statement. Implementing resampling and mixing is a
really difficult problem and a generic, optimal solution is just
impossible (for instance, to implement high-quality and high-performance
multi-rate apps, you just have to implement custom resamplers that have
hardcoded src and target srates). It would be unwise to put some mediocre
system to kernel space, with no floating-point support available, and with
the harder development environment.

Anyways, I really recommend (for all you guyes) to take a look at what is
happening ALSA.  Few specific points:

1. They have a in-kernel software-mixer that is implemented
   in a really clever way (shared mmap of hw pcm memory area. 
   This is the dmix plugin. There's also another software-mixer
   that is implemented in user-space (and is not JACK). All 
   these can be accessed using both ALSA and OSS PCM APIs.

2. ALSA provides a very flexible system for configuring PCM 
   devices that can handle hw configuations with lots of devices, 
   and even hot-plugging. You don't have to rely on plug-in 
   order, but instead create named per-device configurations.

3. There's nowadays an initial version of ALSA JACK pcm plugin.
   Basicly this is your arts->jack->alsa gateway. 

It seems that in many ways ALSA suffers from the very same problems as
aRts. Lots of good code and brilliant developers. But also: documention
not in perfect shape, developers are buried with work, lots of people that
only have complaints and negatives things to say. Fortunately for ALSA,
now that ALSA is in the Linux-2.5 tree and the API closes on 1.0 status,
things are looking much better. I hope the same future to you aRts
developers.

As someone who is involved and closely follows both JACK and ALSA (as well
as other lad projects), I'd really like to welcome you, the KDE multimedia
people, to join these projects. There's plenty of work for all of us, so
there's no point to develop on these islands of our own.

--
 http://www.eca.cx
 Audio software for Linux!



More information about the kde-multimedia mailing list