Agreed, but as I tried to indicate, there's a
boatload of helpful
information out there. jwz writes *as if it doesn't exist*. He doesn't
avail himself of the available resources, and he discredits himself and
his opinions by just that failure. His articles show little evidence of
background research and/or communication with the developers. And
whether anyone in Linuxland likes it, this communication is still an
integral and necessary aspect of the system's success (past, current,
and future).
There is no question whatsoever that the ALSA's documentation at this point
is sufficient. However, I cannot shake the feeling that we may be missing
one of jwz's valid and perhaps most important points for the success of
Linux on the desktop:
When I install just about any current distro, my video in most cases "just
works." Granted, I may need to install the proprietary driver from Nvidia or
ATI for good 3D performance (and in some cases not even that, i.e. Intel
integrated chipsets), but that's about it (although I am sure some of you
may object to this analogy, generally I find that in most cases xorg
automagically configures itself and stuff simply works). Now, software
mixing (which imho is what jwz was ultimately hinting at despite some
confusion between hw and sw mixing) at least imho should be a part of the
default desktop experience. Please note that us, LAD/LAU members, are but a
small percentage of the overall Linux community, and as such our ALSA needs
cannot be observed as the "benchmark" of the overall Linux desktop needs.
Quite the contrary, as pointed in jwz's blog, most users simply want to play
Quake3 while having Xmms or Amarok or whatever play in the background,
coupled with various "you got mail" desktop dings and possibly
voice-over-net apps.
Now, it is true that most of such concerns should be distro makers'
responsibility but ALSA project could certainly help further such endeavors
by providing default bindings in the /etc/asoundrc file where first card
could be used for these purposes with all the glory of async/dmix/snoop
stuff installed by default. Then, for those of us who do not like this kind
of behavior we could simply disable such functionality by connecting jackd
directly to the hw:0, in effect bypassing the plughw and the problem is
solved--default desktop user would have what most OS's have had since early
90's, and us select few who would want to use Linux for specific
audio-related tasks would tweak our .asoundrc's (just like we always do).
The only difference is that this way the default behavior is tailored
towards majority and yet flexible enough to fulfill just about anyone's
needs.*
The side-effect of such an approach would prove ALSA's dominance over OSS
among the average joe user (who are the majority of Linux users, after all)
and this would in effect quickly make OSS obsolete, further simplifying the
entire matter of audio hw support.
Now, is this entirely ALSA's responsibility? Absolutely not. However, could
ALSA make some steps to promote these critical technologies (i.e. the
aforementioned integration with /etc/asoundrc) and therefore make desktop
out-of-box experience more user-friendly? Absolutely!
*the only possible concern with this potential solution is how ALSA deals
with async plugin when it has some particular process talking to the card
and then jackd wants to connect directly to the hw:0. Will jackd be denied
or will the async drop what it was doing in order to allow jackd to connect?
Best wishes,
Ivica Ico Bukvic, composer & multimedia sculptor
http://meowing.ccm.uc.edu/~ico/