Table des matières

Le son

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>

Par où commencer ?

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

Le garder en mémoire

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 volume

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 pour vol et pcm é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.