Make pipewire use ALSA config change

In the beginning, a TV (Philips FTV PHL0000) did not play any audio coming from my HDMI-connected Fedora Laptop.

Audio output in Gnome settings was set to HDMI/DisplayPort - Built-in audio, as it should be.

However, testing audio with speaker-test -D plug:hdmi works!

After setting /etc/asound.conf to

pcm.!default {
    type plug
    slave.pcm "hdmi"
}

speaker-test -D plughw:0,3 also works after using speaker-test -D plug:hdmi once.

Nevertheless, speaker-test -D pipewire as well as the system sound are still broken. How can I have pipewire apply the changes to the alsa-config?

Also, is there a way to fix this problem for good? I had the same sound-issue on a Raspberry Pi running raspbian before, so there seems to be a general issue with linux and this type of TV.

Logs:

[hagen@fedora ~]$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC3246 Analog [ALC3246 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Interestingly, speaker-test -D pipewire works just fine for me on Fedora 35, even with toggling through through output devices in Gnome, including HDMI.

Here’s my aplay output if it helps to debug based on hardware:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Generic_1 [HD-Audio Generic], device 0: ALC257 Analog [ALC257 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: USB [ThinkPad Thunderbolt 3 Dock USB], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Hi Scott, thanks for your answer! Just to be clear, in general, speaker-test -D pipewire works perfectly fine, even with some other HDMI displays or just with my Laptop’s speakers. Only with this particular Philips TV over HDMI, there seems to be some ALSA config necessary.

1 Like

Hi, I’m just guessing. From your asound.conf look like there are no particular configuration except make it as default connection. Means may be actually everything works just fine.

If you have pavucontrol, you could check on tab “Output Devices” and “Configuration” to see if there some settings need to changes.