Simon Poirier,

Thank you for responding to my bug report!


Is this bug reproducible?

Yes. This is a reproducible on a clean installation of Ubuntu 24.04 with my 
hardware.
    AMD RX 580 | Vizio M556-G4 TV | Vizio V51 Soundbar via ARC
The issue is presented in two layers: a kernel-level EDID failure, and a 
PipeWire/WirePlumber configuration failure.


If so, what specific steps should we take to recreate this bug?

Step 1: Recreating the Kernel/Driver Failure

Connect an AMD GPU (Ellesmere series) to a Vizio M556-G4 TV via HDMI.
On a clean Ubuntu 24.04 install, observe that the HDMI audio device has no 
capabilities.
Attempt to read the EDID using cat /sys/class/drm/card1-HDMI-A-1/edid. The 
result is a blank/empty file.
Workaround: This was solved by forcing a manual EDID via the kernel parameter 
drm.edid_firmware=HDMI-A-1:edid/edid.bin. After this, the driver correctly 
initializes the 6-channel LPCM capabilities.

Step 2: Recreating the PipeWire/WirePlumber Configuration Bug

With the kernel driver now functional (post-EDID override), the goal is to 
force the HDMI output to use AC3 encoding, as the Vizio TV cannot pass 
multi-channel LPCM to its soundbar.
Attempt to apply the necessary iec958.codecs = ["AC3"] property using any 
standard configuration method. All of these methods fail:
A .lua script in ~/.config/wireplumber/main.lua.d/.
A .conf override in /etc/pipewire/pipewire.conf.d/.
A .conf override in /etc/wireplumber/alsa.conf.d/.
Verification: After each attempt and a reboot, wpctl inspect <hdmi-sink-id> 
confirms the iec958.codecs property was not applied. The system ignores all of 
these configuration files.


Software Success, Hardware Failure

I attempted to utilize the pw-cli command and it provided desirable
results. The Linux software stack is now working find, and the issue
appears to be an hardware/firmware incompatibility with the Vizio TV
itself.

After running the command you provided, wpctl inspect <ID> confirms that
the iec958.codecs property is successfully applied to the live system.
PipeWire's routing now works. Helvum confirms that a 6-channel audio
stream from VLC is correctly and completely linked to all 6 playback
ports of the Ellesmere HDMI Audio sink.

Despite the live software configuration being correct(?), no audio is
produced through the TV and soundbar combination.


This most likely confirms that the root cause is not a bug within PipeWire's 
configuration loading (though that is still an issue), but rather a fundamental 
incompatibility in the Vizio M556-G4 TV's firmware. The Vizio TV is incapable 
of passing a real-time encoded AC3 stream from an external HDMI source to its 
soundbar via HDMI-ARC. It can only pass AC3 from its own internal applications. 
The TV silently drops the valid AC3 stream that the Linux PC is now correctly 
sending it.


** Attachment added: "Screenshot from 2025-08-16 14-51-02.png"
   
https://bugs.launchpad.net/ubuntu/+source/pipewire/+bug/2120236/+attachment/5899502/+files/Screenshot%20from%202025-08-16%2014-51-02.png

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2120236

Title:
  WirePlumber on Ubuntu 24.04 ignores all configuration overrides for
  AMD HDMI audio (alsa_card.pci-0000_06_00.1)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pipewire/+bug/2120236/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to