Alsa
De Wiki de la communauté Mandriva.
Sommaire |
Distribuer les cartes son avec ALSA
Lorsque l'on a deux (ou plus) cartes son actives sur sa machine et pilotées via ALSA, se pose le problème de savoir laquelle est utilisée par un logiciel, comment la configurer...
Lorsque le service alsa est actif (service alsa start), le système attribue à chaque carte un numéro à partir de 0. On vérifie quelle carte a le numéro 0 et laquelle a le numéro 1 avec la commande :
ou
Ensuite, on peut les régler avec
pour la première carte son, et
pour la deuxième.
La carte 0 est la carte par défaut pour beaucoup de logiciels qui ne permettent pas d'en choisir une autre. Donc, si l'ordre des cartes ne vous convient pas, on peut demander au système de les « mapper » différemment. Il suffit de créer un fichier contenant :
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
Dans le répertoire utilisateur, ce fichier s'appellera ~/.asoundrc et si on veut que tous en bénéficient on le placera dans /etc sous le nom /etc/asound.conf. L'effet est immédiat.
On peut aussi définir un alias pour chaque carte ou simplement pour la « deuxième carte » :
pcm.Live {
type hw
card 0
}
ctl.Live {
type hw
card 0
}
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
Avec cette configuration :
aplay un_fichier.wav
utilisera la carte par défault (la carte 1) et :
aplay -D carte0 un_fichier.wav
utilisera la carte Live (carte 0).
Une autre solution consiste à demander au système de charger les cartes dans un ordre défini en modifiant le fichier /etc/modprobe.conf' ou en ajoutant un fichier dans /etc/modprobe.d/ contenant, par exemple, les lignes suivantes :
alias snd-card-0 snd-emu10k1 alias snd-card-1 snd-via82xx options snd-emu10k1 index=0 options snd-via82xx index=1
à adapter en fonction des pilotes chargés réellement.
Enfin, le wiki d'ALSA est une mine de renseignements et de conseils.
Compiler alsa
Il est parfois nécessaire d'installer la toute dernière version d'alsa pour profiter de la carte qui vient de nous coûter le peu d'économies restant après les fêtes...
D'abord, on va chercher les ballots (tarballs) sur site d'ALSA. Seuls deux d'entre eux sont indispensables: alsa-lib et alsa driver, les autres proposant des outils déjà présents dans la distribution. Choisissons, par exemple, alsa-lib-1.0.15rc3 et alsa-driver-1.0.15rc3.
Il faut d'abord installer le paquetage de la version de développement du noyau. Il s'agit en fait des fichiers d'entêtes (.h) provenant des sources du noyau.
Il faut que celui-ci corresponde exactement à la version du noyau qu'on utilise.
Par exemple pour le noyau 2.6.22.9-desktop-1mdv on installe le rpm kernel-desktop-devel-2.6.22.9-1mdv (bien respecter les numéros de version) qui va créer une arborescence dans /usr/src/linux-2.6.22.9-desktop-1mdv.
Maintenant on crée un lien vers /usr/src/linux (s'il n'a pas été créé par le rpm)
Et un autre :
Ensuite, il faut compiler et installer dans l'ordre
alsa-lib
On place le ficher quelque part, par exemple dans ~/tmp on déballe :
on configure :
on installe :
alsa-driver
De la même manière, on place le ballot dans ~/tmp et on configure
on configure
Attention, par défaut toutes les cartes sons seront compilées, ce qui peut prendre un peu de temps et n'est pas indispensable. Pour ne compiler que ce dont on a besoin, on peut ajouter une option --with-cards= Exemple :
Certaines cartes peuvent aussi être être compilées avec des options. Exemple :
Dans tous les cas il est plus qu'utile de lire le fichier INSTALL qui donne toutes les explications nécessaires.
On compile :
On installe :
On vérifie que les pilotes sont bien dans /lib/modules/2.6.22.9-desktop-1mdv/kernel/sound/pci (vérifier la date)
On relance alsa :
Normalement le numéro de version a changé :
On vérifie que le pilote est effectivement installé et la carte reconnue :
On « allume » la carte avec alsamixer (par défaut elle est à off)
On teste :
Magique non ?

