Trying to get 5.1 surround sound working with Fedora Silverblue

I’m trying to get 5.1 surround sound setup with my PC. Here’s my setup

  • One end of my HDMI cable is plugged into an RX 5700 XT GPU on my PC
  • The other end is plugged into my TV (LG SK900PUA)
  • Another HDMI cable runs from the TV to my receiver, which is hooked up to all my speakers.

What happens:

  • Using the Digital Stereo (HDMI) Output profile, sound plays through all of the speakers, but it’s obviously fake surround sound. The front left and right channels just get mirrored to the back channels.
  • Using the Digital Surround 5.1 (HDMI) Output profile, sound only plays through the front left and right channels. I tried running speaker-test -c 6, and sound through the other channels is silent.

What I want to happen:
I want every channel to play out of the correct speaker, with real 5.1 audio.

Things I’ve tried:

  • Swapping out the HDMI cable (that was known to work)
  • Using an EndeavourOS live ISO to see if it worked there (it didn’t)
  • Swapping out the RX 5700 XT with an RX 480.

Output of some commands:
aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: Controller [Wireless Controller], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 1: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: HDMI [HDA ATI HDMI], device 3: HDMI 0 [LG TV]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: S51 [SB Omni Surround 5.1], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 3: S51 [SB Omni Surround 5.1], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: S51 [SB Omni Surround 5.1], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Additional notes:

  • This exact setup works just fine with my PS5, which is using another HDMI and plugged into the same TV, and using the same reciever.
  • I also could have sworn this worked on my old EndeavourOS install, so it’s weird it didn’t work with the live ISO.
  • I’m technically using Kinoite, not Silverblue, but I didn’t think that would matter.
  • I rebased to Fedora 38 to see if the worked there, but it didn’t.

Fedora Silverblue version:
38.20230225.n.0

Hi there. Did you solve it? I have also been struggling with this.

Unfortunately, no. But, I did open an issue: 5.1 surround sound doesn't play to all channels correctly over HDMI (#3094) · Issues · PipeWire / pipewire · GitLab

Some other people also seem to be dealing with this