Documentations - Système / Réseau
- Table des matières
- 1. Introduction
- 2. Démarrage
- 3. Compilation et installation des modules
- 4. Configuration
1. Introduction
Si vous êtes comme beaucoup d'utilisateurs sur le canal IRC de support de Linux Orbit, une question très courante qui se soulève lorsqu'on essaie GNU/Linux est: comment diable configurer ALSA Advanced Linux Sound Architecture) correctement? Dans ce HOWTO, nous allons vous montrer comment compiler et installer les modules noyau ALSA, et ensuite configurer tout ça en utilisant le script Debian ALSA de façon que les modules soient chargés et déchargés automatiquement et que les niveaux du mixeur soient sauvés et restaurés au démarrage. Voici ce dont vous devez disposer avant d'exécuter ce HOWTO:
Une connexion Intenet sur la machine sur laquelle vous voulez installer ALSA pour que apt-get puisse obtenir les packages, ou les pakages alsa-base, alsa-utils et alsa-source, ainsi que les dépendances voulues. Ayez sur CD tout autre package nécessaire pour installer une Debian (tels que debhelper ou dpkg-dev).
Une Debian 3.0 (Woody) ou plus récente. Vous devriez pouvoir installer ALSA avec des versions plus anciennes mais ce HOWTO ne s'attardera pass
Une carte son support
2. Démarrage
Tout d'abord, dirigez-vous vers http://www.alsa-project.org/alsa-doc/ et assurez-vous que votre carte son est supportée et aussi vérifiez quel module elle utilise. En cliquant sur le lien à la droite du nom de votre carte, vous obtenez le nom du module qu'elle utilise. Par exemple, pour l'Abit AU10, vous obtenez le module snd-fm801. Bien que cela ne soit pas spécifique à ALSA, vous devez ajouter votre compte utilisateur dans le groupe audiode façon à avoir la permission d'utiliser le périphérique audio. Vous pouvez faire celà en tant que root avec la commande adduser. Par ex: si votre nom d'utilisateur est jessica, la commande serait:
# adduser jessica audioVous devez vous délogger puis vous logger de nouveau pour que celà prenne effet.
3. Compilation et installation des modules
La section "compilation et installation des modules" de ce HOWTO est la plus compliquée parce que vous avez besoin de connaître quel genre de noyau vous avez et de suivre les instructions pour le cas qui vous concerne. Je vais couvrir différentes possibilités, suivez celle qui correspond le mieux à votre configuration.
3.1. Noyau 2.5.x ou plus haut, ou patches founissant les modules ALSA
Le noyau 2.5.x (et plus haut) inclut les modules ALSA dans la configuration du noyau, ce qui simplifie bien la vie lorsqu'on essaie de configurer ALSA. Il y a aussi des patches pour le noyau qui incluent un portage arrière des drivers ALSA vers le 2.4.x, tels que WOLK (http://freshmeat.net/projects/wolk/) et jp (http://infolinux.de). Construire les modules avec cette configuration est assez simple: lorsque vous configurez votre noyau (avec make xconfig ou make menuconfig), activez Sound card support, Advanced Linux Sound Architecture, OSS API Emulation, OSS Mixer API, OSS PCM API et le module de votre carte son, le tout en tant que modules (sauf pour OSS API emulation vous ne pouvez que choisir "yes"). Ensuite, configurez et compilez votre noyau comme vous le feriez habituellement. Après la compilation et le redémarrage sur le nouveau noyau, vous pouvez passer à la section: Configuration.
3.2. Noyau personnalisé construit avec make-kpkg (Recommendé si vous utilisez un noyau personnalisé)
Les choses sont assez simples si vous avez un noyau construit avec make-kpkg :
# apt-get install alsa-sourceAprès l'installation de alsa-source, debconf devrait vous poser quelques questions. Choisissez le module pour votre carte son depuis la liste (celle que vous avez consultée dans la section Démarrage de ce HOWTO).

Figure A : Debconf vous présente la liste sous forme de texte ou avec Gnome, comme ci-dessous.
Vous n'avez pas besoin de cocher debugging, pas plus que isa-pnp si vous n'avez pas de carte son ISA.

