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

Florian Schmidt
2006-01-05T11:43:17Z

On Thu, 05 Jan 2006 02:16:35 -0500
Lee Revell <rlrevell@joe-job.com> wrote:

> On Wed, 2006-01-04 at 11:37 +0100, tapas wrote:
> > ALSA's kernel level OSS emulation (as opposed to aoss) cannot provide
> > software mixing. As aoss cannot provide OSS emulation to all OSS apps
>
> Why not?

I did write it out before. aoss is a LD_PRELOAD hack. Apps/libs that
resolve the system call symbols at build time cannot be made to use
these calls from a different lib (which is what LD_PRELOAD tries to do).
A famous example is libc for which a workaround was added (as libc
offers its own mechanism to intercept fopen() et al.). Others can lurk
in the background, too. It would even be trivial to write an app that
aoss will not work with - ever (unless the code be modified - which is
not an option for closed source apps).

It simply cannot ever work with _all_ apps (as opposed to kernel level
OSS emu which can be made to work with _all_ apps (at least in
principle)).

Errm, i'm actually wrong about that. Kernel level OSS emu sw mixing
cannot work together with userspace ALSA sw mixing. I completely missed
that point.

I still think, the easiest way would be to use FUSE as it gives the best
of both worlds:

- device file access as opposed to LD_PRELOAD hack (which has principle
problems)

- access to userspace ALSA lib which would allow it to work together
with ALSA's sw mixing for native ALSA apps.

Maybe it can be developed as a third alternative independently. People
without FUSE would have to try their luck with the other two. Plus,
there's oss2jack which can probably be modified to use ALSA instead of
jack (although i thinkg oss2jack actually uses fusd and not FUSE. Hmm,
some more hacking would be required then). Also i think a FUSE based
approach is actually less ugly than a LD_PRELOAD hack.

BTW: Don't expect people to always write bug reports. We all know,
people are lazy. More often than not, they simply give up and say "linux
sucks" to their friends. Or if they can differentiate a little more,
they'll say "ALSA sucks" ;) [<- smiley, indicates humor]. Especially
those who use closed source apps ;)

Regards,
Flo

--
Palimm Palimm!