[해결됨] 사운드 서버로 삽질하기
커널패닉

Lv.1 커널패닉 (119.♡.59.225)

2025년 4월 23일 AM 01:02 · 수정됨(12. 04. 08:02)

조회 1,136 공감 0

이전에 리눅스민트를 깔아놓은 컴퓨터가 있었는데, 이번에 Arch Linux를 새로 깔아 주었습니다.

환경 구성하면서 잘 사용하다 헤드폰을 끼고 음악을 들으려는데,

소리가 고막을 현란하게 때립니다. 

따라서 이 문제를 해결하고자 여러 사이트들을 방문해 봤지만 팝핑 노이즈 대신, 항상 최대 볼륨으로 삐이이 하는 부저로 탈바꿈 했습니다? (헤드폰에서만 문제가 재현되며 내장 스피커로는 문제가 재현되지 않았습니다)

여러 구성파일을 기본값으로 복원 해보기도 했지만, 문제가 해결되지 않고 부저음이 계속 들려서 systemctl --user restart pipewire pipewire-pulse wireplumber 명령을 연타하느라 바빴습니다. (확률 기반으로 문제가 해결(?) 되었습니다만 다시 일반적인(?) 팝핑노이즈가 들리는 상태로 복구된 것 뿐입니다) 

따라서 pipewire는 도저히 사용할 수 없어서, 대신 pulseaudio를 사용하기로 했습니다.


pulseaudio를 설치한 후 확인해보니, 소리도 잘 나오고 팝핑노이즈나 소리왜곡도 없어서 좋았습니다.

'pulseaudio는 잘 작동해서 마음에 든다'와 같은 생각을 하면서, 자리를 비우기 위해 컴퓨터를 대기모드로 전환한 후 다시 켜보니

[code=bash]analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability unknown)

analog-output-headphones: Headphones (type: Headphones, priority: 9900, not available)[/code]

위 상태와 함께 소리가 안들리네요. (내장스피커는 양자역학의 슈뢰딩거 고양이 개념을 따릅니다. 과연 이 스피커는 연결되어 있을까요? 아님 분리되었을까요? 둘다 아니라면 스피커가 존재하긴 한 걸까요?)

인터넷에서는 각각 pulseaudio -k && pulseaudio --start  또는 systemctl restart --user pulseaudio 등의 명령들을 추천해 주었으나, 안타깝게도 컴퓨터를 재부팅하지 않으면 근본적인 문제가 전혀 해결되지 않았습니다.


따라서 'pulseaudio-git 을 설치하면 문제가 해결되지 않을까' 라고 생각하며

[code=bash]yay -Rd --nodeps pulseaudio libpulse pulseaudio-jack pulseaudio-zeroconf pulseaudio-bluetooth pipewire libwireplumber libpipewire

yay -S pulseaudio-git pulseaudio-jack-git pulseaudio-zeroconf-git pulseaudio-bluetooth-git[/code]

명령을 실행해 봤으나 설치되는 버전이 같네요.. 어째 development version 이 아닌 느낌입니다.


게다가 이번에는 error while loading shared libraries: libpipewire-0.3.so.0: cannot open shared object file: No such file or directory 메시지와 함께 mpv가 말썽입니다? (그 이유는 앞서 pipewire와 관련된 패키지들을 의존성 검증 없이 날려버렸기 때문이지요)


따라서

[code=bash]yay -Rd --nodeps mpv mpv-mpris ffmpeg

yay -S mpv-full-git mpv-mpris-git mpv-uosc-git[/code]

사실 여기서 ffmpeg-git 대신 ffmpeg-full 을 설치해 보고 싶었는데, 070-ffmpeg-svt-av1-3.0.0-fix.patch를 다운로드 하는 중에 503 에러가 발생하여 설치하지 못했습니다.


위 명령을 통해 따끈따끈한 mpv-full-git 을 설치하고 systemctl suspend 를 실행한 후 문제가 재현되는가 확인해 봤습니다만... 

여전히 안들리네요.. 그냥 sleep, suspend, hibernate, suspend-then-hibernate, hybrid-sleep 등을 모두 마스킹 처리하고 절전 모드가 없는 컴퓨터라고 생각하기로 했습니다.

