I never got a response to my query, not even an RTFM (although I'm pretty sure this isn't in the M). So, in case anyone else is wondering, here's what I've since found:
- The kernel packages do NOT limit themselves to taking an entire released ALSA package. In particular, the 3.6.X series has a number of improvements and changes that aren't in the latest (year old) alsa-driver 1.0.25 package. I'll guess that they're taken directly from the alsa GIT repository, but it's hard to know.
- The alsa-driver package installs items that are NOT a part of the kernel package. The alsasound startup script and the ALSA headers are the examples I've found so far, but there may be more items.
- When installed, the alsa-driver package installs its modules into the currently running kernel's directories. So, if you want to have the latest system, you need to install the kernel, reboot into that kernel, install alsa-driver, reinstall the kernel, and reboot again. Ugh.
<rant> ALSA's Achilles heel has always been its documentation, whether for developers (the Doxygen-generated documents are at times comically uninformative) or for end-users (e.g. the lack of information such as the above). Please: those of you in the know, spend some time documenting this powerful and confusing system. Yes, you know how to use it, but isn't the goal to have it support the thousands/millions of audio users out there, and not just the dozen or so core ALSA developers? </rant>
Thanks, Dan
At 4:12 PM -0500 1/17/13, Daniel Griscom wrote:
We're working to build a consistent Linux audio environment for our embedded audio product,with known versions of both ALSA and the kernel (we're specifically considering kernel 3.6.6). We are not clear, however, exactly what version of the ALSA kernel-space tools are included with the kernel, nor are we clear on exactly what each ALSA package is used for.
In order to simplify any responses, I'll give my best guess as to what's included in the kernel and each ALSA package: let me know where I went wrong.
So, am I right that...
- Kernel 3.6.6 includes exactly alsa-driver-1.0.25 (I'm actually
guessing not, but let me know.)
alsa-driver-1.0.25 is all included in the kernel release, and can be ignored
alsa-lib is the user-space library that we complile our tools
against, and that communicates with ALSA in the kernel through the device and /proc tree (required)
- alsa-utils are various generic ALSA command line tools, such as
amixer, aplay, alsaconf, etc (required)
- alsa-tools are various more obscure tools and loaders (probably
not required)
- alsa-firmware are binary drivers for various third-party products
(probably not required)
- alsa-plugins are plugins for various ALSA needs (e.g. Jack)
(probably not required)
alsa-oss is the OSS compatibilty layer (not required)
pyalsa is the Python bindings for ALSA (not required)
And, some final questions:
- What version of ALSA and the kernel are needed to fully support
implicit feedback?
- Given our audio focus, what version kernel would you recommend?
Thanks, Dan