Problems with pipewire and 5.1 surround

Since I installed pipewire, I can’t hear 5.1 surround sound anymore, only left and right speakers, the rear speakers remain silent. Pipewire is only on top of alsa, so I started checking alsa:

mpv --audio-device=alsa           # -> 2 speakers
mpv --audio-device=alsa/pipewire  # -> 2 speakers
mpv --audio-device=alsa/hw:0      # -> 5.1

It seems to be more of an ALSA issue to me, because alsa should use all 5 speakers by default. But I’m not sure.

My question is: How do I tell pipewire to use alsa/hw:0? Or should I fix the alsa configuration “pipewire” instead? And how to do all that?

Thanks in advance for any help!

Which device are you using? Are you sending the signal via HDMI or how are the speakers connected?

In pavucontrol, you can see which output device you’re using in the right-most tab “Configuration”.

The speakers are connected with 3 analog cables to my “SB Live! 5.1 Value” soundcard. pavucontrol shows the card as in use, and says it is configured for 5.1 sound.

try this:

  1. Execute:

    pamac install alsa-tools
    hdajackretask
    
  2. see if all your speakers are still bound to a pin.

  3. If not, check Show unconnected pins

  4. bind one of the unconnected pin to your rear speaker

  5. Click Apply now

  6. If you get an error message,

    • click Install boot override
    • Reboot
  7. Test again.

:crossed_fingers:

Thanks, but hdajackretask only shows the soundcard from my GPU (as it says, it can only handle intel sound cards). So I fear I can’t do anything with my main (non-intel) sound card in hdajackretask.

So you can’t change to another sound card in the top right corner like this:

2021-08-08_12-22

(My system so the values on yours will be different)

:thinking:

So you can’t change to another sound card in the top right corner like this

Exactly. The combo box only shows the Nvidia GPU for me (while e.g. alsamixer shows both cards).

@nikgnomic Doctor Nik is being paged to the operating room to assist intern Fabby. Doctor Nik, please respond!

:grin:

(I’m out of my league again…)

:bowing_man:

hdajackretask can only recognise cards using the Intel HDA driver and only a few low-budget cards made by Creative use the driver snd_hda_intel

This card uses vendor-specific driver snd_emu10k1
SB Live! 5.1 was the first Creative card to support 24bit audio. SB Live! 5.1 Value is an OEM version from a Dell or Compaq system

These cards usually only work well with fixed bit-rate and sample-rate locked to 48000Hz
even 44100Hz does not work well

alsa should use all 5 speakers by default

ALSA controls have a Channel Mode setting that defaults to the first option of 2 channels
but It can be changed to 4 or 6 channels

PulseAudio documentation claims Creative cards have Broken Drivers because they do not allow for “glitch-free” playback (also known as timer-based scheduling)
PulseAudio/Troubleshooting - Disabling timer-based scheduling | Archwiki
But your audio card was released 2 years before the first PulseAudio beta version
The hardware mixing options on this card are very similar to pro-audio cards, so it can work with multiple audio streams in ways PulseAudio does not comprehend

This last requirement might be a problem with use of Pipewire, but I can only find one comment about timer-scheduling

loud popping sound and initial stutter when playing all media (#983) · Issues · PipeWire / pipewire · GitLab
There is no equivalent of tsched, unfortunately

If you ask Pipewire developers about using this card they might know a way to work around this,
or else confirm the card is not supported

1 Like