Figure B : Vous pouvez cliquer sur le bouton Help à droite des options si vous n'êtes pas sur de vous.
Maintenant, décompactez le code source:
# cd /usr/src # tar xvzf alsa-driver.tar.gzEt compilez les modules:
# cd /usr/src/linux (ou n'importe quel répertoire dans lequel se trouve le source de votre noyau) # make-kpkg modules_imageCeci va construire un .deb dans /usr/src, que vous pouvez ensuite installer en tant que root avec dpkg -i:
# dpkg -i /usr/src/alsa-modules-*Maintenant que vos modules sont installés, vous pouvez passer à la section Configuration.
3.3. Noyau Debian classique (Recommendé si vous utilisez noyau classique)
Avec un noyau Debian classique, vous pouvez probablement obtenir des modules précompilés avec apt-get. Cependant, Sarge ne semble pas en avoir dans ses archives apt au moment de l'écriture. Aussi aurez-vous besoin de les compiler vous-même. Lancez cette commande pour vérifier la version de votre noyau :
# uname -rSi uname -r retourne 2.4.18-686, vous pouvez installer les modules de cette façon :
# apt-get install alsa-modules-2.4.18-686Si uname -r retourne 2.4.18-bf2.4, alors:
# apt-get install alsa-modules-2.4.18-bf2.4Si vous pouvez installer les modules précompilés de cette façon, continuez à la section Configuration, sinon, lisez la suite.
3.4. Noyau Debian classique sans modules précompilés
Avec un noyau Debian classique qui n'a pas de modules précompilés disponibles par apt, suivez les instructions ci-dessous. Ca a l'air effrayant mais heureusement, lorsque le noyau 2.5.x sera stable, nous n'aurons plus à nous occuper de ceci puisque les modules seront dans le noyau:
![]() | Note: Vous pourriez aussi essayer d'installer les modules à partir de leur source depuis www.alsa-project.org, mais nous allons le faire à la façon Debian et construire ici un package Debian pour essayer de garder les choses organisées. |
# uname -rSi cette commande retourne 2.4.18-686, alors vous pouvez:
# apt-get install kernel-headers-2.4.18-686si uname -r retourne 2.4.18-bf2.4, alors:
# apt-get install kernel-headers-2.4.18-bf2.4Vous voyez ? Maintenant,installez le package alsa-source.
# apt-get install alsa-sourceAprès l'installation de alsa-source, debconf devrait vous poser quelques questions. Choisissez le module pour votre carte son depuis la liste (celle que vous avez consultée dans la section Démarrage de ce HOWTO). Voir Figure A ci-dessus. Vous n'avez pas besoin de cocher "debugging", non plus que "isa-pnp" si vous n'avez pas de carte son ISA. Voir Figure B ci-dessus. Maintenant, décompactez le code source:
cd /usr/src ; tar xvzf alsa-driver.tar.gzEnsuite, compilez les modules et construisez le package Debian leur correspondant:
# cd /usr/src/modules/alsa-driver/Pour la commande suivante, certaines choses ont besoin d'une explication, alors lisez, svp, avant d'exécuter la commande:
# ./debian/rules KSRC=/usr/src/kernel-headers-2.4.18-bf2.4-xfs KVERS=2.4.18-bf2.4-xfs KDREV=10.00.Custom binary-modulesPremière chose, expliquons l'option KSRC:
KSRC=/usr/src/kernel-headers-2.4.18-bf2.4-xfsIl faut qu'elle corresponde au répertoire où vos kernel headers se trouvent. Donc, si votre noyau est 2.4.18-686 l'option est:
KSRC=/usr/src/kernel-headers-2.4.18-686L'option KDREV est la version que vous voulez que ce package ALSA recommande. Vous pouvez problablement obtenir ce numéro de version à partir de la commande (en supposant que vous avez un noyau 2.4.18-686):
# dpkg -l kernel-image-2.4.18-686L'option KVERS est la version du noyau. Vous l'avez avec la commande:
# uname -rDonc, pour un noyau 2.4.18-686, votre commande devrait ressembler à ça :
# ./debian/rules KSRC=/usr/src/kernel-headers-2.4.18-686 KVERS=2.4.18-686 KDREV=2.4.18-5 binary-modulesLorsque la construction est finie, vous avez un .deb dans /usr/src/modules, faites su root et installez-le:
su - password: dpkg -i /usr/src/modules/alsa-modules-*
![]() | Notez SVP que les versions de alsa-source en dessous de 0.9.0rc5-2 ont un bug. Le module s'installe dans /lib/modules/alsa. Si cela vous arrive, faites : # mv /lib/modules/alsa/* /lib/modules/kernel_version/alsa/et lancez run depmod -A avant de continuer: # mv /lib/modules/alsa/* /lib/modules/2.4.18-686/alsa/. # depmod -A |
4. Configuration
Bon, si vous êtes arrivé là, la partie la plus dure est derrière vous. Si vous avez utilisé un noyau avec les modules ALSA intégrés ou si vous avez utilisé apt-get pour installer les packages des modules, alors considérez-vous commes chanceux. Tous d'abord nous devons installer le package alsa-utils, copier un fichier et créer un lien symbolique:
# apt-get install alsa-utils # cp /usr/share/doc/alsa-base/examples/modules-0.9.conf /etc/alsa/modutils/0.9 # ln -s /etc/alsa/modutils/0.9 /etc/modutils/alsaMaintenant éditez /etc/alsa/alsa-base.conf avec votre éditeur favori. Le fichier devrait ressembler à ceci:
# This is a configuration file for alsa-base. # Define true if you want the OSS compatibility layer # to be automatically loaded as wellstartosslayer=true # Define true if you want to unload alsa modules before # your system suspneds. This is currently useful if your # machine is hanged up after # resume.force_stop_modules_before_suspend=false # Uncomment if you always want to stop alsa modules forcibly in # /etc/init.d/alsa stop or restart by killing all of running # applications which use sound devices. ALSA_KILL_MODE="force"Assurez-vous que startosslayer est égal à true. Définissez les autres options comme vous le désirez. Ensuite, éditez le fichier /etc/modutils/alsa. Le fichier devrait ressembler à ceci:
![]() | Notez qu'à partir de la version 0.9.0rc5 les options préfixées snd_ ont été abandonnées, aussi suivez le fichier exemple et ignorez les options snd_ de la troisième ligne non commentée de l'exemple ci-dessous. |
# Example Configuration of ALSA 0.9 for Debian GNU/Linux alias char-major-116 snd alias char-major-14 soundcoreoptions snd snd_major=116 snd_cards_limit=4 snd_device_mode=0660 snd_device_gid=29 snd_device_uid=0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss #alias snd-card-0 snd-dummy #alias snd-card-1 snd-serial #alias snd-card-2 snd-share #alias snd-card-3 snd-virmidi alias sound-slot-0 snd-card-0 alias sound-slot-1 snd-card-1 alias sound-slot-2 snd-card-2 alias sound-slot-3 snd-card-3 # You must need to add your own card setteings below. # or use alsaconf to setup in menu form.Editez la 3eme ligne dans ce fichier et changez :
snd_cards_limit=4en
snd_cards_limit=1si vous avez une seule carte son pour éviter d'avoir des messages d'erreur ennuyants lors du prochain démarrage. Ensuite, éditez la ligne :
#alias snd-card-0 snd-dummyRemplacez snd-dummypar le module de votre carte son (i.e. snd-maestro3) et décommentez la ligne. Maintenant, en tant que root, tapez:
# update-modules # /etc/init.d/alsa startVos modules ALSA devraient se charger et ce script s'exécutera automatiquement au démarrage et à l'arrêt. Il sauvera les réglages du mixer lors de l'arrêt et les restaurera au démarrage. Mission Accomplie ! :-) Maintenant vous devriez avoir du son et correctement configuré en utilisant le script Debian. Si vous avez fait l'installation en utilisant un noyau qui a les modules ALSA inclus, utilisé la commande make-kpkg ou apt-get pour installer les modules, cela n'a pas dû être trop dur. Mais si vous avez compilé les modules dans un package deb, alors vous avez fait le plus gros travail de tous les scénarios possibles. Maintenant relaxez-vous et faites-donc tourner quelques tubes avec xmms, appréciez!
- Ajouter un commentaire

