ASUS Strix Soarをネイティブサウンドカードとして使用できるように、オンボードサウンドを無効にします。

ASUS Strix Soarをネイティブサウンドカードとして使用できるように、オンボードサウンドを無効にします。

Pulseaudioは私の最後のAudigy 2サウンドカードを台無しにしました。これは、サウンドカードのPCMを最大音量に設定し、オーディオアプリケーションを切り替えるたびに(たとえば、Firefox YouTubeビデオからAudaciusへ)、オーディオレベルが自動的に変更されたためです。とにかく古いカードだったし、表紙も乾いてしまったが、音量を高くリセットすることが棺の最後の釘になり、結局はEric Cartmanがトロンボーンを弾くように聞こえ始めた。その後、ライン出力の一部の側面でオーディオが消え、他のすべての出力で音質が回復し始めます。これが再び発生しないようにパルスオーディオを削除し、再びパルスオーディオを使用しません。

最近Asus Strix Soar 7.1サウンドカードを購入しました。 ALSAは、Realtekオンボードサウンドカードが有効になっている場合にのみ検出します。システムUEFIでオンボードサウンドが無効になっていると、サウンドカードは検出されません。 Asus Strix Soarは、PCIe PCBにあるUSBベースのサウンドカードです。テストしてみましたが、AudaciusにカードでPCMを使用するように指示すると、正しく機能し合理的に聞こえます。しかし、多くのアプリケーションでは、必然的に最初のサウンドデバイスとなる基本サウンドカードを使用すると予想しています。

オンボードサウンド用のすべてのカーネルモジュールをブラックリストに追加すると、AlsaはStrix Soarの検出を停止し、「ミキサーデバイスなし」を報告し、サウンドコントロールを開けません。 BIOSで無効にしても同じことが起こります。 ALSAはこれを検出しません。

また、HDMI経由でサウンドを出力したいNVidiaカードがありますが、デフォルトのサウンドカードになりたいです。

次の設定でデフォルトのHDMI出力を停止しました。

options snd_hda_intel index=3 model=auto

これにより、/etc/modprobe.d/alsa-base.confhdmi出力がカード3に移動してリストの後半になり、デフォルトのサウンドカードになりません。歓声!

ただし、Realtekサウンドカードが最初のデバイスとして一覧表示されます。 Realtekのサウンドカードカーネルモジュールが何であるかわからないので移動できません。

lspci -k | grep -A2 Audioを実行すると、次のようになります。

09:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)
        Subsystem: ASUSTeK Computer Inc. GK208 HDMI/DP Audio Controller
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
--
0b:00.3 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller
        Subsystem: ASUSTeK Computer Inc. Family 17h (Models 00h-0fh) HD Audio Controller
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

lsmod | grep sndを実行すると、次の結果が表示されます。

snd_hda_codec_hdmi     61440  1
snd_hda_codec_generic    86016  1
snd_usb_audio         262144  1
snd_hda_intel          49152  1
snd_usbmidi_lib        36864  1 snd_usb_audio
snd_hda_codec         151552  3 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel
snd_rawmidi            40960  1 snd_usbmidi_lib
snd_seq_device         16384  1 snd_rawmidi
snd_hda_core           94208  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_hwdep              16384  2 snd_usb_audio,snd_hda_codec
snd_pcm               114688  5 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
snd_timer              36864  1 snd_pcm
snd                    94208  15 snd_hda_codec_generic,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,snd_pcm,snd_rawmidi
soundcore              16384  1 snd
usbcore               294912  5 xhci_hcd,snd_usb_audio,usbhid,snd_usbmidi_lib,xhci_pci

aplay -l の出力は次のようになります。

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 0: Generic Analog [Generic Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 1: Generic Digital [Generic Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: CARD [STRIX SOUND CARD], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: CARD [STRIX SOUND CARD], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: CARD [STRIX SOUND CARD], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

簡単に言うと:

  1. オンボードオーディオは現在最初のサウンドカードとして検出されます。
  2. Strix Soarを無効にせずにオンボードサウンドを無効にすることはできません。
  3. Strix Soarを無効にしないと、オンボードサウンドカーネルモジュールをブラックリストに載せることはできません。
  4. Realtekサウンドカードをデフォルトから外すために、alsa-base.confにどのカーネルモジュールが必要かわかりません。

私がしたいこと:

私が望むのは、オンボードオーディオを無効にするか、デフォルトのサウンドデバイスから削除して、Strix Soarがデフォルトのサウンドカードになるようにすることです。しかし、私はこれについてのカーネルモジュールを知りません。

カーネルモジュールが何であるかを調べて移動する方法はありますか?それとも、Strix Soarを無効にせずにオンボードオーディオを無効にする方法はありますか?

この問題を経験している人は私だけではありません。

編集する受け入れられた回答についてNickに感謝します。正しい道に入り、解決策は次のように変更することでした/etc/modprobe.d/alsa-base.conf

options snd_usb_audio index=0 model=auto
options snd_hda_intel index=3 model=auto
options snd_hda_intel index=4 model=auto

これですべてが解決されました。これでStrixが1位になりました。

答え1

オンボード Realtek と NVidia GPU の両方がモジュールを使用し、snd_hda_intel必要なデバイスはデフォルトでモジュールを使用します。snd_usb_audio

このオプションは、最初のスロット(カード0)がいっぱいになるslotsようにカードの順序を変更します。snd_usb_audio

/etc/modprobe.d/alsa-base.conf質問に追加されたオプションを編集し、次に置き換えます。

options snd slots=snd_usb_audio,snd_hda_intel

高度なLinuxサウンドアーキテクチャ - モジュール自動ロードサポートLinuxカーネルドキュメント|

関連情報