サウンドカードとHDMIの両方がIntel HDAドライバを使用している場合、サウンドが機能しません。デバイスの読み込み順序を交換するにはどうすればよいですか?


10

Conexant CX20584チップセットをベースにしたIntel HDAサウンドカードを搭載したAcer Aspire One 522ネットブックを持っています。KDEは起動時に音声を出力しますが、フラッシュや、/dev/dspデバイスを探す他の多くのアプリは、音声を出力できず、ほとんど役に立たないマルチメディアエクスペリエンスをレンダリングします。

ALSA再生デバイスをaplay -lで確認したところ、メインオーディオデバイスが0ではなくカード1として認識され、代わりにHDMIに接続されていました。

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: CONEXANT Analog [CONEXANT Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

そのようにしてを取得しましたが/dev/dsp1、ほとんどのアプリは使用する/dev/dspためにハードコードされているようなので、カードインデックスを交換する方法を探しました。ALSAのドキュメントを調べた後、次の/etc/modprobe.d/asound.confファイルを使用して、HDMIとIntel HDAで使用されるドライバーモジュールにインデックスを割り当てようとしました。

options snd cards_limit=2
options snd-hda-codec-conexant index=0
options snd-hda-codec-hdmi index=1
options snd slots=snd-hda-codec-conexant,snd-hda-codec-hdmi

それはうまくいきませんでした、そして私の答えの無限の探求での忘れられたリンクに基づいて、これらのindexディレクティブはモジュールの読み込み順序を調整することになっているようですが、これらのConexantコーデックとHDMIコーデックはたまたま同じIntel HDAを使用しますドライバモジュールなので、この場合は適用されないようです。

とはいえ、デバイスが同じALSAドライバーモジュール(この場合はIntel HDA)を使用する場合、正しいカードインデックスを定義する方法はありますか?

回答:


10

私はようやく、別のフォーラムからのこの投稿に基づいて、この問題に対する回答を見つけました(参照として「Attempt 1b」を参照してください)。それによると、使用されているドライバーが同じであっても、モジュールIDを指定できます。

alias char-major-116 snd
alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-hda-intel

options snd cards_limit=2

options snd-hda-intel id=SB index=0
options snd-hda-intel id=HDMI index=1

したがって、正しいカードの順序を無視して、サウンドが期待どおりに機能するようにします。

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: CONEXANT Analog [CONEXANT Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

他の同様のケースに適用する場合は、/proc/asoundカードへのシンボリックリンクを検査できます。これらは目的のモジュールIDになります。

$ ls -l /proc/asound/
total 0
lrwxrwxrwx 1 root root 5 Jan 26 19:19 HDMI -> card1
lrwxrwxrwx 1 root root 5 Jan 26 19:19 SB -> card0
dr-xr-xr-x 4 root root 0 Jan 26 19:19 card0
dr-xr-xr-x 3 root root 0 Jan 26 19:19 card1
-r--r--r-- 1 root root 0 Jan 26 19:19 cards
-r--r--r-- 1 root root 0 Jan 26 19:19 devices
-r--r--r-- 1 root root 0 Jan 26 19:19 hwdep
-r--r--r-- 1 root root 0 Jan 26 19:19 modules
dr-xr-xr-x 2 root root 0 Jan 26 19:19 oss
-r--r--r-- 1 root root 0 Jan 26 19:19 pcm
dr-xr-xr-x 2 root root 0 Jan 26 19:19 seq
-r--r--r-- 1 root root 0 Jan 26 19:19 timers
-r--r--r-- 1 root root 0 Jan 26 19:19 version
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.