Con il kernel 2.6 il supporto ALSA è compreso, per sapere quale versione è disponibile nel kernel in uso:
# uname -a Linux corinto 2.6.17 #1 PREEMPT Sat Nov 11 17:02:46 CET 2006 i686 GNU/Linux # cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.11rc4 (Wed Mar 22 10:27:24 2006 UTC).
Il supporto audio ALSA è stato integrato nel kernel ufficiale a partire dalla versione 2.6, prima era necessario installare i sorgenti e compilare i moduli dopo aver compilato il kernel. Ecco la procedura.
Si scelgono i moduli ALSA perché hanno un maggior supporto alle schede audio. Se si è compilato un kernel ad hoc con make-kpkg
si procede come segue:
dpkg-reconfigure alsa-source
cd /usr/src/linux make-kpkg --revision=linuxtop.2.3 --added-modules alsa-driver modules_image dpkg -i ../alsa-modules-2.4....
I moduli ALSA non vengono caricati da /etc/init.d/alsa
come accadeva con Debian Woody, dovrebbe pensarci hotplug
. Se questo non è installato basta dichiarare i moduli in /etc/modules
. Conviene caricare anche l'emulazione OSS offerta da ALSA con il modulo snd-pcm-oss
.
KDE si avvale del demone aRts al quale le applicazioni si rivolgono per produrre audio, questi provvede a mixare le varie sorgenti. Il problema è che non tutte le applicazioni sono aRts-aware, comunque aRts dovrebbe intercettare le chiamate OSS e ALSA e farle passare in modo trasparente. Il demone aRts si appoggia a sua volta a OSS (originale o all'emulazione fornita da ALSA) per produrre effettivamente il suono.
Si può utilizzare alsamixer
oppure KMix in KDE. Dopo aver impostato i livelli con alsactl store
le impostazioni vengono salvate in /var/lib/alsa/asound.state
.
Dispositivi di cattura audio, esempio:
arecord --list-devices **** List of CAPTURE Hardware Devices **** card 0: PCI [ESS Allegro PCI], device 0: Allegro [Allegro] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: V8237 [VIA 8237], device 0: VIA 8237 [VIA 8237] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: V8237 [VIA 8237], device 1: VIA 8237 [VIA 8237] Subdevices: 1/1 Subdevice #0: subdevice #0
si vede che esistono due schede audio: la card 0 è una ESS Allegro PCI, la card 1 è un chip ALC655 integrato nel chipset VIA 8237. Sulla prima esiste un solo dispositivo di cattura audio: device 0 identificato con il nome generico Allegro, probabilmente corrisponde all'ingresso LINE-IN. Sulla seconda esistono due dispositivi di cattura: device 0 e device 1 entrambi identificati con il nome generico VIA 8237, probabilmente si tratta del LINE-IN e dell'ingresso MIC.
L'elenco dei device audio ALSA si ottiene con:
# cat /proc/asound/devices 0: [ 0] : control 1: : sequencer 16: [ 0- 0]: digital audio playback 24: [ 0- 0]: digital audio capture 32: [ 1] : control 33: : timer 48: [ 1- 0]: digital audio playback 49: [ 1- 1]: digital audio playback 56: [ 1- 0]: digital audio capture 57: [ 1- 1]: digital audio capture