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.conf
hdmi出力がカード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
簡単に言うと:
- オンボードオーディオは現在最初のサウンドカードとして検出されます。
- Strix Soarを無効にせずにオンボードサウンドを無効にすることはできません。
- Strix Soarを無効にしないと、オンボードサウンドカーネルモジュールをブラックリストに載せることはできません。
- 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