Historique: Alsa - installation
Aperçu de cette version: 52
ALSA
Forum ddi : "Le matriel et les pilotes ALSA, FFADO, ..."
---------
DOCUMENTATION
Historique et vue d'ensemble
Installer ou mettre jour ALSA
Finaliser l'installation
Vrification - Configuration
ALSA et sa gestion du MIDI
Support - Tests - Utilitaires spcifiques
Fichiers de configuration
Autres fonctionnalits et commandes bien utiles
Quelques commandes pour dpanner votre ALSA
Quelques remarques sur ALSA et KDE
---------
TUTORIELS
Comment utiliser plusieurs cartes son avec ALSA
Rediriger les flux ALSA vers JACK - mthode 1
Dmix : le mixage logiciel par/dans ALSA
Faire du r-chantillonnage logiciel
Le greffon "PlugHW"
Utiliser plusieurs cartes son comme une seule
Rediriger les flux d'ALSA vers jack - mthode 2
Table des matières
Toutes les distributions Linux sont livres avec ALSA install et pr-configur. La plupart du temps, votre carte son sera donc reconnue et correctement installe par le service d'auto-dtection du matriel. Si c'est le cas, cette page ne vous apportera pas grand chose !
Cette page donne cependant des informations utiles si vous avez besoin d'installer ALSA ou simplement de le mettre jour. Par exemple :
- L'installation de votre carte son a choue faute de pilote adquat, mais le site d'ALSA vous informe qu'une version plus rcente d'ALSA intgre ce pilote.
- Votre carte son fonctionne, mais une version plus rcente d'ALSA apporterait de nouvelles fonctionnalits ou une meilleure stabilit, un meilleur fonctionnement, etc. C'est notamment le cas des cartes rcentes dont les pilotes subissent des mises jour et autres corrections.
Remarques importantes :
- Si vous avez dj une version ALSA installe sous forme de paquet (.deb, .rpm, ...), il est impossible de la dsinstaller sans dsinstaller tous les programmes qui en dpendent ! Dans ce cas il est plus sage d'attendre une mise jour de la distribution ou alors il faudra craser les fichiers des paquets ALSA (ceux ci sont conservs mais ne correspondront plus aux versions montres par le gestionnaire de paquets).
- ALSA se compose de diffrents lments : les drivers proprement dit (alsa-drivers), des utilitaires (alsa-utils) trs pratiques, des outils (alsa-tools) tels que mixers spcifiques certaines cartes son, et des firmwares (alsa-firmware) indispensables pour faire fonctionner certaines cartes. Par contre, vitez d'installer des versions diffrentes pour les diffrents lments d'ALSA.
- Il y a deux manires d'installer ALSA-drivers, mais ces deux mthodes sont incompatibles ! Il vous faudra choisir en fonction de vos besoins : soit l'installation manuelle d'ALSA, soit l'utilisation d'ALSA intgr au noyau.
- Dans tous les cas, vous devrez au pralable installer les sources de votre noyau (commande
uname -rpour connaitre la version de votre noyau). Les sources du noyau sont gnralement disponibles sur le CD de votre distribution. On trouve aussi les sources sur le site http://www.kernel.org ou sur un des miroirs franais. Dcompactez l'archive dans le rpertoire/usr/srcet crez manuellement un lien vers le rpertoire des sources. Par exemple :Copy to clipboardln -s /usr/src/linux_2.6.15 /usr/src/linux - Il vous faudra aussi savoir si votre carte son est bien reconnue par ALSA, et quels sont les modules ncessaires. Rendez-vous sur la page ALSA Soundcard Matrix. Slectionnez le constructeur de votre carte son, et si votre carte son apparait sur la page suivante, cliquez sur Details pour avoir toutes les informations relatives l'installation de votre carte son. Notez soigneusement ces informations, et notez en particulier le pilote (driver) ncessaire. Ainsi, par exemple, pour une carte de la marque Creative Labs, et de modle SoundBlaster 16, la page d'ALSA indique que le module "sb16" sera ncessaire.
- Pour dcouvrir plus d'informations sur le matriel audio prsent sur votre systme, vous pouvez galement utiliser les commandes :
lspci -v | grep -i audio: pour les cartes de normes PCI,
lsusb | grep -i audio: pour les cartes de normes USB. - Pour info :
-
alsa-driversest la dernire tape de la chaine audio du ct informatique, c'est lui qui va parler au matriel -
alsa-libdonne accs ceux qui l'utilise (pulse, jack ,etc..) pour parler avecalsa-drivers(qui communique avecalsa-lib) quand ils veulent parler une interface son.
-
Depuis la srie des noyaux 2.6.x ALSA fait partie intgrante du noyau. Il suffit alors de l'activer lors de l'tape "configuration" du noyau (les sources du noyau doivent videmment tre pralablement installes). C'est la mthode qui est privilgie dans la plupart des distributions, ALSA tant en gnral compil sous forme de module.
D'une faon gnrale, c'est la mthode privilgier, surtout si votre carte est bien reconnue par ALSA et que vous n'utilisez par un noyau trop ancien !
- Bonne stabilit, installation facile (il s'agit simplement d'intgrer).
- Solution "dfinitive", ALSA sera mis jour automatiquement chaque mise jour du noyau.
- Les dveloppements d'ALSA et du noyau ne sont pas synchrones : il est donc possible de trouver sur le site d'ALSA une version plus rcente pas encore intgre au noyau. Cette mthode ne conviendra donc pas si vous avez besoin de la toute dernire version d'ALSA.
- Si vous souhaitez simplement mettre jour ALSA, vous pouvez ne pas vouloir installer l'intgralit de la dernire version du noyau (pour des raisons de stabilit ou autre ...).
2.3. Installation
Il vous faut simplement recompiler votre noyau activer le support ALSA lors de l'tape "configuration" du noyau. Au pralable, une mise jour des sources du noyau vous permettra d'avoir une version d'ALSA rcente.Copy to clipboard
cd /usr/src/linux make menuconfig ou make xconfig
Slectionnez ensuite dans la section "Device Drivers ---> Sound" les options suivantes (des variations sont possibles selon la version du noyau install) :
OPTIONS COMMENTAIRES
------- ------------
Device Drivers --->
Sound --->
<*> Sound card support (INDISPENSBLE)
<*> Advanced Linux Sound Architecture ---> (INDISPENSBLE, c'est cette option qui active ALSA)
<*> Sequencer support
<M> Sequencer dummy client
<M> OSS Mixer API (Utile pour la compatibilit avec le systme obsolte OSS)
<M> OSS PCM (digital audio) API (idem)
[*] OSS Sequencer API (idem)
<M> RTC Timer support
[*] Use RTC as default sequencer timer
[*] Support old ALSA API
Generic devices --->
<M> Virtual MIDI soundcard (utile si vous n'avez pas de carte midi)
< > MOTU MidiTimePiece AV multiport MIDI ( mettre en module si vous avez besoin
< > UART16550 serial MIDI driver de ces priphriques. Ex : ports MIDI
< > Generic MPU-401 UART driver compatibles avec interfaces RolandMPU-401)
ISA devices ---> (mettre en module le(s) driver(s) pour VOTRE/VOS carte(s) son ISA)
PCI devices ---> (mettre en module le(s) driver(s) pour VOTRE/VOS carte(s) son PCI)
USB devices ---> (mettre en module le(s) driver(s) pour VOTRE/VOS carte(s) son USB)
< > Open Sound System (DEPRECATED) ( dsactiver, puisqu'on vous dit qu'OSS est obsolte (:rolleyes:))
La partie essentielle est le choix du/des device ISA/PCI/USB : activez les modules indiqus par le site d'ALSA (voir remarque n4 en haut de cette page). Poursuivez ensuite la compilation de votre noyau comme d'habitude ("make && make modules_install" etc.)
Dans ce cas, l'installation sera indpendante de celle du noyau, ALSA sera alors intgr sous forme de module. Vrifiez au pralable que votre distribution ne propose pas dj de nouveaux paquets logiciels ALSA tout prts, cela vous viterait une tche inutile 😉. Si c'est la cas, utilisez prfrentiellement le gestionnaire de paquet de votre distribution. Recherchez donc des paquets du style "alsa-driver", sinon, il faudra tout compiler " la main".
C'est la mthode utiliser en cas de problme, surtout si votre carte ncessite la dernire version d'ALSA pour bien fonctionner.
- C'est la mthode qui vous assure d'avoir la toute dernire version d'ALSA.
- L'installation est peut-tre plus complexe (dans le cas d'une installation manuelle par exemple). Toutes les distributions ne proposent en effet pas de paquet "alsa-driver" et imposent donc une installation manuelle.
- Si vous optez pour cette solution vous devrez ensuite rinstaller ALSA chaque mise jour du noyau.
IMPORTANT : l'installation "indpendante" d'ALSA et l'activation d'ALSA dans le noyau sont INCOMPATIBLES. Pour faire une installation manuelle, vous devez donc au pralable vous assurer que le support ALSA est dsactiv dans votre noyau.
La procdure d'installation manuelle exige en plus que vous ayez les outils de compilation installs sur votre systme (gcc, g++, etc), et d'autre part que vous disposiez des sources du noyau (vrifiez la version du votre avec cat /proc/version) installes dans /usr/src/linux.
L'intgration d'ALSA doit tre dsactive dans le noyau, c'est dire que les options CONFIG_SOUND_PRIME (support intgr de OSS) et CONFIG_SND (support intgr de ALSA) doivent tre dsactives. Vrifiez-le avec les commandes suivantes :
Copy to clipboard
cd /usr/src/linux grep SOUND .config (1. Ok) CONFIG_SOUND=y (2. Ok) CONFIG_SOUND_PRIME is not set grep SND .config (Et 3. Ok) CONFIG_SND is not set
Si ce n'est pas le cas, il faudra au pralable re-compiler le noyau en retirant les supports OSS et ALSA, puis redmarrer avec ce nouveau noyau "allg". l'tape "make menuconfig" ou "make xconfig" de la compilation du noyau, il vous faut donc :
- activer l'option "Sound --> Sound card support"
- dsactiver "Sound --> Advanced Linux Sound Architecture"
- dsactiver "Open Sound System"
3.3. Installation
Si vous utilisez le gestionnaire de paquet de votre distribution, utilisez simplement les commandes habituelles.
Exemple pour Gentoo :
Copy to clipboard
ALSA_CARDS="votre_driver" emerge alsa-driver
Vous viterez ainsi les tapes de compilation manuelle.
Si vous devez utiliser l'installation manuelle, la procdure est relativement simple. Tlchargez sur le site ALSA les archives des diffrents lments dans la section droite (Current versions ):
- Driver: les pilotes pour les cartes. INDISPENSABLE
- Lib: la bibliothque libasound utilise par les programmes. Trs utile (sera surement requise pour l'installation d'autres programmes).
- Utils : des petits programmes de base (amix/aplay/arec, alsaconf, etc).
- Tools : des autres petits programmes propres certaines cartes (chargeurs de patch, mixeurs ddis, etc...).
- Firmware : des micrologiciels ncessaires pour certaines cartes son. installer selon votre carte son.
- Plugins: des PlugIns tendant les possibilits des pilotes.
- OSS compat. Library: Une bibliothque permettant l'mulation d'OSS. Important si vous utilisez des programmes ne reconnaissant qu'OSS.
- pyalsa : une bote outils pour parler facilement en langage Python ALSA.
Vous installerez dans l'ordre :les drivers, puis les libs, et enfin les utils, puis le reste si vous en avez besoin.
3.4. Compilation manuelle des drivers
Le comportement par dfaut du paquet "Drivers" est de compiler tous les pilotes pour toutes les cartes. Comme il est inutile de compiler ALSA en intgrant les pilotes de toutes les cartes son supports, vous prciserez le support de la ou des carte(s) compiler. Cela est trs pratique (il arrive que la compilation de certains drivers occasionne des problmes), et rduira considrablement le temps de compilation !
Pour connaitre toutes les options de compilation disponibles, faire :
Copy to clipboard
./configure --help
Quelques options importantes :
-
with-cards= : Vous permet de prciser la/les carte(s) son pour laquelle (lesquelles) vous dsirer compiler un pilote/module. Si sous avez plusieurs cartes, sparez les noms des modules par une virgule ("with-cards=CARTE1,CARTE2"). - --with-sequencer=yes : compile les modules du squenceur pour les cartes son que vous avez indiques. activer.
- --with-oss=yes : compile les modules d'mulation OSS. Il est prfrable de l'activer, pour prserver la compatibilit avec certains programmes anciens.
Consultez la page http://www.alsa-project.org/main/index.php/Matrix:Main pour connaitre la liste des options et la syntaxe exacte pour votre/vos carte son. Par exemple, pour une SoundBlaster 16, et conformment aux instructions ALSA pour cette carte, vous utiliserez les commandes :
Copy to clipboard
./configure --with-cards=sb16 --with-sequencer=yes make make install
4. Installation des outils ALSA (alsa-utils, alsa-tools, alsa-firmware)
Quelle que soit la mthode d'installation choisie pour les drivers, il faudra ensuite installer les outils d'ALSA trs utiles pour la configuration, voire mme indispensables selon les cartes (firmware...). L encore, privilgiez le gestionnaire de paquets de votre distribution. Cherchez des paquets nomms "alsa-utils", ""alsa-tools", "alsa-firmware". D'une distribution l'autre, ces parties peuvent tre empaquetes de faon diffrente. Pour Debian, vous n'oublierez pas le paquet "alsa-base".
Le cas chant, une installation manuelle est toujours possible : pour chaque archive, dcompactez-l, lisez le fichier "READ-ME" puis entrez les classiques commandes ("./configure", puis "make", et enfin "make install").
4.1. alsa-utils ou ALSA utilities
Ce paquet offre des petits programmes de base, il est quasiment indispensable :- aconnect: pour connecter/lister les ports ALSA
- alsaconf: outil de configuration automatique
- alsactl: outil de sauvegarde des rglages du mixer
- alsamixer: le mixeur d'ALSA en ligne de commande
- amidi: lis depuis et crit sur les ports ALSA RawMIDI
- amixer: commande pour modifier les rglages du mixer
- aplay, arecord: commande pour lire/enregistrer des sons
- aplaymidi, arecordmidi: commande pour lire/enregistrer des vnements MIDI
- aseqnet, aseqdump: commandes pour contrler le squenceur MIDI
- etc. Voir http://alsa.opensrc.org/AlsaUtils.
4.2. alsa-tools
Ce paquet, installer selon votre carte son, offre d'autres petits programmes propres certaines cartes (chargeurs de patch, mixeurs ddis, etc...) :- ac3dec: dcodeur libre de flux AC-3
- as10k1: assembleur pour les chipsets emu10k1
- cspctl: programme de contrle Sound Blaster 16 ASP/CSP
- echomixer: mixeur pour les cartes son Echo Audio
- envy24control: outil de contrle pour les cartes son bases sur le chipset Envy24 (ice1712)
- hdspconf: outil de contrle pour les cartes Hammerfall HDSP
- hdsploader: chargeur de firmware pour les cartes RME Hammerfall cards
- hdspmixer: mixeur pour les cartes DSP RME Hammerfall
- mixartloader: chargeur de firmware pour les miXart de Digigram
- pcxhrloader: chargeur de firmware pour les cartes PCX-HR (High resolution) de Digigram.
- rmedigicontrol: panneau de contrle pour les cartes RME Hammerfall
- sbiload: chargeur d'instruments FM OPL2/3 pour le squenceur ALSA
- sscape_ctl: outil de contrle pour ALSA SoundScape (?)
- us428control: outil de contrle pour les cartes Tascam US-112, US-224 et US-428
- usx2yloader: chargeur de firmware pour les cartes son USB Tascam USX2Y
- vxloader: chargeur de firmware pour les cartes VX de Digigram
- etc. Voir http://alsa.opensrc.org/alsa-tools
4.3. alsa-firmware
Ce paquet, installer selon votre carte son, offre certains firmwares pour diverses cartes son :- Cartes RME Digiface et Multiface
- Cartes PCX-HR de Digigram
- Cartes MiXart de Digigram
- Cartes son USB Tascam usX2Y
- Cartes son Vx de Digigram
- Cartes son echo audio (Layla, Gina, Mona, Indigo ...)
Ce paquet ncessite l'installation pralable de "alsa-tools". En cas d'installation manuelle, vous devrez l'installer aprs "alsa-tools" et avec le mme "prefix" (au mme endroit, quoi ❗.
Le firmware peut alors tre charg de 2 faons :
- par le chargeur associ (mixartloader, vxloader, etc.)
- chargement automatique par hotplug et/ou UDEV
5. Liens
Voici quelques liens utiles vous prsentant les procdures d'installation pour certaines cartes et/ou certaines distributions. Vous constaterez que la dmarche est videmment la mme que celle prsente ci-dessus. Ces liens vous permettront de vous assurer que vous n'avez rien oubli !- Le guide ALSA pour Gentoo Linux (en franais, et dont les infos peuvent aussi servir pour les autres distributions, mises jour rgulires).
- Installation de la dernire version d'alsa sous Ubuntu 6.10 (en anglais, plus trop d'actualit mais contient de bonne bases lire).