[Dreambox One] No HD Audio passthrough

  • I’m running LibreELEC 12 and I have no sound with any TrueHD or DTS-HD track. I've tried it with three movies, without success.

    To explain further, this is what I expected to see on my receiver:

    3MBblAer_o.png

    0ceINxA0_o.png

    Does anyone know what I might be doing wrong?

  • Have you enabled Advanced or Expert mode in Kodi settings?. IIRC the pass-through settings for individual formats aren't exposed in the standard settings level, and if they're not enabled and there's no DTS core audio to fall back to in media, there'll be silence.

  • Have you enabled Advanced or Expert mode in Kodi settings?. IIRC the pass-through settings for individual formats aren't exposed in the standard settings level, and if they're not enabled and there's no DTS core audio to fall back to in media, there'll be silence.

    Thanks, passthrough is enabled now but when I play True-HD 7.1 material sound is there but it's Dolby Digital Plus 5.1.

    Maybe it's because I'm running emanuel’s LibreELEC. Is there any difference between that image and the one that can be downloaded here? I assumed it would be the same.

  • I've no idea what patches and changes _emanuel_ adds to his images (he is not pushlishing the sources to his GitHub account) but I doubt he deviates far from AMGLX.

    It sounds like it falls back to the 5.1 'core' audio. Have you checked cables? - it requires high bandwidth and if the HDMI connection can't handle that it will cause fallback. Please also enable debug logging in Kodi, demonstrate the issue by playing something, and then run "pastekodi" over SSH and share the URL generated.

  • I do only repack the normal *box.img after building, add extra scripts (autoexec.img, ..) and a chain u-boot.ext to FAT partition and rename it to DREAMBOOT.

    All changes are only necessary for the original tpm protected dreambox bootloader in order to boot or shutdown the 6.X kernel.

    There are no src changes/patches, all is original LE git.

    I've got only a packing script nothing more.

    it can all be done from Nightly builds or *.tar from Nigthly can be used for update.

  • I've no idea what patches and changes _emanuel_ adds to his images (he is not pushlishing the sources to his GitHub account) but I doubt he deviates far from AMGLX.

    It sounds like it falls back to the 5.1 'core' audio. Have you checked cables? - it requires high bandwidth and if the HDMI connection can't handle that it will cause fallback. Please also enable debug logging in Kodi, demonstrate the issue by playing something, and then run "pastekodi" over SSH and share the URL generated.

    I’ll do 3 things. Buy a new HDMI cable, a new SDXC card and new tests with an official LibreELEC version.

    I assume there will be no difference in performance if I choose aarch64 or arm11. I’ll download one of these two for the Dreambox One, although I can try both:

    LibreELEC-AMLGX.aarch64-12.0.2-box.img.gz

    LibreELEC-AMLGX.arm-11.0.6-box.img.gz

    I do only repack the normal *box.img after building, add extra scripts (autoexec.img, ..) and a chain u-boot.ext to FAT partition and rename it to DREAMBOOT.

    All changes are only necessary for the original tpm protected dreambox bootloader in order to boot or shutdown the 6.X kernel.

    There are no src changes/patches, all is original LE git.

    I've got only a packing script nothing more.

    it can all be done from Nightly builds or *.tar from Nigthly can be used for update.

    Thank you. I see you’ve also done something similar with CoreELEC for Dreambox:

    Index of ./DREAMONE/old/

    In another thread I’ve created here I have been recommended to use CE for the HDR to SDR issue. It seems that you start from a 2020 version, I can't find another one, this: CoreELEC-Amlogic.arm-9.2.3-Generic.img.gz

    Release CoreELEC 9.2.3 · CoreELEC/CoreELEC
    CoreELEC 9.2.3 is now available. While there are no big individual changes, CoreELEC 9.2.3 does bring many updates, a number of bug fixes identified thanks to…
    github.com

    I have downloaded this version: CoreELEC-Amlogic-ng.arm-21.2-Omega-Generic.img.gz

    Releases · CoreELEC/CoreELEC
    A lightweight OS for KODI. Contribute to CoreELEC/CoreELEC development by creating an account on GitHub.
    github.com

    But I don't know which device_tree file I should choose for Dreambox One or what changes I should do to use the latest CE version.

    At first glance the differences I see are that in emanuel's CoreELEC the files "autoexec.img" and "autoexec.src" appear (as in emanuel's LibreELEC) and "aml_autoscript", "cfgload" and "config.ini" disappear. We see also inside device_tree a single file, "g12b_a311d_dreamone.dtb" that would correspond to "g12b_a311d_khadas_vim3.dtb" of Khadas Vim3, its SOC, however, is A311D, instead of S922X in the Dreambox One.

    emanuel’s CoreELEC:

    Original CoreELEC:

    A priori, version 9.2.3 (emanuel's CoreELEC) is enough to test the HDR to SDR issue on one of my non-HDR compatible displays but I think that version does not fix the artifacts and banding with S922X devices that I guess will have been solved in 21.2, after 5 years. Hence my interest in trying the latest CoreELEC version, although on the rest of my displays I’ll use LibreELEC only.

  • GitHub - emanuel4you/pack-libreelec-for-dreambox: Scripts to build Dreambox LibreElec Images
    Scripts to build Dreambox LibreElec Images. Contribute to emanuel4you/pack-libreelec-for-dreambox development by creating an account on GitHub.
    github.com

    It is absolutely necessary to provide the LibreElec image with a chain boot loader. Otherwise the manufacturer's boot loader of the Dreamboxes cannot boot the image. A script for repacking is available here on github, or the pre-packed images are available from me on ihad.

    Edited once, last by _emanuel_ (January 26, 2025 at 12:02 AM).

  • https://github.com/emanuel4you/pack-libreelec-for-dreambox

    It is absolutely necessary to provide the LibreElec image with a chain boot loader. Otherwise the manufacturer's boot loader of the Dreamboxes cannot boot the image. A script for repacking is available here on github, or the pre-packed images are available from me on ihad.

    According to this:

    https://wiki.libreelec.tv/hardware/amlogic

    To run LibreELEC on a Dreambox One you only need to edit the file “uEnv.ini” and then just insert the SD card in the box and power on. Some box devices detect the presence of the SD card automatically

    At this point I don't understand why you choose to use scripts and a Nightly build instead of directly downloading the latest stable version and doing the above.

    I will try all with the new SDXC card in a few days when it arrives. But to run the scripts I will have to install Linux first.

    BTW, I see that you don't mention anything I ask about CoreELEC, I imagine that the Dreambox version is something you have completely abandoned. Unless you have to run some script and use a Nigthly build also with CE.

  • Regarding CoreElec: Yes, I've given up on that completely because the source is no longer compatible with the Dreambox. The Dreambox uses an ancient manufacturer kernel (4.9) and the associated bootloader, which prevents a lot of things, e.g. new CoreElec with video (in my old one, even DVB-S2 works).

    The huge difference between an Amlogic Dreambox and a conventional Amlogic Android box is that the Dreambox has a security chip (tpm) built in. This means that if I swap the bootloader for one not built by the manufacturer, the box is broken. This is also the reason why there is no separate Dreambox image in the Nightly. The board-specific images here all have a bootloader for the kernel 6.X flashed at the beginning of the SD. So you can only use the box image of the Nightly for the Dreambox, which is intended for manual configuration. LibreElec uses a brand new kernel 6.X. the Dreambox's conventional boot loader can no longer handle such a kernel and the box simply freezes.


    To boot a kernel 6.X on the Dreambox anyway, you can only do this:
    1.) Dreambox boot loader decrypts and opens the box
    2.) finds the autoexec.img script and executes it.
    3.) The script overwrites the boot loader with a new bootloader that is for kernel 6.X and is located on the first partition.
    4.) the new bootloader starts the kernel and LE
    5.) LE switches off and wants to shutdown the kernel. But the Dreambox now reboots into the manufacturer image because the bootloader for kernel 6.X cannot operate the security chip. So a script has to help out again so that the box does not boot again and shuts down when it boots in the manufacturer's bootloader again.

    I know, it's all complicated. I've been doing this for years now. To make it short, the images in Ihad are built 1 to 1 like those in Nightly, I even grabbed the last ones directly from the download feed. You just have to flash them.

    I hope I don't get into trouble because of the link (everything I did there is published).

    packed images are ready here for all 3 bootloader variants:

    a) for original bootloader, *.img.gz
    b) GPT multiboot loader (manufacturer Multiboot) *gpt-multiboot.img.gz
    c) gboot multiboot *multiboot.img.gz


    Believe me, I would prefer it without this stupid tpm chip. The new Dreambox doesn't have one anymore. Because they only sell boxes anyway and no longer have any developers who can even build something like that. The new one is like any conventional Android box.

    What irony, developers protect their work with a tpm chip, but have no work anymore...

  • the Dreambox's conventional boot loader can no longer handle such a kernel and the box simply freezes

    The root cause is probably missing memory-region mappings in the device-tree file, combined with changes in kernel memory use which now allow or result in an in-use region being overwritten. If older Linux kernels <6 worked and newer ones >=6 don't, the trigger is probably a change in kernel memory features and usage, i.e. changes to defaults in kernel defconfig.

    I forget who, but someone told me that Dreambox One/Two used signed boot firmware. That's the normal Amlogic approach for protecting boot (along with ARM OP-TEE for apps and firmware) and is widely used by e.g. Amazon, Freebox, and similar streaming services. It's not impossible, but it would be the first time I heard of a TPM chip used with Amlogic hardware. TPM chips add to the manufacturing cost (an expense the normal Amlogic signing approach avoids) and will be a physical/visible chip on the board. The net result is the same though; the Amlogic BL1 bootrom (in silicon) will only boot vendor signed (in software) code.

  • Thank you very much for the detailed explanation. Indeed, as you say, it’s all complicated. My knowledge on the subject is still not very extensive so there is something I don't quite understand. I had never noticed those 2 variants of "gpt-multiboot.img.gz" and "multiboot.img.gz”:

    packed images are ready here for all 3 bootloader variants:

    a) for original bootloader, *.img.gz
    b) GPT multiboot loader (manufacturer Multiboot) *gpt-multiboot.img.gz
    c) gboot multiboot *multiboot.img.gz

    I have read in some forums about the risk of trying to update the bootloader. If someone does not know what he is doing it is possible to wreck the Dreambox. I simply wanted to burn the image onto the SDXC card, insert it into the Dreambox and run LibreELEC. My idea is to download one of these two:

    LibreELEC-AMLGX.aarch64-13.0-devel-20250115231833-f7f63d7-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-13.0-nightly-20250124-0e145cf-dreambox-one.img.gz

    I don't know if with variants b) and c) (like the three below) I will have to configure something that is beyond my knowledge and, if I do it wrong, I might wreck the Dreambox or the new SDXC card (Sandisk Extreme Pro 64 GB UHS-I Class 10 U3 V30) that I am waiting for:

    LibreELEC-AMLGX.aarch64-13.0-devel-20250115231833-f7f63d7-dreamone_gpt-multiboot.img.gz

    LibreELEC-AMLGX.aarch64-13.0-nightly-20250124-0e145cf-dreambox-one_gpt-multiboot.img.gz

    LibreELEC-AMLGX.aarch64-13.0-nightly-20250124-0e145cf-dreambox-one_multiboot.img.gz

    I understand that one of the first two images, out of the five I say, would be the best bet.

  • LibreELEC-AMLGX.aarch64-13.0-devel-20250115231833-f7f63d7-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-13.0-nightly-20250124-0e145cf-dreambox-one.img.gz

    Hello, here I come back after having flashed on my new SDXC card all the LibreELEC images for my Dreambox One. These ones:

    LibreELEC-AMLGX.aarch64-12.0-devel-20231223152449-8fece3c-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-12.0-devel-20231214151211-9340b68-dreamone.img.gz

    LibreELEC-AMLGX.arm-12.0-devel-20231117123809-25beb26-dreamone.img.gz

    LibreELEC-AMLGX.arm-12.0-devel-20230827153624-bbd297b-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-13.0-devel-20240704153658-289c09b-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-13.0-devel-20240623195447-d897522-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-13.0-devel-20240529181505-c8e0f92-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-12.0-devel-20240308131135-f3b540d-dreamone.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20230412113408-efb9002-dreamone.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20230215211649-60007e8-dreamone.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20221216175951-c01ae9b-dreambox.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20230210103536-b708f11-dreamone.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20230107203227-c50d113-dreambox.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20230104154543-bb98dc6-dreambox.img.gz

    LibreELEC-AMLGX.aarch64-13.0-devel-20250115231833-f7f63d7-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-13.0-nightly-20250124-0e145cf-dreambox-one.img.gz

    They can be downloaded from here as emanuel pointed out:

    TEST Images (unstable)

    I have been several days looking at different things. Now, I’ll show you the problems that I have found in the different images in case they can be solved:

    CANNOT BOOT:

    LibreELEC-AMLGX.aarch64-12.0-devel-20231223152449-8fece3c-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-12.0-devel-20231214151211-9340b68-dreamone.img.gz

    LibreELEC-AMLGX.arm-12.0-devel-20231117123809-25beb26-dreamone.img.gz

    LibreELEC-AMLGX.arm-12.0-devel-20230827153624-bbd297b-dreamone.img.gz

    ALL VIDEOS ARE PIXELATED AT THE START, IMPOSSIBLE TO PLAY 4K VIDEOS PROPERLY:

    LibreELEC-AMLGX.aarch64-13.0-devel-20240704153658-289c09b-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-13.0-devel-20240623195447-d897522-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-13.0-devel-20240529181505-c8e0f92-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-12.0-devel-20240308131135-f3b540d-dreamone.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20230412113408-efb9002-dreamone.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20230215211649-60007e8-dreamone.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20221216175951-c01ae9b-dreambox.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20230210103536-b708f11-dreamone.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20230107203227-c50d113-dreambox.img.gz

    LibreELEC-AMLGX.arm-11.0-devel-20230104154543-bb98dc6-dreambox.img.gz

    NOTE: IN THESE 2 IMAGES BELOW, IN ADDITION TO THE FACT THAT THE VIDEOS ARE PIXELATED AT THE START AND THAT IT IS NOT POSSIBLE TO PLAY 4K VIDEOS PROPERLY, THERE IS NO AUDIO AT ALL (Therefore, no HD audio passthrough not even in expert mode) Settings / System / Audio / Audio Output Device: Only shows - Default, Bluetooth Audio (PULSEAUDIO) (Expert Mode) AND THIS MESSAGE IS CONSTANTLY SHOWED EVEN IF THE USER DOES NOT REMOVE A USB MEMORY OR A HARD DISK:

    Succesfully removed storage device.

    LibreELEC-AMLGX.aarch64-13.0-devel-20250115231833-f7f63d7-dreamone.img.gz

    LibreELEC-AMLGX.aarch64-13.0-nightly-20250124-0e145cf-dreambox-one.img.gz

    THINGS COMMON TO ALL IMAGES:

    -Settings / System / Display / Stereoscopic 3D / Preferred mode: Anaglyph does not appear, so you cannot play a 3D SBS or 3D HOU movie properly.

    -Settings / Interface / Regional / Language: only shows - English (Although you can choose other languages in the welcome screen, even if you choose, for example, German, Spanish or Italian, only English will be displayed after the setup wizard finishes)

    -Settings / Interface / Skin: only shows - Estuary

    -Power Options: Suspend: No suspend, with this option the Dreambox always restarts.

    NOTE: The following notification is always showed at start-up on all images. (Even if I turn it off in Settings / System / Input / Peripherals, it always reappears. I'm not quite sure what its function is):

    Connecting Pulse Eight CEC Adapter.

    THIS IS WHAT I HAVE DONE TO TRY TO SOLVE THESE PROBLEMS:

    Originally it was as follows (with this, .ts and .mkv Full HD videos have some stuttering, all of them are pixelated at the start. 4K UHD videos only with audio and no picture):

    Settings / Player / Videos:

    Allow using DRM PRIME decoder: On

    Allow hardware acceleration with DRM PRIME: On

    Prime RENDER METHOD: Direct to Plane

    With this change, .ts and .mkv Full HD videos have more stuttering, all of them are pixelated at the start. 4K UHD videos only with audio and no picture):

    Allow using DRM PRIME decoder: On

    Allow hardware acceleration with DRM PRIME: On

    Prime RENDER METHOD: EGL

    With this change, .ts and .mkv Full HD videos have some stuttering, but none of them are pixelated at the start. 4K UHD videos only with audio and no picture):

    Allow using DRM PRIME decoder: On

    Allow hardware acceleration with DRM PRIME: Off

    Prime RENDER METHOD: Direct to Plane

    With this change, .ts and .mkv Full HD videos have more stuttering, but none of them are pixelated at the start. 4K UHD videos only with audio and no picture):

    Allow using DRM PRIME decoder: On

    Allow hardware acceleration with DRM PRIME: Off

    Prime RENDER METHOD: EGL

    With this change, .ts and .mkv Full HD videos have some stuttering, but none of them are pixelated at the start. 4K UHD videos has picture and sound but in slow motion

    Allow using DRM PRIME decoder: Off

    Allow hardware acceleration with DRM PRIME: Off

    Prime RENDER METHOD: Direct to Plane

    With this change, .ts and .mkv Full HD videos have more stuttering, but none of them are pixelated at the start. 4K UHD videos has picture and sound but in slow motion

    Allow using DRM PRIME decoder: Off

    Allow hardware acceleration with DRM PRIME: Off

    Prime RENDER METHOD: EGL

    NOTE: All the same videos play properly, including all 4K UHD videos, without any stuttering, with the Media Center of the various Dreambox images that can be found at https://dreamboxupdate.com/

    What could be done to fix this? What worries me the most is not being able to play 4K UHD and 3D videos properly.

  • I've not bothered to read the full contents of your test report. I stopped about 10% into the text; by which point it's obvious that you are a) expecting feature parity with Amlogic vendor kernel images, b) blindly changing settings expecting miracles. Please go read any recent LE release notes (anything from the last couple of years) which contains clear statements on the current state of mainline kernel Amlogic support (nothing has changed much in years). What worries me the most is users with wildly unrealistic expectations for the AMLGX image because they don't read.

    NB: You are welcome to continue experimenting with AMLGX, but I don't need bug reports. The issues and current state are all well known (and documented). You are also welcome to continue using the factory Android image, which works, with all features.

  • I've not bothered to read the full contents of your test report. I stopped about 10% into the text; by which point it's obvious that you are a) expecting feature parity with Amlogic vendor kernel images, b) blindly changing settings expecting miracles. Please go read any recent LE release notes (anything from the last couple of years) which contains clear statements on the current state of mainline kernel Amlogic support (nothing has changed much in years). What worries me the most is users with wildly unrealistic expectations for the AMLGX image because they don't read.

    NB: You are welcome to continue experimenting with AMLGX, but I don't need bug reports. The issues and current state are all well known (and documented). You are also welcome to continue using the factory Android image, which works, with all features.

    I have bothered to read quite a few of your posts 100% and there are a few things that stand out:
    a) you can not properly answer a message without having read it in its entirety, unless the intention is to mock the questioner as you do in many of your answers to the users of this forum.
    b) the factory image on a Dreambox is not Android, which shows your knowledge about this device.
    c) I have also changed the configuration in a similar way as Marsam has done and it is not to do it blindly, but to follow what some users of this same forum indicate that it has worked for them with 4K UHD videos. If you read the user posts in full you would realize that.
    What worries me is that you invite to read documentation without even reading the complete messages of the people who participate in this forum. Part of the documentation you refer to is WRONG:

    As box images can be used on many devices you must configure the device-tree file to use first. This is done by editing uEnv.ini in the root folder of the SD card. Change @@DTB_NAME@@ to the name of the .dtb file to use. Current supported device-tree files are in the dtb folder.

    https://wiki.libreelec.tv/hardware/amlogic

    @emanuel already made clear that it is not possible to boot a LibreELEC image on a Dreambox with the documentation above. However, you were telling me in this thread that it was the right thing to do:

    ZunZun
    December 19, 2024 at 1:55 PM
  • I've not bothered to read the full contents of your test report. I stopped about 10% into the text; by which point it's obvious that you are a) expecting feature parity with Amlogic vendor kernel images, b) blindly changing settings expecting miracles. Please go read any recent LE release notes (anything from the last couple of years) which contains clear statements on the current state of mainline kernel Amlogic support (nothing has changed much in years). What worries me the most is users with wildly unrealistic expectations for the AMLGX image because they don't read.

    NB: You are welcome to continue experimenting with AMLGX, but I don't need bug reports. The issues and current state are all well known (and documented). You are also welcome to continue using the factory Android image, which works, with all features.

    I have bothered to read quite a few of your posts 100% and there are a few things that stand out:
    a) you can not properly answer a message without having read it in its entirety, unless the intention is to mock the questioner as you do in many of your answers to the users of this forum.
    b) the factory image on a Dreambox is not Android, which shows your knowledge about this device.
    c) I have also changed the configuration in a similar way as Marsam has done and it is not to do it blindly, but to follow what some users of this same forum indicate that it has worked for them with 4K UHD videos. If you read the user posts in full you would realize that.
    What worries me is that you invite to read documentation without even reading the complete messages of the people who participate in this forum. Part of the documentation you refer to is WRONG:

    As box images can be used on many devices you must configure the device-tree file to use first. This is done by editing uEnv.ini in the root folder of the SD card. Change @@DTB_NAME@@ to the name of the .dtb file to use. Current supported device-tree files are in the dtb folder.

    https://wiki.libreelec.tv/hardware/amlogic

    @emanuel already made clear that it is not possible to boot a LibreELEC image on a Dreambox with the documentation above. However, you were telling me in this thread that it was the right thing to do:

    ZunZun
    December 19, 2024 at 1:55 PM

    The fact that chewitt didn't know what he was talking about regarding Dreambox has been clear from the beginning when he didn't even know that LibreELEC images don't work on this device no matter how much he insists on sending people to read info about things he hasn't even tested with a Dreambox. My question was directed to @emanuel.

  • I don't have any Dreambox hardware, and in the several years since I added upstream support for _emanuel_ nobody has ever bothered to explain (or, here's a crazy idea, add some content to the open wiki to document) that Dreambox devices require some wonky boot arrangement to run the AMLGX image. That only became clear about a week ago, and If I'd have known that before I probably wouldn't have bothered creating and sending the device-trees upstream. Ho hum.

    The latest Dreambox device(s) that _emanuel_ is now asking me to support are Android based, so that's been on my mind among other things. Yes of course the older stuff uses Yocto/OE to make something from the Android BSP from Amlogic. Regardless, the point still stands: If you want an OS where everything works, you need to run the vendor firmware image.

    The AMLGX image is generally curated to use the best (or newer hardware, least-worst) default settings. You can use 4K VP9 as that works, but you will not get far with 4K HEVC because hardware decode is intentionally disabled to prevent the SoC crashing instantly when the V4L2 codec is opened, and that caps HEVC to 1080p max in software. Forcing EGL rendering instead of Direct-to-Plane only loses the benefits of DRMPRIME and makes things worse; and hence I stopped reading the 'testing' .. it's obviously a user flailing around with random settings in the hope of finding a magic combination that beats the negative but clear description of current state provided in release notes. Good luck with that.