オンボードオーディオコントローラにどのように切り替えますか?

オンボードオーディオコントローラにどのように切り替えますか?

私のデスクトップ(Archラン)に(非常に、非常に)古いSB Liveがあります!サウンドカードが正常に動作しなくなりました。代わりに、マザーボードのオンボードオーディオコントローラを使用したいと思います。残念ながら、pavucontrol私のCinnamon(DE)設定にはSB Liveカードのみが表示されます(大きな画像を見るにはクリックしてください)。

                                        pavucontrolスクリーンショット

                                        シナモンオーディオ設定

ただし、inxiオンボードカードが認識され、ドライバが割り当てられたことを示します。

$ inxi -A
Audio:     Card-1 Intel NM10/ICH7 Family High Definition Audio Controller driver: snd_hda_intel
           Card-2 Creative Labs SB Live! EMU10k1 driver: snd_emu10k1
           Card-3 Logitech Webcam C210 driver: USB Audio
           Sound: Advanced Linux Sound Architecture v: k4.2.5-1-ARCH

ドライバモジュールが実際にロードされました。

$ lsmod | grep snd_hda_intel
snd_hda_intel          32768  9
snd_hda_codec         106496  3 snd_hda_codec_via,snd_hda_codec_generic,snd_hda_intel
snd_hda_core           49152  4 snd_hda_codec_via,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_pcm                86016  11 snd_usb_audio,snd_ac97_codec,snd_hda_codec,snd_hda_intel,snd_emu10k1,snd_hda_core
snd                    65536  41 snd_usb_audio,snd_ac97_codec,snd_hwdep,snd_timer,snd_hda_codec_via,snd_pcm,snd_rawmidi,snd_hda_codec_generic,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_emu10k1,snd_seq_device

オンボードカードがSB Live!によってブロックされると、SBのドライバがブラックリストに追加されました。

$ echo 'blacklist snd_emu10k1' | sudo tee /etc/modprobe.d/snd_emu10k1.conf

再起動すると、inxi以下が表示されます。

$ inxi -A
Audio:     Card-1 Intel NM10/ICH7 Family High Definition Audio Controller driver: snd_hda_intel
           Card-3 Logitech Webcam C210 driver: USB Audio
           Sound: Advanced Linux Sound Architecture v: k4.2.5-1-ARCH

そしてSBライブ!シナモン設定には表示されなくなりますが、pavucontrolオンボードカードも表示されません。上記のスクリーンショットにはHDMIポートのみが表示されています。

では、システムでオンボードサウンドカードを使用するにはどうすればよいですか?

答え1

udevを使用して自動的にカードをロードする

ALSA対応サウンドカードを自動的にロードする役割を果たすpulseaudioモジュールは、module-udev-detectudevをサポートするシステムにあります。このモジュールはpulseaudioを起動したときにロードする必要があり、default.pa通常は/etc/pulse/

モジュールがロードされたことを確認するには、次の手順を実行します。

pactl list short modules

そうでない場合は、module-udev-detect以下を実行してロードしてテストできます。

pactl load-module module-udev-detect

システム内のすべてのALSAカードは、サウンド設定から選択するか、以下を使用して出力レシーバーにロードする必要があります。

pactl list short cards

成功したら、次の行を次の行に追加できますdefault.pa

.ifexists module-udev-detect.so
load-module module-udev-detect
.else
load-module module-detect
.endif

module-detectudev をサポートしていないシステムのカードが検出されることがあります。

ALSAカードを手動でロードする

失敗した場合は、次のコマンドを使用してALSAカードを手動でロードすることもできます。

pactl load-module module-alsa-card <options>

この<options>領域はハードウェアによって異なります。次の例では

device_id="0" name="pci-0000_00_05.0" card_name="alsa_card.pci-0000_00_05.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes
  • device_id与えられたカード番号です

      aplay -l
    
  • name私たちが自由に選択できる名前です。

  • card_name上記のようにALSAによって定義された名前。

      ls /dev/snd/by-path
    
  • 他のオプションは標準カードのデフォルトです。

/etc/pulse/default.paもう一度成功すると、サウンドサーバーが起動するたびにロードされるように追加できます。

load-module module-alsa-card <options>

関連情報