내 데스크톱(Arch 실행)에 (아주, 아주) 오래된 SB Live가 있습니다! 사운드 카드가 더 이상 제대로 작동하지 않습니다. 대신 마더보드의 온보드 오디오 컨트롤러를 사용하고 싶습니다. 안타깝게도 pavucontrol
내 DE(Cinnamon) 설정에는 SB Live 카드만 표시됩니다(더 큰 이미지를 보려면 클릭하세요).
그러나 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라이브! Cinnamon 설정에는 더 이상 표시되지 않지만 pavucontrol
온보드 카드도 표시되지 않습니다. 위 스크린샷에는 HDMI 포트만 표시되어 있습니다.
그렇다면 시스템에서 온보드 사운드 카드를 사용하려면 어떻게 해야 합니까?
답변1
udev를 사용하여 자동으로 카드 로드
ALSA 인식 사운드 카드를 자동으로 로드하는 역할을 하는 pulseaudio 모듈은 module-udev-detect
udev를 지원하는 시스템에 있습니다. 이 모듈은 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-detect
udev를 지원하지 않는 시스템의 카드가 감지 될 수 있습니다.
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>