[RPi4] No Sound on HDMI-0

  • Hey all,


    the whole installation was like a walk through the park but finally turned into a multi hour horror trip ... i had no sound on HDMI0 neither HDMI1.

    Hardware:

    Raspberry PI 4

    Raspberry PI 4 HDMI0 - HDMI Adapter Typ C to Typ A - HDMI Cabel Typ A to Typ A - Televison

    TV: Kendo (sorry no more information)


    Software:

    LibreELEC (official): 12.0.2 (RPi4.aarch64)

    I used Raspberry PI Imager v1.8.5

    I' ve chosen:

    Model: Raspberry PI 4

    OS: LibreELEC (RPPi4) published 2025-01-20


    I've searched the internet and asked chatgpt. I tried several changes at the config.txt as you can see here. But nothing worked:


    distroconfig.txt :

    aplay has the following output:

    Code
    aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
     Subdevices: 1/1
     Subdevice #0: subdevice #0
    card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
     Subdevices: 1/1
     Subdevice #0: subdevice #0


    So it seems that hdmi should work. But in libreelec/properties/system/audio there is only one driver "Pulseaudio" there is no "alsa HDMI" driver.


    I would appreciate any help.


    thx

  • Remove all the config.txt changes (or create a new/clean SD card) and connect the HDMI cable to a different HDMI port on the TV and see if that works. I'd guess no, in which case you need to replace the Type-C to Type-A adapters with a proper Type-C to Type-A cable (no adapters). Adapters are often designed for use with desktop monitors which have no speakers, and thus the HDMI chips used inside them can omit wiring or support for audio to create a cheaper product. I can't 100% guarantee that's the issue, but from experience it's more likely to be something physical like that than anything in software.

  • According to aplay output, you've connected both RPi4 HDMI ports. Unplug HDMI-1.

    Nope. The aplay -l command does not show connected state, so it is not showing something on HDMI-A-0 or HDMI-A-1 ports.

    Here's the output from my RPi5 which 1000% only has a single connection on HDMI-A-0:

    Code
    RPi5:~ # aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
      Subdevices: 1/1
      Subdevice #0: subdevice #0

    PLEASE stop guessing at answers.

  • Interesting. I only have one card on my RPi3B+ when using aplay. I was actually trying to conclude here.

    So RPi4 and RPi5 offer two HDMI audio drivers, and that's what we see on aplay.

    Why are card 0 and card 1 both linked to device 0?

    If device 0 is only an offer from the driver, and not an existing physical device, then it's confusing labeling (driver vs. device).

  • RPi4/5 have a single i2s audio interface input, and a single audio driver that supports multiple cards, each with an HDMI connector, and the driver can route audio to either or both cards. The labelling is correct and clear; but alsa is one of the Linux "dark arts" as the terminology (and topology) of things is particularly challenging to understand.