소리를 재생하면 5초간 아무런 소리도 나지 않아서 사운드 서버를 교체했습니다.
커널패닉

Lv.1 커널패닉 (125.♡.12.173)

2024년 11월 11일 PM 06:19 · 수정됨(01. 07. 22:43)

조회 696 공감 0

Linux Mint 22 버전부터 PipeWire를 사용한다고 하는데, 막상 idle시 전원 절약을 위해 suspend되는 기능을 끌 수가 없었습니다. 따라서 예전에 잘 사용하던 PulseAudio를 설치해 주었더니 딜레이 없이 잘 재생하네요.


[code=shellscript]sudo apt purge pipewire pipewire-bin

systemctl enable --user pulseaudio

sudo reboot[/code]


사운드 서버가 제대로 적용되었는지 확인하려면 inxi -A 명령을 실행하면 아래와 같이 표시됩니다.

[code=shellscript][hm:~]$ inxi -A

Audio:

Device-1: Intel Raptor Lake High Definition Audio driver: snd_hda_intel

Device-2: NVIDIA driver: snd_hda_intel

API: ALSA v: k6.8.0-48-generic status: kernel-api

Server-1: PulseAudio v: 16.1 status: active

[/code]


PulseAudio의 module-suspend-on-idle 기능을 비활성화 하는 방법은 아래 코드를 주석처리하기만 하면 문제가 해결됩니다.

[code=shellscript]# /etc/pulse/default.pa

### Automatically suspend sinks/sources that become idle for too long

load-module module-suspend-on-idle    # 이 라인 주석처리[/code]

댓글 (2)

  • 시커먼사각

    시커먼사각 Lv.1

    24.11.12 · 49.♡.218.16

    감사합니다. ㅎㅎ
    안그래도 라즈베리파이로 만들어놓은 간단한 네트워크 플레이어에서 신호를 줘도 소리가 먹어버리는 현상이 있어서 골치를 앓고 있었습니다. ㅎ
  • 커널패닉

    커널패닉 Lv.1 작성자

    25.01.07 · 119.♡.59.225

    Pipewire 사용시에는 아래 코드를 수정하면 문제가 해결되는 것 같습니다.

    [code=shellscript]# /usr/share/wireplumber/wireplumber.conf
    ## Node configuration hooks
    {
    name = node/create-item.lua, type = script/lua
    provides = hooks.node.create-session-item
    requires = [ si.audio-adapter, si.node ]
    }
    # {
    # name = node/suspend-node.lua, type = script/lua
    # provides = hooks.node.suspend
    # }
    {
    name = node/state-stream.lua, type = script/lua
    provides = hooks.stream.state
    }
    {
    name = node/filter-forward-format.lua, type = script/lua
    provides = hooks.filter.forward-format
    }
    {
    type = virtual, provides = policy.node
    requires = [ hooks.node.create-session-item ]
    # wants = [ hooks.node.suspend
    wants = [
    hooks.stream.state
    hooks.filter.forward-format ]
    }
    {
    name = node/software-dsp.lua, type = script/lua
    provides = node.software-dsp
    }[/code]

    그 후 변경된 설정을 반영하기 위해 Pipewire를 재시작하려면 `systemctl --user restart pipewire wireplumber` 명령을 실행하면 됩니다.
    참고 링크: https://forum.endeavouros.com/t/58125/7

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