시스템 로그에서 다음 줄을 발견했습니다.
pulseaudio[353168]: 작업 구성 파일을 찾을 수 없습니다.
pulseaudio[353168]: 'module-alsa-card' 모듈을 로드할 수 없습니다(매개변수: 'device_id="3" name="platform-snd_virmidi.0" card_name="alsa_card.platform-snd_virmidi.0" namereg_fail=false tsched= yes fix_latency_range=noignore_dB=no deferred_volume=yes use_ucm=yes 회피_resampling=no 카드_properties="module-udev-Detect.discovered=1""): 초기화에 실패했습니다.
방법이 있어요PulseAudio가 하드웨어 사운드 카드를 무시하도록 하려면 다음 UDEV 규칙과 유사한 것을 사용하십시오.
ATTRS{idVendor}=="1852", ATTRS{idProduct}=="5110", ENV{PULSE_IGNORE}="1"
그러나 문제의 사운드 카드는 snd-virmidi.ko 커널 모듈이 로드될 때 생성되는 가상 사운드 카드입니다.
$ cat /proc/asound/cards
...
3 [VirMIDI ]: VirMIDI - VirMIDI
Virtual MIDI Card 1
안타깝게도 이 모듈은 내 시스템에 잭용으로 내장된 모듈이므로 제거할 수 있는 방법이 없습니다.
그렇다면 PulseAudio가 이 장치를 무시하도록 강제하는 방법은 무엇입니까?
답변1
방법맞습니다. PulseAudio는 udev
사운드 카드를 감지 하는 데 사용됩니다 .
특정 카드를 무시하려면 udev 규칙을 추가해야 합니다.
udev
규칙을 잘못 추가해서 작동하지 않는 것 같아요 .
예를 들어, 이름이 지정된 이름은 무시합니다.sound-ds
2
여기에서 카드 ID를 확인하세요.$ cat /proc/asound/cards ... 2 [soundds ]: sound-ds - sound-ds sound-ds
udev
정보 얻기카드 2존재하다/sys/class/sound/
$ udevadm info -a -p /sys/class/sound/card2 looking at device '/devices/platform/sound-ds/sound/card2': KERNEL=="card2" SUBSYSTEM=="sound" DRIVER=="" ATTR{id}=="soundds" ATTR{number}=="2" ATTR{power/async}=="disabled" ATTR{power/control}=="auto" ATTR{power/runtime_active_kids}=="0" ATTR{power/runtime_active_time}=="0" ATTR{power/runtime_enabled}=="disabled" ATTR{power/runtime_status}=="unsupported" ATTR{power/runtime_suspended_time}=="0" ATTR{power/runtime_usage}=="0"
udev
규칙 추가하기
시스템에는 이미/lib/udev/rules.d
udev 규칙이 디렉토리에 정의되어 있어야 합니다. 예를 들어, 자신만의 규칙을 정의할 수 있는 디렉토리90-pulseaudio.rules
도 있어야 합니다 ./etc/udev/rules.d
에 있는 파일의
/etc/udev/rules.d
우선순위가 가장 높습니다., 올바른 파일을 수정했는지 확인하세요.ATTR{id}
info의 속성은udev
카드를 일치시키는 데 사용되며
규칙은 다음과 같습니다.ATTR{id}=="soundds", ENV{PULSE_IGNORE}="1"
그 뜻은
if ATTR{id} == "soundds" then ENV{PULSE_IGNORE}="1" endif
PulseAudio가 확인합니다환경 변수
PULSE_IGNORE
카드를 로드할 때. 로 설정하면true
카드가 무시됩니다.시스템을 다시 시작하고 확인하십시오.
운이 좋다면 카드가 이미 PulseAudio에 있을 것입니다. PulseAudio 상세 로그에는 규칙이 적용되었음을 나타내는 다음과 같은 내용이 표시됩니다.
[pulseaudio] module-udev-detect.c: Ignoring /devices/platform/sound-ds/sound/card2, because marked so.