サウンドカードとHDMIの両方がIntel HDAドライバを使用している場合、サウンドは機能しません。デバイスのロード順序を変更するには?

サウンドカードとHDMIの両方がIntel HDAドライバを使用している場合、サウンドは機能しません。デバイスのロード順序を変更するには?

私は、Conexant CX20584チップセットをベースにしたIntel HDAサウンドカードを搭載したAcer Aspire One 522ネットブックを持っています。 KDEは起動時にサウンドを出力しますが、Flashやおそらく他の多くのデバイス検索アプリケーションは/dev/dspKDEを介してサウンドを出力する方法がないため、ほとんど役に立たないマルチメディア体験を提供します。

ALSA再生デバイスを使用して確認すると、デフォルトのオーディオデバイスがゼロ以外のaplay -lカード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文書を調べた後、次のファイルを使用してHDMIおよびIntel HDAで使用されているドライバモジュールにインデックスを割り当てました/etc/modprobe.d/asound.conf

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ためだそうです。モジュールなので、この場合は動作しないようです。

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

ベストアンサー1

ついにこの質問に対する答えが見つかりましたこの投稿は他のフォーラムからのものです。(参照は「試行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

おすすめ記事