Bref, tout ça pour vous dire que normalement votre carte son devrait être detectée automatiquement car les drivers sont inclus dans le noyau Linux lui-même. C'est le rôle du projet ALSA (Advanced Linux Sound Architecture) qui produit un module pilotant de nombreuses cartes son. ALSA est intégré 'en série' au noyau Linux depuis la version 2.6 du noyau.
Vous pouvez voir sur cette page si votre carte son est compatible en l'état actuel du développement d'ALSA. Dans cet exemple pour les possesseurs d'une carte Creative Lab (les fameuses SoundBlaster), vous voyez les différents modèles compatibles ou non et un lien, anglophone, détaillant l'installation du pilote (exemple pour emu10k1).
Il existe 2 méthodes pour utiliser ALSA :
Compiler le noyau en ajoutant le support ALSA. La plupart des distributions le font pour vous heureusement. Cela dit, la version d'ALSA intégré au noyau n'est pas forcément la plus fraîche possible. Du coup, si votre carte est récente, cette version sera peut-être obsolète.
Télécharger la dernière version, la compiler, puis charger les modules à la main (il est possible d'automatiser le chargement bien sûr). L'avantage est que la version est à jour. Les inconvénients : il faut le faire et si un jour vous avez à recompiler le noyau, il faudra après recompiler ces modules ALSA.
Installation
La détection matérielle
Avant de (re)installer ALSA, il faut s'assurer que votre carte son est detectée. Pour cela, utilisez ces commandes :
# lspci | grep -i audio
Si cette commande n'existe pas sur votre système, installez là.
Voici que cette commande peut renvoyer :0000:00:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 06)
Vous voyez alors que la carte est detectée. On vous indique aussi le pilote à utiliser (EMU10k1). Vous pouvez avoir encore plus d'infos avec :# lspci -vv
Mode verbeux, mais là, il faut chercher votre carte parmi votre matériel.
Enfin, vous pouvez aussi jeter un coup d'oeil au fichier /proc/asound/cards. Pour ceux qui ont une carte son USB, la commande est lsusb. Bref, si ces commandes ne vous montrent pas votre carte, vous avez sûrement un problème matériel.
ALSA par la compilation du noyau
Il faudra aller lire l'article sur la compilation du noyau. Il faut alors activer ou desactiver certaines options. Je vous remet ici les infos très bien faites que l'on peut trouver sur le site de Gentoo :Device Drivers --->
Sound --->
Sound card support
Open Sound System --->
< > Open Sound System (DEPRECATED)
Advanced Linux Sound Architecture --->
Advanced Linux Sound Architecture
Sequencer support
OSS Mixer API
OSS PCM (digital audio) API
Generic devices --->
PCI devices --->
Emu10k1 (SB Live!, Audigy, E-mu APS)
Intel/SiS/nVidia/AMD/ALi AC97 Controller
VIA 82C686A/B, 8233/8235 AC97 Controller
USB Devices --->
Voila, ensuite poursuivez en compilant votre noyau. En redemarrant, vous aurez accès au support ALSA, qu'il faudrat sûrement configurer (voir plus bas). Notez que la plupart des distributions GNU/Linux font le boulot pour vous.
ALSA par les paquetages
Utilisez votre installateur de paquetage (RPMDrake, Synaptic/Adept, YaST etc.). Les paquetages à installer sont 'alsa-driver' et 'alsa-utils'.
ALSA par la compilation de ses sources
En compilant les dernières sources, on est sûr de la fraicheur. Récupérez les sources sur la page officielle en téléchargeant le fichier alsa-driver-XXX.bz2. Ensuite, compilez le. Aidez vous de ce tutoriel (autre tutoriel).
Les utilisateurs de Gentoo s'en sortiront avec un simple :
# emerge alsa-driver alsa-utils
En ayant préalablement inséré dans le fichier /etc/make.conf, la ligne ALSA_CARDS="emu10k1" (pour ceux utilisant une carte nécessitant le driver emu10k1, les autres adapteront).
# rc-update add alsasound boot
Fait démarrer ALSA lors du boot.
Qui a dit que Gentoo était compliquée . Les autres devront aussi insérer les modules dans le noyau. Exemple :
# modprobe snd-emu10k1
# modprobe snd-pcm-oss
# modprobe snd-mixer-oss
# modprobe snd-seq-oss
Ensuite, il faut utiliser les outils de votre distribution pour que ces modules soient activés lors du boot de Linux. J'en parle un peu ici.
Configuration
Il existe deux commandes magiques. Voici la première :
$ su -c alsaconf
Tapez le mot de passe admini puis suivez les indications (faciles).
Si cette commande n'est pas présente, vous devrez installer auparavant le paquetage alsa-utils. Ensuite, il faut régler les volumes. Souvent, ils sont mutés par défaut. On utilise alors la commande console :
$ alsamixer
Voici ce que vous devriez voir :
Déplacez vous avec les flèches (droite-gauche) pour acceder aux différents niveaux et changer les niveaux (haut-bas). Pour démuter un niveau, il faut utiliser la touche "virgule" (oui c'est bizarre). Notez qu'il peut peut-être y avoir plus de niveaux à droite de l'écran, il faut donc tout vérifier. Un niveau muté c'est 90% des problèmes de son sous Linux ! Je vous conseille de lancer un morceau dans votre lecteur audio, puis d'aller dans alsamixer et d'essayer tout les niveaux pour voir si l'un d'entre eux ne vous jouent pas des tours...
Enfin, parfois, le son ne fonctionne pas parce que l'utilisateur n'est pas inscrit dans le groupe audio. Faite alors :
$ su -c gpasswd -a votre_nom audio
Adaptez avec votre nom. Vous devrez taper le mot de passe root.
Liens externes
FAQ Troubleshooting ALSA
Wiki ALSA.
Tuto Gentoo (adaptable).
Tuto PCImpact.
Tuto Trustonme.net