Is HDMI audio supported on a headless raspberry pi 5 running RoonBridge? I cannot get audio to work even though system audio, and other audio applications (Plexamp) do work. Roon does show the device as an endpoint but says “too many errors” when I try to play to it.
I just found the fix to this. Look inside /var/roon/RAATServer/Settings. You’ll find a JSON file for each HDMI device. It will look like this:
{“unique_id”: “617c2b7a-8bf6-18d6-0243-1e918a7e673c”, “external_config”: {}, “output”: {“name”: “vc4-hdmi-1”, “type”: “alsa”, “device”: “hw:CARD=vc4hdmi1,DEV=0”, “dsd_mode”: “none”}, “volume”: {“type”: “alsa”, “device”: “hw:CARD=vc4hdmi1,DEV=0”}}
There are 2 places where it says “hw:CARD=vc4hdmi…” replace the “hw” at the beginning of the string with “hdmi” . Here’s my final version:
{“unique_id”: “617c2b7a-8bf6-18d6-0243-1e918a7e673c”, “external_config”: {}, “output”: {“name”: “vc4-hdmi-1”, “type”: “alsa”, “device”: “hdmi:CARD=vc4hdmi1,DEV=0”, “dsd_mode”: “none”}, “volume”: {“type”: “alsa”, “device”: “hdmi:CARD=vc4hdmi1,DEV=0”}}
Also worth noting that when you get it working the Pi 5 has 32 bit audio posssible, which the pi 4 seemed to only get to 16.
The problem is caused by hw:CARD being a raw device, which does NOT talk PCM, but the RAATServer wants to talk PCM, which is why the virtual ALSA device, hdmi:CARD, works.
Eseentially for whatever reason RAATServer is enumerating the raw devices for HDMI when it should be using the ALSA devices instead. I would definitely call this an intallation bug.