LPC: The past, present, and future of Linux audio
LPC: The past, present, and future of Linux audio
Posted Oct 18, 2009 11:52 UTC (Sun) by hannu (guest, #61409)Parent article: LPC: The past, present, and future of Linux audio
if there were already in the original presentation. Hopefully not since
both Paul and Lennart have been around long enough time to learn the
basic facts.
"The OSS API requires any services (like data format conversion,
routing, etc.) be implemented in the kernel."
Operations like data format conversions are no rocket science. They do
require few extra CPU cycles but so what. The same number of CPU cycles
will be spent even if the conversions are done in user space. The same
is true with "routing". Routing/mixing is always based on some kernel
level IPC mechanisms. In case of OSS these mechanisms are just hidden
behind the kernel level audio API.
"It also encourages applications to do things that do not work well with
other applications that are also trying to do some kind of audio task."
Like what?
History of the anti-OSS campaign is based on this kind of silly
arguments that don't make any sense. Any API can be misused by
developers who don't care to read the documentation. This is true with
OSS, ALSA, Jack, PulseAudio as well as every single API in the software
industry.
"OSS applications are written such that they believe they completely
control the hardware."
This is complete BS. Yes, there are many OSS applications that open
/dev/mixer and peek/poke the global hardware level volume controls
directly. However this is not the way how OSS is designed to be used.
"Because of that, Davis was quite clear that the 'OSS API must die'. He
noted that Fedora no longer supports OSS and was hopeful that other
distributions would follow that lead."
This is intentional misinformation. There is very loud group of audio
(API) developers who insist that OSS must die based on arguments like
the above. This started about 10 years ago but OSS is still used by
large number of applications. Why? Simply because OSS is perfectly
adequate for needs of 99% of the audio programs. And I doubt ALSA is any
better than OSS for the remaining 1% of applications (the laws of the
nature are the same for both of them).
The big reason to kill OSS is not OSS itself. If OSS is really that bad
then it should have died spontaneously years ago. However it's still
hanging around. The real reason is a design mistake made by developers
of ALSA . It prevents ALSA from co-existing with OSS. This mistake
prevents ALSA from becoming successful as long as there are any
applications using the OSS API. To be specific this "mistake" was ALSA's
decision to implement their own kernel level drivers instead of just
implementing alsa-lib on top of OSS drivers. Another fundamental mistake
was dmix that separates software mixing conceptually from hardware
mixing. For dmix to work it's necessary that all applications go through
ALSA's library interface even they don't need any of ALSA's "advanced"
features. Without these fundamental design flaws both OSS and ALSA could
exist at the same time.
As a workaround it's mandatory that linux distributions like Fedora drop
OSS prematurely. They are also required to move to RT kernels because
ALSA and its followers depend on real time response times. Only after
that the emperor can finally get his new clothes.
