Audio broken after switching to pipewire

My obs wasnt working and some thread here said to try switching to pipewire. I did that and obs worked yay. However it seems that something went wrong. Audio breaks after some time. For example youtube videos don’t play at all and I hear no audio from mp3 files. Restarting pipewire fixes it but it happens again after a few hours. Any ideas what might be the problem?

I checked the status and it had this printed around 10 times:
spa.alsa: hw:3,0,0: (125 missed) snd_pcm_avail after recover: Broken pipe

I installed pipewire with the manjaro-pipewire package

Edit: I figured out that I can temporarely get around the issue by switching my audio source back and forth. I read about the same issue on the arch forums but they just said to wait. Is it fixed or is this still an issue on manjaro’s side?

Can you verify any of these things?

PipeWire#No_Sound_or_pactl_info_shows_Failure:_Connection_refused

PipeWire#Audio_cutting_out_when_multiple_streams_start_playing

PipeWire#Audio_problems_after_standby

And maybe this thing here:

[HowTo] Provide System Information

Test : Install wireplumber remove pipewire-media-session

Alright so I don’t have that config file on the first link. I tried creating it with touch and this happened on pipeware-pulse:

pw.context: 0x558ba1526d00: no modules loaded from context.modules
default: acquire_rt thread:0x7f50b0c3b6c0 prio:-1 not implemented

I guess it doesn’t like empty files. The 2nd link sounds what might cause my problem but I have none of those configs.

Sorry for not providing system info. Here’s the audio output from inxi --admin --verbosity=7 --filter --width

Audio:
  Device-1: Intel 100 Series/C230 Series Family HD Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:a170
    class-ID: 0403
  Device-2: NVIDIA GP104 High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 01:00.1 chip-ID: 10de:10f0 class-ID: 0403
  Device-3: DSEA A/S Sennheiser GSA 70
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-3:2 chip-ID: 1395:0089 class-ID: 0300
    serial: <filter>
  API: ALSA v: k6.1.29-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 0.3.70 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl

Moderator edit: In the future, please use proper formatting: [HowTo] Post command output and file content as formatted text

I am using wireplumber. Most of the stuff online seem to use pipewire-media-session but that seems to be going deprecated soon. I kinda have the feeling that I don’t have wireplumber and/or pipewire in general configured properly

Well we should try it out then


For pipewire-media-session:

sudo mkdir -p /etc/pipewire/media-session.d
printf '\napi.alsa.headroom = 1024' | sudo tee -a /etc/pipewire/media-session.d/alsa-monitor.conf

(reboot)


Theres another one for wireplumber:

sudo mkdir -p /etc/wireplumber/main.lua.d
printf '\napply_properties = { \n    ["api.alsa.headroom"] = 1024, \n},' | sudo tee -a /etc/wireplumber/main.lua.d/50-alsa-config.lua

(reboot)

Is there a missmatch realtime and normal ?

sorry bad english ar

rt = realtime ?

I tried that and got this error
wireplumber.service: Start request repeated too quickly. wireplumber.service: Failed with result 'exit-code'. Failed to start Multimedia Service Session Manager.

Is there a default configuration I can put there or something?

As far as I know those files should not be owned by any package.
You can check with pacman -Qo /path/to/file.

That says that no package owns /etc/wireplumber which is strange

Oh yeah I also checked pipewire-pulse when the audio cut out. This is what I got:

pipewire-pulse[971]: mod.protocol-pulse: client 0x559cb5f1f170 [libcanberra]: ERROR command:18 (PLAY_SAMPLE) tag:177 error:25 (Input/output error)

I think it might be pipewire-pulse related

meaning you can remove them.
The files didnt exist before. If they didnt help then you can remove them.
Do inspect them though … maybe they were somehow malformed … and maybe you want to attempt the fix gain. Reference for that: PipeWire - ArchWiki

Alright something I didn’t notice is that the pipewire official documentation that is linked on the wiki actually mentions that you have to copy the files from /usr/share/wireplumber/main.lua.d/50-alsa-config.lua to /etc/wireplumber/main.lua.d/50-alsa-config.lua. I got the ["api-alsa-headroom"] = 1024 to work now. Time to see if it fixes the audio issue.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.