Re: [2.6 patch] schedule obsolete OSS drivers for removal

Olivier Galibert
2006-01-04T22:25:17Z

On Wed, Jan 04, 2006 at 03:12:33PM -0500, Kyle Moffett wrote:
> Software mixing in the kernel probably _IS_ FPU ops in the kernel.
> We already do video mixing (think X) in userspace, I see no reason
> why audio should be different.

Bad comparison. X as it is is so good that if you want something
remotely looking like performance you end up with a proprietary kernel
module the size of Cleveland.

Software mixing in practice could be in the kernel, it's for instance
way less complex than say the network stack. I mean, even with an
helper thread, it fits in 20-30 lines of kernel code or so. But what
happens is that you quickly want much more than that. To give you
some examples:

- resampling (with a wide array of algorithms with a different cpu
usage/result quality mix), especially since a number of chips are
48KHz only.

- AC3/DTS encoding for multichannel output on spdif.

- spatialisation (virtual or real, depending on the hardware
available).

- dynamic range compression.

So as soon as you build some decent infrastructure to allow for that
in userspace, having software mixing specifically in the kernel does
not make much sense.

I have 3 main problems with ALSA, but using userspace for flexibility
is definitively not one of them.

OG.