댓글 (8)

  • Realtime

    Realtime Lv.1

    25.04.23 · 75.♡.158.112

    제게 리눅스에서의 절전은 화면꺼짐/잠금 입니다.
    사실 그냥 화면만 꺼져도 소모 전력이 꽤 줄기도 해서요 ㅎㅎ
  • D

    dante2k Lv.1

    25.04.23 · 117.♡.36.113

    저의 경우가 도움이 될지는 모르겠지만, 이어폰잭이나 블루투스는 별 문제가 없었는데, hdmi 로 연결된 모니터나 스피커에서 파핑이 발생하여 modprobe 에서 아래와 같은 설정을 추가했습니다. snd_hda_intel (HD 오디오 장치 드라이버) 에 한정된 이야기입니다.

    # 예: /etc/modprobe.d/sound.conf
    options snd_hda_intel power_save=0
    options snd_hda_intel power_save_controller=Y
  • 커널패닉

    커널패닉 Lv.1 → dante2k 작성자

    25.04.23 · 119.♡.59.225

    [code=bash][hm:~]$ history | grep options
    774 echo "options snd_hda_intel power_save=0" | sudo tee /etc/modprobe.d/audio_disable_powersave.conf[/code]
    `options snd_hda_intel power_save_controller=Y` 설정값은 따로 zsh_history 파일에 없는 것을 보니 아마 따로 설정하지 않았거나 vim 편집기를 통해 구성했을 것 같습니다. (PulseAudio를 제거하니 기존에 구성했던 설정파일도 같이 삭제되서 `options snd_hda_intel power_save_controller=Y` 설정을 적용했었는지 확인이 되지 않네요.)

    저의 경우는 이어폰 잭에 헤드폰이나 스피커와 같은 음향기기를 연결했을 때 문제가 발생했습니다.
  • 커널패닉

    커널패닉 Lv.1 작성자

    25.04.23 · 119.♡.59.225

    [code=bash]0 alsa_output.pci-0000_00_1f.3.analog-stereo module-alsa-card.c s32le 2ch 44100Hz IDLE
    1 bluez_sink.9C_64_8B_5C_EC_69.a2dp_sink module-bluez5-device.c s16le 2ch 44100Hz RUNNING[/code]
    블루투스 스피커를 연결하니 문제가 해결되었네요. 아마도 `snd_hda_intel` 모듈에 문제가 있는 것 같아보입니다.
  • 커널패닉

    커널패닉 Lv.1 → 커널패닉 작성자

    25.05.06 · 119.♡.59.225

    결론은 외장 USB DAC를 구매하여 해결했습니다. {emo:onion-013.gif:50}

    구매한 DAC를 연결해 보니, PipeWire 및 PulseAudio 모두 잘 작동하더군요.
    따라서 OS 기본값인 PipeWire로 다시 설치 하고, 다시 동일한 삽질을 방지하기 위해 문제가 발생하는 `snd_hda_intel` 모듈을 블랙리스트에 추가해 주었습니다.

    또한, PipeWire 설정을 아래와 같이 적절히 만져주니 만족스러운 음질을 들려주네요.
    [code=bash][hm:~]$ diff /usr/share/pipewire/pipewire.conf /etc/pipewire/pipewire.conf
    44c44
    < #default.clock.allowed-rates = [ 48000 ]
    ---
    > default.clock.allowed-rates = [ 32000 44100 48000 88200 96000 176400 192000 ]
    113,116c113,116
    < nice.level = -11
    < rt.prio = 88
    < #rt.time.soft = -1
    < #rt.time.hard = -1
    ---
    > nice.level = -15
    > rt.prio = 92
    > rt.time.soft = -1
    > rt.time.hard = -1[/code]
    현재 사운드 장치 구성입니다.
    [code=bash][hm:~]$ inxi -A
    Audio:
    Device-1: Intel 100 Series/C230 Series Family HD Audio driver: N/A
    Device-2: Advanced Micro Devices [AMD/ATI] Ellesmere HDMI Audio [Radeon
    RX 470/480 / 570/580/590] driver: N/A
    Device-3: Comtrue iFi USB Audio SE
    driver: hid-generic,snd-usb-audio,usbhid type: USB
    API: ALSA v: k6.14.4-arch1-2 status: kernel-api
    Server-1: PipeWire v: 1.4.2 status: active[/code]
    일부 장치 드라이버가 `N/A` 로 표기되는 이유는 앞서 언급했듯이 `snd_hda_intel` 모듈을 블랙리스트에 추가했기 때문입니다.
  • 커널패닉

    커널패닉 Lv.1 → 커널패닉 작성자

    25.05.06 · 119.♡.59.225

    몰론 블루투스와 DAC로 재생시 `snd_hda_intel` 모듈을 사용하지 않아 문제가 재현되지 않았습니다.
    따라서 이전에 마스킹 처리했던 sleep, suspend, hibernate, suspend-then-hibernate, hybrid-sleep 타겟들을 마스크 해제하여 절전모드 기능을 다시 복구했네요.
  • 커널패닉

    커널패닉 Lv.1 작성자

    25.05.13 · 119.♡.59.225

    근데 `snd_hda_intel` 모듈을 블랙리스트에 추가하니 사이드이펙트로 내장 마이크도 작동이 안되네요. 다른 방안을 구상해 봐야겠습니다 {emo:onion-085.gif:50}
    [code=bash]Audio:
    Device-1: Intel 100 Series/C230 Series Family HD Audio driver: N/A
    Device-2: Advanced Micro Devices [AMD/ATI] Ellesmere HDMI Audio [Radeon
    RX 470/480 / 570/580/590] driver: N/A
    Device-3: Comtrue iFi USB Audio SE
    driver: hid-generic,snd-usb-audio,usbhid type: USB
    Device-4: Comtrue iFi USB Audio SE
    driver: hid-generic,snd-usb-audio,usbhid type: USB
    API: ALSA v: k6.14.6-arch1-1 status: kernel-api
    Server-1: PipeWire v: 1.4.2 status: active[/code]
  • SDK

    SDK Lv.1

    25.12.04 · 127.♡.0.1

    {emo:damoang-meme-72.webp:500}

댓글을 작성하려면 이 필요합니다.