![PulseAudio에서 ALSA 소스 로드가 시작 시 실패했지만 PulseAudio를 다시 시작한 후에는 제대로 작동합니다.](https://linux55.com/image/220780/PulseAudio%EC%97%90%EC%84%9C%20ALSA%20%EC%86%8C%EC%8A%A4%20%EB%A1%9C%EB%93%9C%EA%B0%80%20%EC%8B%9C%EC%9E%91%20%EC%8B%9C%20%EC%8B%A4%ED%8C%A8%ED%96%88%EC%A7%80%EB%A7%8C%20PulseAudio%EB%A5%BC%20%EB%8B%A4%EC%8B%9C%20%EC%8B%9C%EC%9E%91%ED%95%9C%20%ED%9B%84%EC%97%90%EB%8A%94%20%EC%A0%9C%EB%8C%80%EB%A1%9C%20%EC%9E%91%EB%8F%99%ED%95%A9%EB%8B%88%EB%8B%A4..png)
기본 소스를 에 정의된 가상 dsnoop 장치(dmic_sv)로 설정하려고 하며 다음 줄을 ~/.asoundrc
추가했습니다 .~/.config/pulse/default.pa
# Tried placing the line below both before and after `load-module module-udev-detect tsched=0`,
# but it didn't make a difference
load-module module-alsa-source device=dmic_sv
...
set-default-source alsa_input.dmic_sv
시작 시 PulseAudio는 dmic_sv를 찾을 수 없으므로 이를 로드하고 기본 소스로 설정할 수 없지만 PulseAudio를 다시 시작하면 문제가 해결됩니다. PulseAudio가 ALSA 전에 로드된 것으로 의심되므로 ALSA 로드 후 PulseAudio를 다시 시작하는 것이 작동하지만 이를 해결할 수 있는 좋은 방법을 찾지 못했습니다(아래 해킹만 dmic_sv가 출력에 나타날 때까지 기다린 다음 arecord -L
PulseAudio를 다시 시작합니다).
while ! arecord -L | grep dmic_sv > /dev/null
do
echo "Waiting for dmic_sv..."
sleep 2
done
killall pulseaudio
해킹을 사용할 필요가 없도록 올바른 방법으로 구성하는 데 도움을 주시면 대단히 감사하겠습니다!