FreeBSD12 のサウンドドライバをあてた。
まずサウンドのオンボードチップを調べた。
$ dmesg
hdacc0: at cad 0 on hdac0
hdaa0: at nid 1 on hdacc0
pcm0: <Realtek ALC888 (Rear Analog 7.1/2.0)> at nid 20,22,21,23 and 24,26 on hdaa0
pcm1: <Realtek ALC888 (Front Analog)> at nid 27 and 25 on hdaa0
pcm2: <Realtek ALC888 (Rear Digital)> at nid 30 and 31 on hdaa0
hdacc1: at cad 3 on hdac0
hdaa1: at nid 1 on hdacc1
pcm3: <NVIDIA MCP67 (Digital)> at nid 5 on hdaa1
起動メッセージのそれっぽいところを抜き出した。
これにより次の2つがあるようである。
Realtek ALC888
NVIDIA MCP67
$ cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC888 (Rear Analog 7.1/2.0)> (play/rec) default
pcm1: <Realtek ALC888 (Front Analog)> (play/rec)
pcm2: <Realtek ALC888 (Rear Digital)> (play/rec)
pcm3: <NVIDIA MCP67 (Digital)> (play)
そこでRealtek ALC888を動くようにしてみる。
調べるとドライバは snd_hda のようである。
有効にするには次のようにする。
$ tail /boot/loader.conf
snd_hda_load="YES"
これで再起動するとドライバが読み込まれて起動する。
文字音がならない時次のコマンドを実行してみる。
sysctl hw.snd.default_unit = 1
ボリュームの調整はmixerコマンドで行う。
引数無しで実行すると現在の設定を表示する。
$ mixer
Mixer vol is currently set to 78:78
Mixer pcm is currently set to 100:100
ボリュームは0から100までの値で左右の値を設定する。
$ mixer vol 100:100