Ce document essaye de vous aider à installer et à utiliser une Sound Blaster AWE 32 ou une Sound Blaster AWE 64 de chez Creative Labs pour votre système Linux. Le système de référence est le Debian GNU/Linux sur un plateforme Intel i586, mais il devrait fonctionner avec toute autre distribution Linux ainsi que sur toute plateforme supportant le pilote son Linux (less différences sont mentionnées lorsqu'elles apparaissent).
Lisez attentivement le HOWTO Linux Sound (voir section Informations Complémentaires). Je considère ce document comme un supplément au Sound HOWTO, et vous pourrez souvent y trouver plus d'informations sur les choses que j'ai laissées de côté ici.
La carte son SB AWE 32 propose un périphérique audio brut, un synthétiseur standard OPL-2/OPL-3, un port MIDI MPU-401 et un synthétiseur 32 voix EMU 8000 Wave Table (pour une explication de ces termes et d'autres voyez le Linux Sound HOWTO). Un des buts de ce document est de vous aider à faire fonctionner proprement toutes ces spécificités.
La SB AWE 64 a les capacités de la SB AWE 32 et un synthétiseur Wave Guide additionnel dont Creative Labs est très fier. Le problème pour les utilisateurs Linux est que les 32 voix supplémentaires sont générées par un logiciel et sorties par les périphériques wave bruts. Parce que Creative Labs ne voit aucun marché dans les pilotes Linux, un pilote son pour le synthétiseur Wave Guide est disponible uniquement sous Windows 3.1 et Windows 95.
Celà signifie que, du point de vue d'un utilisateur Linux, la SB AWE 32 et la SB AWE 64 sont quasiment identiques. A partir de maintenant je me référerais seulement aux SB AWE en général et mentionnerait simplement les différences lorsqu'elles apparaîtront.
La plupart des cartes modernes pour les plateformes Intel sont les cartes ISA PnP, qui est une abbréviation pour `Plug and Play''. Celà signifie que la carte doit être configurée par le système d'exploitation, et ceci est fait au travers d'un routine d'initialisation au lancement. En général, il y a au moins trois moyens pour le faire:
Le logiciel le plus communémenet utilisé pour initialiser les cartes PnP sous Linux sont les `isapnptools'' (voir la section Sources et la section Commencer). Ils fournissent un moyen simple pour configurer toutes les cartes ISA PnP de votre machine, et pas seulement votre carte son.
Quelques pilotes de périphériques peuvent être construits en tant que modules au lieu de les compiler dans le noyau. Vous pourrez trouver plus d'informations sur les modules dans le Kernel HOWTO et le Module HOWTO (voir section Informations Complémentaires).
Si vous avez une carte PnP, vous devez installer le support sonore en tant que module chargeable par le noyau. Celà signifie que vous ne pouvez construire le pilote sonore dans le noyau, mais que vous devez le compiler en tant que module, afin qu'il puisse être chargé dans le noyau au lancement. Ceci, parce que votre noyau sera installé avant la configuration de votre carte ISA PnP, et votre pilote sonore doit être chargé après la configuration de votre carte ISA PnP.
Le module du son peut être chargé manuellement via insmod
sound
ou modprobe -a sound
ou dans le script de lancement de votre
système Linux (sous Debian, il suffit d'ajouter une simple ligne
contenant sound
à /etc/modules
). Une autre approche
consiste à lancer kerneld
, un démon qui installe et
supprime les modules suivant les nécessités.
Notez que kerneld
peut ne pas être la meilleure solution pour
le module de l'AWE, car il prend du temps à charger le module dans le
noyau, surtout si vous voulez utiliser le synthétiseur Wave Table et
charger de grosses banques Sound Font, ce que vous aurez à faire
à chaque insertion du module. Parce que kerneld
supprime les
modules inutilisées après une minute par défaut, il
serait préférable de charger le module son manuellement ou au
lancement. Notez que l'insertion manuelle ou au lancement du module empêche
kerneld
de le supprimer lorsqu'il est inutilisé. Mais vous
pouvez insérer manuellement le module et utiliser kerneld
en
même temps. Les deux méthodes ne sont pas conflictoires, mais
kerneld
ne s'occupera plus du module son.
C'est particulièrement utile si vos options pour le mixer sont
changées après la suppression puis la réinstallation du
module. Une solution à ce problème sera donnée dans la
section
Mixing (elle décrit le lancement
automatique d'un mixer lorsque vous chargez le modules du son).
Cependant, kerneld
peut prendre du temps pour charger le module,
pour charger la banque sound font et pour lancer le mixer, et pour cette raison
(et quelques autres) il vaut mieux installer le module son au lancement et ne
pas laisser kerneld
le supprimer.
Vous pouvez compiler le support sonore dans le noyau ou en tant que module chargeable. Si vous avez une carte PnP, vous devez installez le support sonore en tant que module, car les cartes PnP nécessitent d'être initialisés via les isapnptools avant le chargement du module.
Comme vous pouvez l'imaginer, vous devrez recompiler le noyau. Je vous donnerai quelques trucs à ce propos plus bas. Pour l'instant, parlons du support sonore dans les sources du noyau. Le noyau vient avec la version gratuite (allégée) du pilote sonore OSS (USS). La version actuelle (3.5.4) ne supporte pas entièrement la SB AWE, mais seulement sa partie SB 16. Vous aurez ainsi le périphérique brut et les synthétiseurs OPL-2/OPL-3 si vous l'utilisez, mais vous ne pourrez pas jouer de musique midi avec le synthétiseur Wave Table.
Si vous désirez utiliser le périphérique Wave Table, vous pouvez soit acheter le pilote sonore commercial de 4Front Technologies (si quelqu'un pouvait me confirmer que ce pilote peut le faire), ou corriger votre noyau avec les extensions du pilote sonore AWE 32 par Takashi Iwai. Le premier est en dehors des vues de ce document, je supposerais donc que vous utiliserez le dernier.
Les extensions du pilote sonore AWE 32 (voir section Sources) est publié sous la licence GNU et vient avec un certain nombre d'outils pour utiliser le synthétiseur wave EMU 8000 des cartes SB AWE.
Le logiciel awedrv
est déjà inclut dans les sources des noyaus les
plus récents (à partir des noyaus 2.1.x, mais vous devrez peut-être mettre
à jour vos sources dans l'arborescence du noyau, elles peuvent être
anciennes).