FreeBSD reconnaît un grand nombre de modèles de cartes son sound(4) (voir la section SEE ALSO). Contrairement à NetBSD, OpenBSD (et certaines distributions Linux), la sélection de la carte ne se fait pas automatiquement. Il faut le faire manuellement. Nous allons voir les différentes étapes.
<note importante>Il faut être le super-utilisateur (root), car on va devoir écrire dans certains fichiers.</note>
Si vous connaissez déjà votre modèle, vous pouvez le charger de cette façon :
kldload snd_MODÈLE
<note tuyau>Où MODÈLE
est le nom (sous FreeBSD) de votre carte son, voir sound(4) la section SEE ALSO.</note>
Sinon, on va d'abord charger le « méta » paquet contenant les drivers les plus répendus.
kldload snd_driver
Vous devriez avoir des lignes qui défilent à l'écran. Ensuite on va aller interroger le périphérique /dev/sndstat
, pour voir si notre carte son a été bien reconnue.
cat /dev/sndstat
J'obtiens sur une de mes machines ceci :
FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386) Installed devices: pcm0: <Yamaha DS-1 (YMF740I)> at memory 0xf4000000 irq 10 kld snd_ds1 [MPSAFE] (4p:1v/2r:1v channels duplex default)
Sur une autre :
FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386) Installed devices: pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0 [MPSAFE] (4p:1v/1r:1v channels duplex default) pcm1: <EMU10Kx DSP rear PCM interface> on emu10kx0 [MPSAFE] (1p:1v/0r:0v channels)
On constate, que sur ces deux machines, le noyau a parfaitement reconnu la carte son. Maintenant on va recherché le véritable non du driver, grâce à l'utilitaire apropos
.
Dans mon cas
apropos Yamaha DS-1 snd_ds1(4) - Yamaha DS-1 PCI bridge device driver snd_ds1(4) - Yamaha DS-1 PCI bridge device driver
Donc, il s'agit du snd_ds1
, pour l'exemple suivant :
apropos EMU10Kx snd_emu10kx(4) - Creative SoundBlaster Live! and Audigy sound cards device driver
C'est snd_emul10kx
.
<note tuyau>Consultez la page de manuel correspondant à votre carte son.</note>
<note bloquante>Si rien n'apparaît lors de la consultation du périphérique /dev/sndstat
, c'est que votre carte son n'est pas encore prise en charge. Dans ce cas, pensez à faire une recherche, pour voir si d'autres personnes ont rencontré le même problème.</note>
On peut désormais « décharger » snd_driver
, et charger le véritable driver, avec la commande kldload
.
kldunload snd_driver
Afin d'éviter de faire ces manipulations à chaque redémarrage, on va conserver cette donnée dans le fichier /boot/loader.conf
.
<note tuyau>Par défaut ce fichier n'existe pas, cependant, on peut obtenir une copie à partir du /boot/default/loader.conf
.</note>
cp /boot/default/loader.conf /boot/loader.conf
À la ligne 325, remplacez la valeur NO
par YES
et faite de même pour le driver correspondant à votre carte son.
Dans mon cas :
. . . sound_load="YES" # Digital sound subsystem . . . snd_emu10kx_load="YES" # Creative SoundBlaster Live! and Audigy . . .
Le réglage du volume se fait à l'aide de l'utilitaire mixer
(d'autres logiciels existent, mais celui est présent dans le système de base).
Voici les valeurs par défaut (elles sont « codées » en dur dans le noyau).
mixer Mixer vol is currently set to 75:75 Mixer pcm is currently set to 75:75 Mixer speaker is currently set to 75:75 Mixer line is currently set to 75:75 Mixer mic is currently set to 0:0 Mixer cd is currently set to 75:75 Mixer rec is currently set to 0:0 Mixer igain is currently set to 0:0 Mixer ogain is currently set to 50:50 Mixer line1 is currently set to 75:75 Mixer line2 is currently set to 0:0 Mixer line3 is currently set to 0:0 Mixer dig1 is currently set to 0:0 Mixer dig2 is currently set to 0:0 Mixer dig3 is currently set to 0:0 Mixer phin is currently set to 0:0 Mixer phout is currently set to 0:0 Mixer video is currently set to 75:75 Recording source: mic
J'ai remarqué que la valeur 75 pourvol
etpcm
été relativement faible (alors que sur un système Linux, je laisse cette valeur par défaut).
On peut modifier ces valeurs, par exemple pour le volume
mixer vol 95:95 mixer pcm 95:95
<note tuyau>La première valeur (95
) correspond au côté gauche, et la seconde, au côté droit.</note>
Pour garder en mémoire ces valeurs, il suffit de rajouter une entrée dans le fichier /boot/device.hints
.
Dans mon cas, pour augmenter les valeurs de vol
et pcm
, j'ai rajouté ceci :
. . . hint.pcm.0.vol="95"
Je peux désormais écouter de la musique avec un niveau audible confortable.