HDR on x86 Hardware

  • Hi chewitt ,

    I have a Beelink SER8 with AMD 8845HS CPU and AMD Radeon 780M GPU and everything plays perfectly except HDR which is too bright and the colors are "off" compared to all my other boxes (AmLogic AM6B+ or Homatics, Zidoo Realtek or Kodi in Windows on the very same Beelink AMD box).

    I tried my HDR videos in VAAPI HW mode and in FFMPEG SW mode on LibreELEC 12.0.2 official stable, LibreELEC 13 latest nightly and your version here:
    https://chewitt.libreelec.tv/testing/LibreELEC-Generic-gl.x86_64-12.80.2.img.gz

    The problem is present on all the versions and modes.

    In my other thread others said it might be a bug in Mesa or the driver. Since I tried your version of LibreELEC I think I already got the mostly latest amdgpu driver in the process (or maybe I'm mistaking I am not a Linux pro)? So that leaves Mesa possibly being the culprit but I don't know how to get in touch with the Mesa guys.

    Are you aware of that problem and is there is a fix for it? Like I said in Kodi in Windows on the same Beelink AMD box the HDR is displayed properly.

    If I get an Intel based mini PC instead will the HDR have the same overbright and colors "off" picture or is there a chance they will display correctly?

    If so, can I get a very recent Intel mini PC with Arc GPU like this one:

    ASUS NUC 14 Pro AI Mini PC, DDR5 5600 32GB RAM&1TB PCIe 4 SSD with Intel Core Ultra 7-155H Processor(16C/22T/24M Cache, Up to 4.8GHz) Intel Arc Gpu/AI GC/AI Boost/AI Ready/Type C 3.2/8K/BT5.3/WiFi 6E

    https://www.amazon.ca/Intel-Ultra-7-155H-Processor-4-8GHz/dp/B0D7M3RD7S

    Or is it better to go with an older Intel CPU for correct LibreELEC/Linux support like this one:

    Intel NUC 13 Pro, Arena Canyon NUC13ANKi7 Mini PC with Core i7-1360P Processor, Intel Iris Xe Graphics, 32GB RAM&1TB NVMe SSD (12C/16T/18M Cache,Up to 5.0GHz) Support 8K/WiFi6E/BT5.3-Win11 Pro

    https://www.amazon.ca/dp/B0DK8JJ249?ref=emc_p_m_5_i_atc

    My goal is to SW decode everything up to 8K 60 fps (downscaled to 4K 60fps by LibreELEC) for best PQ so I would prefer the first Asus NUC one with the newer Intel CPU because that would be roughly equivalent to my 8845HS I currently have.

    Does LibreELEC correctly use all performance and efficient cores of an hybrid CPU like that Core Ultra 7-155H ? My current AMD 8845HS is a simple 8 cores / 16 threads performance cores and I can see in LibreELEC that all cores are being used and I go up to 60-65% usage with an AV1 8K 60 fps video in SW decoding.

    Thanks in advance for your help and support!

  • Software downscaling 8K media to 4K sounds like a bad idea. If you want to use 8K media get an 8K capable TV and play content at the native 8K mode of the panel. Configure Kodi along the lines of https://wiki.libreelec.tv/configuration/4k-hdr and allow the TV to upscale 4K and 1080p modes to the 8K native panel resolution. The article doesn't mention 8K at all but the same issues and basic principles apply.

    As a general rule Intel seem to be more active in maintaining drivers and nVidia is on the long-term 'avoid' list as drivers still require X11 (so no HDR) but I haven't personally used Intel/AMD/nVidia hardware for more than a decade now so I can't really comment on the current state of anything.

    I would personally guess the issue is more likely to be in the kernel DRM layer than mesa, and more likely to be incomplete drivers than a bug in something. There's no factual basis for the comment though, I'm just guessing.

  • I got the ASUS NUC 14 Pro and yes the HDR is now correct on Intel Arc GPU but there are drawbacks too versus AMD:

    - The device is a vacuum cleaner noise-wise compared to the Beelink SER8 8845HS which I never hear. The Beelink Gti14 Intel Ultra 7 155H is as silent if not more compared to my SER8 AMD according to reviews so I got the wrong NUC for the noise by choosing ASUS.

    - The HDR always play in 8 bits so it's wrong because of the bit depth.

    - I have HDMI sync problems. If I switch inputs on my AVR and go back to the ASUS NUC my image rarely returns. Very annoying. The AMD does not do this. Also, I have a 1080p59.94 video that when I try to play it and the device switches to that res to match it I also loose HDMI sync pretty much all the time so it's hard to play those. Again AMD no problem on resyncs.

    - I need to use LibreELEC 13 as LibreELEC 12 stays stuck on the LibreELEC boot logo. I read that Intel Arc started at Linux kernel 6.6 and that's the very first driver so I guess LibreELEC 12 is too old. The thing is, LibreELEC 13 is probably not stable yet.

    Is there a fix someone can think of or that is already known for the HDR being always in 8 bits on Intel Arc?

    Is there a fix also for my HDMI resync problems? I am using one of the HDMI 2.1 TDMS port on the device. The only other option would be a USBC to HDMI 2.1 adapter but I would prefer not to go that route.

    On the AMD side, I wonder if it's possible to fix that wrong HDR too, maybe a manual update of the driver? I already tried chewitt's latest build 12.80 though so I don't know if there's anyway newer on the amdgpu side. How do you update that driver manually?

  • Is there a fix someone can think of or that is already known for the HDR being always in 8 bits on Intel Arc?

    ^ This kernel patch would force 4:2:0 12-bit for 4K 50/60Hz. You'll have to build your own custom LE image to apply this.