Audio passthrough testing

  • Finally there was some momentum to crack audio passtrough support on mainline kernel. Thanks to the RPi4 effort, I gained better understanding what needs to be done. I believe that first variant is ready to be tested.


    What works:

    DTS, Dolby, Dolby+, DTS-HD MA, Atmos


    What doesn't work:

    - If screen resolution is set to other than 1080p @ 60 Hz audio dropouts may happen.


    Before you begin:

    - make sure you have selected digital HDMI output in audio settings

    - enable audio passthrough and specific codecs in audio settings


    Test updates:

    H3: LibreELEC-H3.arm-9.80-devel-20200707171451-74156da-passthrough.tar

    H6: LibreELEC-H6.arm-9.80-devel-20200708214100-87cbddb-passthrough.tar


    (other updates can be added on request except A20)


    Source:

    Commits · jernejsk/LibreELEC.tv · GitHub


    Please share your experience, especially if it doesn't work.

  • Sorry for my stupid question what would this feature do? Do I need anything special to test? I doubt I will be of great help this time

  • Well, depends on your audio setup. AVR users usually prefer that audio encoded in codecs mentioned in OP are decoded on AVR instead on ARM board. I tested this on my TV where there is no real difference where audio is decoded except that TV tells me which audio codec is used in information panel and in case of Atmos I also get visible notification. However, if there is an issue and passthrough is enabled for unsupported codec on your device, you will probably get "machinegun" noise which can even damage your speakers.

  • I have Sunvell Q Plus (Allwinner H6 y Android 9 v2.1.16 2gb / 16Gb) working. Some image to test audio? Next week change it to h616 4gb because this board can´t boot android (a lot of emmc bad blocks) But I try with sd boot

  • Ok, I'll prepare H6 update soon. BTW, H616 can't be supported at the moment. It's pretty different SoC and there is no documentation nor sources available for it. Also it's uses newer GPU which is just now getting support in mesa.

  • I have canceled the order. I thought the h616 was supported. I thought it was the same cpu as the h6 and the same graphics as the S905X3. Thank you very much.
    What chip do you recommend with mainline kernel support. The H6 only supports 3gb of ram and is very hot, right?
    If you want we can try to flash the emmc and make backups.
    I could compile if that makes things easier, but it won't fix bugs, just try

    Edited once, last by jernej: formatting ().

  • Yes, graphics is the same as on S905X3, but as I said, mesa is just now getting proper support for it. However, there are binary driver available but I always prefer mesa over them. In the past already happen that binary drivers weren't totally compatible with another SoC and SoC designer refused to release appropriate variant due to various reasons.


    My recommendation would be H6, at least from Allwinner. There is still a lot of potential to unlock while already mostly on feature parity with older ones. To be honest, I don't think you need more than 3 GiB of RAM. I'm still working with 2 GiB and even 1 GiB boards and I don't see any downside. Regarding hot cpu - most cheap H6 boxes are crap because they lack precise CPU voltage management. This tends to cause higher temperatures due to higher voltage used. Additionally, in the future, H6 will get its own LE kernel settings (currently shared with other 64-bit Allwinner SoCs), which will also allow lower temperatures (at least in theory).

  • So basically"normal" HDMI audio is decompressed pcm type audio and pass through is compressed mp2 or AAC or similar?!

  • Exactly. Passthrough is just that - audio is passed as-is, without decompression.


    lesgar I just noticed that passtrough doesn't work on H6 as of yet. I have to investigate what's going on.

  • jernej Firstly, thanks for your work on this - I've been crossing my fingers that someone could crack this.


    On my OrangePI PC (H3), passthrough of all the formats kind of works, but only very intermittently. My Onkyo receiver shows the correct format being received when I play a source (e.g. Dolby Digital, DTS, Dolby True-HD or DTS_MA) but the sound keeps dropping out randomly every second or two and the display on the Onkyo flashes between the format and blank, as if the signal is being dropped. The video plays smoothly though.


    In System/Audio I'm using the HDMI digital output, and have passthrough enabled for all of the formats. I've also tried some audio formats via HDMI. Stereo (MP3, WAV or FLAC) and 5.1 multichannel (WAV or FLAC) all work fine, but DTS or AC3 drops out as above.


    Passthrough works on this receiver for all formats from my A95 box (Coreelec) and for Dolby and DTS from my Raspberry Pi 3 box (Libreelec).


    Hoping this helps and the issue can be fixed, or is there any other configuration change I need to make on the OrangePI PC?


    Thanks.

    Edited once, last by serafis ().

  • I only have LG B8 TV with passthrough support for some formats (no AVR inbetween) where all works fine, so no, I have no idea what could be wrong. I'll do some more testing.


    Make sure you have selected correct HDMI output - one with the name of your AVR (or is it TV?) device.

  • Yes, that's the one I selected, says Onkyo SR606. I tried the other HDMI outputs too, but no difference. Also, GUI sounds only work if "Send Low Volume Noise" is on - otherwise, each GUI ''click' seems to make the receiver try to switch DSP modes (i.e. internal relays click) but it doesn't actually get to make a sound. Wondering if there's some sort of HDMI "carrier" signal missing, that keeps the receiver in the correct DSP mode. But I don't really know what I'm talking about, so I'll stop there... anyway, thanks for the great work so far.


    Edit: GUI sounds only work if "Keep Audio Device Alive" is on - "Send Low Volume Noise" setting doesn't seem to make any difference.

    Edited once, last by serafis: Correcting information ().

  • This sounds like clock issue to me. serafis Do you have access to RPi4? I modeled most changes against it so it should behave the same, except if some AW specific driver is at fault. RPi4 PT test image is in this thread.

  • lesgar I found the issue and fixed it. Passthrough now works also on H6. Update link is in OP.

    Tanks a lot. I try this night.


    Quote

    most cheap H6 boxes are crap because they lack precise CPU voltage management.

    I ordered usb A to usb A to try to flash android image to emmc, because phoenix card not work and when conect usb to usb whitout power cable the box boot. What is the better voltage manager usb or power adapter?

  • Sorry, I'm being unclear. Let me rephrase - most cheap H6 TV boxes have fixed CPU voltage. This means that most of the time CPU is powered with excessively high voltage which of course generates more heat. You can't do anything about it because this depends on the chip which is soldered on the board. Contrary to TV boxes, SBC with H6 have adjustable voltage regulator connected to CPU and that allows kernel to lower voltage when lower frequency is set and thus avoid higher temperatures. While SBCs seems unattractive at first glance (plain board, usually no remote nor power supply included), for similar or even higher price, they are most of the time better designed.


    But that is already off topic here. Please open new topic or ask in general topic such questions.

  • Sorry, I'm being unclear. Let me rephrase - most cheap H6 TV boxes have fixed CPU voltage. This means that most of the time CPU is powered with excessively high voltage which of course generates more heat. You can't do anything about it because this depends on the chip which is soldered on the board. Contrary to TV boxes, SBC with H6 have adjustable voltage regulator connected to CPU and that allows kernel to lower voltage when lower frequency is set and thus avoid higher temperatures. While SBCs seems unattractive at first glance (plain board, usually no remote nor power supply included), for similar or even higher price, they are most of the time better designed.


    But that is already off topic here. Please open new topic or ask in general topic such questions.

    Ok. Understood.