Tanix TX6 – HDMI audio passthrough broken in LE12, works in LE11

  • Hello,

    I have a problem with HDMI audio passthrough on a Tanix TX6 (Allwinner H6).

    The important point is that the exact same hardware and TV work correctly with LibreELEC 11, while the problem occurs with all LibreELEC 12 versions I have tested.

    LibreELEC 11

    HDMI audio passthrough works correctly.

    Kodi passes the supported encoded audio formats to the TV and the TV detects them correctly.

    LibreELEC 12

    I have tested multiple LE12 versions, including the last nightly build for Tanix TX6, and the result is always the same.

    The interesting part is that everything appears to be configured correctly from Kodi's/system's point of view:

    • HDMI audio device is detected correctly
    • audio settings are available normally
    • passthrough can be enabled
    • the relevant passthrough codecs can be selected
    • there are no obvious errors in the GUI

    However, when playback starts, the TV detects only LPCM instead of the expected encoded format.

    At the same time, instead of normal audio I get a digital crackling/noise ("machine-gun" / digital noise).

    So the situation is essentially:

    LE11:
    Kodi → HDMI → TV → correct passthrough / correct audio

    LE12:
    Kodi → HDMI → TV → TV reports LPCM + digital noise

    This happens despite the audio configuration looking identical/correct.

    The hardware, HDMI cable and TV are unchanged between the tests. The only relevant change is the LibreELEC version.

    I am therefore wondering whether something changed in the Allwinner H6 HDMI audio / ALSA / DRM HDMI path between LE11 and LE12.

    Thank you!

  • Passthrough was never a functionality that was officially supported by Allwinner LE releases. There were also a lot of fixes for passthrough in last year or so on Kodi side. However, it's my plan to properly support passthrough in LE13. LE12 is not supported anymore.

  • Thanks for the clarification! And also thank you for all the work you’re putting into supporting the TX6 — I really appreciate it.

    Since passthrough is important to me and I don’t really have a good alternative for the TX6, would you recommend trying LE13 already, or is it better to wait for a more mature build?

    I’m happy to test it if that could be useful.

  • well, if you have a spare SD card, you can try it, why not? But driver wise, things are not yet improved. BTW, driver architecture basically didn't change between LE11 and LE12, so most likely cause for your issues is in Kodi audio handling.

  • Just to add some details about my LE11 vs LE12 comparison: I did quite a bit of low-level checking while actually playing the passthrough stream. I compared the relevant /proc and /sys entries, ALSA/device state and the kernel-side flags/parameters between LE11 and LE12. I also checked the state while the stream was actively playing.

    I couldn't find any meaningful difference there: the same HDMI device is exposed, the relevant capabilities/flags look the same, and the kernel-side state during playback looks essentially identical.

    The important part is that this is the exact same TX6, TV and HDMI connection: LE11 passes the bitstream correctly, while LE12 does not — the TV only detects LPCM and passthrough results in digital noise.

    So I agree that Kodi audio handling is worth investigating. My tests just make it look less likely that there is a simple difference in the underlying HDMI/driver state between LE11 and LE12. Of course, there could still be a difference in the actual data/API interaction that isn't visible in /proc or /sys.