音がならない時 --NVIDIA HDMI 編 *

openSUSE13.1で、Yastで設定しても、nvidiaのカード経由で、音が鳴らない時の対処法
ハードウエア環境:マザーボードの音源はBIOSにてOFFにし、音源カードはNVIDIAのカードだけの前提

最初にカードのデバイス番号としてどのようなものがあるかチェック **

$ aplay -l
 **** ハードウェアデバイス PLAYBACK のリスト **** [#t7971c9f]
カード 0: NVidia [HDA NVidia], デバイス 3: HDMI 0 [HDMI 0]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 0: NVidia [HDA NVidia], デバイス 7: HDMI 0 [HDMI 0]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 0: NVidia [HDA NVidia], デバイス 8: HDMI 0 [HDMI 0]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 0: NVidia [HDA NVidia], デバイス 9: HDMI 0 [HDMI 0]
サブデバイス: 1/1
サブデバイス #0: subdevice #0

ここで、デバイス番号が、3,7,8,9の4通りがある事がわかった。
順番にデバイスに接続し、音が鳴るかチェック

$ speaker-test -c 2 -r 48000 -D hw:0,3

speaker-test 1.0.27.2
 
再生デバイス: hw:0,3
ストリームパラメータ: 48000Hz, S16_LE, 2 チャネル
16 オクターブのピンクノイズを使用
レート 48000Hz (要求値 48000Hz)
バッファサイズ範囲 64 〜 262144
ピリオドサイズ範囲 32 〜 131072
最大バッファサイズ 262144 を使用
ピリオド数 = 4
period_size = 65536 で設定
buffer_size = 262144 で設定
0 - Front Left
1 - Front Right
ピリオド時間 = 4.228354
....
....

のような表示が出るが、音が鳴らなければ対象デバイス番号は無効なので、
Ctrl + D のキーで終了し、さっさと次の番号を指定する

$ speaker-test -c 2 -r 48000 -D hw:0,7
$ speaker-test -c 2 -r 48000 -D hw:0,8
$ speaker-test -c 2 -r 48000 -D hw:0,9

スピーカーから 「ザーーーー」という音が聞こえたら、そのデバイス番号が当たり!

/etc/asound.conf ファイルを作成する。(root にて行う) **

# vi /etc/asound.conf
pcm.!default {
type hw
card 0
device 9 <==ここの番号に、当たりの番号を指定する
}
ctl.!default {
type hw
card 0
device 9 <==ここの番号に、当たりの番号を指定する
}

/etc/pulse/defaut.pa を確認し、必要があれば編集 **

# vi /etc/pulse/defaut.pa
以下のコマンドが有効になっていなければ、有効にする
load-module module-alsa-sink device=hw:0,9
ここで、hw:0,9 の ”9” は、当たりのデバイス番号を指定。
ちなみに、hw:0,9の "0"は、1つ目のカードという意味なので、オンボードの音源を
有効にしている場合では、NVIDIAのカードは1などになるかもしれない・・・。

設定が終了したら、再起動して何か鳴らしてみる。


カテゴリ: ハードウェア

Last-modified: 2018-03-28 (水) 17:59:57 (2213d)