[SOLVED] Pop!_OS and 5.1 Surround Sound Not Mapped Correctly; Other Distros Are Fine

CPU: Ryzen 9 5900X
RAM: 32GB RAM
GPU: Radeon RX 5600 XT
Audio: HDMI Audio from Radeon RX 5600 XT to Denon AVR-X3400H home theater receiver

Tests I have run:

Pop!_OS 22.04, Pipewire 0.3.53-1pop1~1657140331~22.04~21b0967, installed:

speaker-test -c6:
  front-left  -> front-left
  center      -> center
  front-right -> front-right
  rear-right  -> rear-right
  rear-left   -> rear-left
  subwoofer   -> subwoofer

GNOME Settings:
  front-left  -> front-left
  center      -> rear left
  front-right -> front-right
  rear-right  -> subwoofer
  rear-left   -> center
  subwoofer   -> rear-right

Ubuntu 22.04, Pipewire 0.3.48-1ubuntu1, live USB:

speaker-test -c6:
  front-left  -> front-left
  center      -> center
  front-right -> front-right
  rear-right  -> rear-right
  rear-left   -> rear-left
  subwoofer   -> subwoofer

GNOME Settings:
  front-left  -> front-left
  center      -> center
  front-right -> front-right
  rear-right  -> rear-right
  rear-left   -> rear-left
  subwoofer   -> subwoofer

Manjaro (latest version), forgot to check the version number for Pipewire, live USB

speaker-test -c6 (alsa-utils had to be manually installed):
  front-left  -> front-left
  center      -> center
  front-right -> front-right
  rear-right  -> rear-right
  rear-left   -> rear-left
  subwoofer   -> subwoofer

GNOME Settings:
  front-left  -> front-left
  center      -> center
  front-right -> front-right
  rear-right  -> rear-right
  rear-left   -> rear-left
  subwoofer   -> subwoofer

Arch worked fine as well before I moved over to Pop!_OS for their desktop shell and that Pop!_OS worked out better for me compared to GNOME 42.

speaker-test worked in all the Linux distributions I have tried. Is there any way I can solve the problem? I wanted to go with the Ubuntu version of Pipewire, which is 0.3.48, but to do so breaks Pop!_OS dependencies such as pop-session. I tried downgrading to Pipewire 0.3.48-1ubuntu1, but that got very messy with so many packages I need to download and do a dpkg -i --force-deps but as far as I know, that can be dangeous and even if I know what I am doing, I am forced to go with 0.3.53 as provided by Pop!_OS.

I thought about building Pipewire from source, but with such a hard dependency from Pop!_OS packages, (sigh) I don’t want to migrate away from Pop!_OS because of their custom design that I like such as tiled interface and the fact that I can use the built-in magnifier due to my visual impairment.

Any suggestions anyone can think of would be appreciated. I tried the latest vanilla kernel (5.18.10), but the change in kernel is no help for me in Pop!_OS.

PS: I did try copying the /etc/pipewire directory from Manjaro GNOME Live to my Pop!_OS installation that did not have the /etc/pipewire directory and no dice.

PPS: I actually have a small script that creates a 5.1 virtual surround sound sink and that worked for me; however, I would rather not have to do create a sink and then route the monitor outs to my Radeon GPU by using Carla.

pactl load-module module-null-sink object.linger=1 media.class=Audio/Sink sink_name=pulseaudio-51 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe

I have compiled Pipewire from source from Pipewire’s website and the channels are mapped correctly! So the problem lies with the version of Pipewire (0.3.53) that came with Pop!_OS.

All is well.

Update: Channel mapping was broken in Pipewire 0.3.53.

Update 2: I received a tweet regarding tracking the release of Pipewire from Debian:

Update 3: The distro maintainers of Pop!_OS has shipped Pipewire 0.3.55 so this should fix the problem with the center/sub/surround channel swapping. Plus, this is not a distribution issue but Pipewire 0.3.53 itself so this did affect Arch Linux for me.

All is well.