[BUG] how to get full RGB hdmi output on amd videocards with LE

  • Hello,

    I have 2 amd videcards, AMD RX 460, and AMD Vega 200GE (integrated). With both of them LE outputs YCbcr limited.

    How can I change it to full RGB 4:4:4 ?

    Im trying to find solution for a long of time, but still nothing. My linux undesrtanding is highly limited. Could someone help pls?

    Here's what xrandr --verbose does show, doesn't seem to have necessary option

    So far ive tried this https://openelec.tv/documentation/…f#color-space-1

    xorg fails to run with this conf file.


    sorry for my english

  • I bet it's a monitor problem. I just did a "xrandr --verbose" at my Ubuntu Linux, and the output shows all available resolutions of my connected monitor. Those entries appear after your last output lines ("non-desktop: 0, range: (0, 1)"). And I get an additional RGB entry:

    Code
    Broadcast RGB: Automatic 
                    supported: Automatic, Full, Limited 16:235

    So, I think your LE and graphic cards work alright, but your monitor doesn't give the necessary response to activate RGB mode.

  • I think TV is not a problem here, because these amd videocards in windows10 output Full RGB without problems. Don't know why I don't have entries you mentioned.

    Ive tried to conect tv not directly, but via dvi-hdmi adapter. That also limits hdmi version to 1.4. And i got Full RGB by default, without changing anything.

    To check if it depends on hdmi version I've also installed pretty old AMD radeon 5450 videocard that has only hdmi 1.4. And it outputs Full RGB.

    So probably it's kind of bug related to hdmi versions.

    Any ideas how to workaround it?

    Edited 3 times, last by rix81 (March 23, 2019 at 9:54 PM).

  • yes, cables etc are the same.

    DVI>HDMI adapter limits resolution to 1080p so can't be workaround.

    Thank you. I think HDMI connection is more tested by developers, compared to DVI. It really could be a bug, and a developer should have a look at this. If you want to help to fix it, you could deliver the output of "xrandr --verbose" when using the DVI -> HDMI adapter. That should show some comparable differences.

  • i think it's bug because color space and range should not depend on hdmi version

    here's output

    btw, its odd that it shows 4096x2160 available , because highest resolution supported via this adapter is 1080p. Possibly another bug, but it's not important for me.

  • The new output looks much better. Yes, color space is independent of HDMI or DVI mode. All resolutions of the target device do appear. That's no bug, because the adapter transmits the complete abilities of the target device without filtering.

    I was unable to send a developer a PM, because the function is blocked from his side. But you can still change thread title, and mark it as [BUG] to get developer attention. If that doesn't lead to any response, you can start a new thread in the "Bug Report" sub-forum.

    • Official Post

    After reading the thread again, I found a point we haven't discussed yet. Can you please verify that your HDMI cable is HDMI 2.0 or 2.1 standard? It's weird that a DVI -> HDMI adapter limits the resolution. Maybe actually the cable limits data transfer speed, resulting in a reduced color space.

  • This is not configurable from userspace. If the display's EDID report YCbCr 4:4:4 support - AMD driver will use that instead of RGB. If for whatever reason you want to force RGB then make changes to the AMDGPU source code or use a custom EDID.

    Edited 2 times, last by smp (May 1, 2020 at 3:08 AM).

  • at last.......... finally managed to do it! thank you for help and suggestion to use custom EDID

    Ive used this guide (on bottom) to get edid.bin from libreelec

    then disabled YCbCr with EEditGold software in windows

    then copy back edid.bin to libreelec and continue with guide

    thank you

    Edited 8 times, last by rix81 (May 1, 2020 at 5:40 PM).

  • Please, I can't access to this link https://openelec.tv/documentation/…f#color-space-1

    Another site with this guide? Thanks

    here'a similar guide.

    Also I've attached edid.cpio file. With this file is not necessary to follow full guide, just copy that file to /flash/ and also add

    Code
    initrd=/edid.cpio drm.edid_firmware=edid/edid.bin video=HDMI-A-1:D

    to extlinux.conf

    that's it. Very simple