Support us on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! Alternatively, you can donate through PayPal, Flattr, Liberapay or Buy us a Coffee. You can also buy games using our partner links for GOG and Humble Store.
How to enable full RGB color range (HDMI) with RX 5700 XT
Nonjuffo 15 Dec, 2019

I recently got a RX5700 XT and did a fresh install of Manjaro KDE edition (Kernel 5.4.2, Mesa 19.2.7). For some reason it outputs limited color range RGB to my secondary monitor (TV) through HDMI. I didn't have this problem with GTX 970. My main monitor is also fine. Here's a dump from xrandr:
HDMI-A-0 connected 3840x2160+1920+0 (0x78) normal (normal left inverted right x axis y axis) 1218mm x 685mm
        Identifier: 0x58
        Timestamp:  1574132
        Subpixel:   unknown
        Gamma:      1.0:1.0:1.0
        Brightness: 1.0
        Clones:    
        CRTC:       1
        CRTCs:      0 1 2 3 4 5
        Transform:  1.000000 0.000000 0.000000
                    0.000000 1.000000 0.000000
                    0.000000 0.000000 1.000000
                   filter: 
        EDID: 
                00ffffffffffff004dd903f901010101
                011b0103807a44780a0dc9a057479827
                12484c2108008180a9c0714fb3000101
                01010101010108e80030f2705a80b058
                8a00c2ad4200001e023a801871382d40
                582c4500c2ad4200001e000000fc0053
                4f4e5920545620202a30300a000000fd
                00173e0e883c000a2020202020200168
                020359f05b61605d5e5f621f10140513
                0420223c3e1216030711150206016566
                2c0d7f071507503d07bc570400830f00
                006e030c002000b83c2f008001020304
                67d85dc401788001e200cbe305ff01e5
                0f03000006e3060d01011d007251d01e
                206e285500c2ad4200001e0000000000
                000000000000000000000000000000e5
        GAMMA_LUT_SIZE: 4096 
                range: (0, -1)
        DEGAMMA_LUT_SIZE: 4096 
                range: (0, -1)
        GAMMA_LUT: 0 
                range: (0, 65535)
        CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
                0 1 
        DEGAMMA_LUT: 0 
                range: (0, 65535)
        TearFree: auto 
                supported: off, on, auto
        vrr_capable: 0 
                range: (0, 1)
        max bpc: 8 
                range: (8, 16)
        underscan vborder: 0 
                range: (0, 128)
        underscan hborder: 0 
                range: (0, 128)
        underscan: off 
                supported: off, on, auto
        scaling mode: None 
                supported: None, Full, Center, Full aspect
        link-status: Good 
                supported: Good, Bad
        CONNECTOR_ID: 87 
                supported: 87
        non-desktop: 0 
                range: (0, 1)
  3840x2160 (0x78) 594.000MHz +HSync +VSync *current +preferred
        h: width  3840 start 4016 end 4104 total 4400 skew    0 clock 135.00KHz
        v: height 2160 start 2168 end 2178 total 2250           clock  60.00Hz
-snip-

I don't see any parameters that I could change like output_csc that was mentioned somewhere. Is there something I could do to enable RGB full range? Is there a GUI for this stuff in KDE (probably not)?

tuubi 15 Dec, 2019

Quoting: NonjuffoI recently got a RX5700 XT and did a fresh install of Manjaro KDE edition (Kernel 5.4.2, Mesa 19.2.7). For some reason it outputs limited color range RGB to my secondary monitor (TV) through HDMI.
You mean you want 10 bits per colour? You could try updating to the latest stable Mesa to see if it's a driver issue. And even if it isn't. 19.3. came with a lot of fixes for Navi 10.

I'd test, but none of my screens support anything above 8bpc.

Nonjuffo 15 Dec, 2019

Quoting: tuubiYou mean you want 10 bits per colour? You could try updating to the latest stable Mesa to see if it's a driver issue. And even if it isn't. 19.3. came with a lot of fixes for Navi 10.

I'd test, but none of my screens support anything above 8bpc.

No. I want the full 8 bits (0...255), not the limited range of 16...235.

I can wait until Manjaro updates its repo with Mesa 19.3 and see if it helps. Should be very soon. Somehow I doubt it will help, because people have had somewhat related problems with older GPUs. All attempts to change color settings seemed to fail there.

tuubi 15 Dec, 2019

Okay. And how do you figure your GPU isn't using the full eight bit RGB range? I don't see anything in your xrandr output to that effect.

Nonjuffo 15 Dec, 2019

Quoting: tuubiOkay. And how do you figure your GPU isn't using the full eight bit RGB range? I don't see anything in your xrandr output to that effect.

TV's input was initially set to "full range" and supposedly black screen looked grey. When I switched the input to "limited range" the picture was black again.

Shmerl 15 Dec, 2019

That's the reason I avoid HDMI. It's awful with color and always has been for me. DP works a lot better. But HDMI cartel refuses to support DP in TVs, so it's a problem for those who use such devices.

tuubi 15 Dec, 2019

Quoting: Nonjuffo
Quoting: tuubiOkay. And how do you figure your GPU isn't using the full eight bit RGB range? I don't see anything in your xrandr output to that effect.

TV's input was initially set to "full range" and supposedly black screen looked grey. When I switched the input to "limited range" the picture was black again.
Right. Well, this doesn't help you but my RX5700 XT doesn't seem to have that problem. My TV is connected via HDMI, it is set to "wide color space" (full 8 bit RGB range), and black is as black as it can do. Switching the TV to limited range doesn't make it any darker.

Last edited by tuubi on 15 December 2019 at 6:12 pm UTC

Nonjuffo 15 Dec, 2019

Quoting: tuubiRight. Well, this doesn't help you but my RX5700 XT doesn't seem to have that problem. My TV is connected via HDMI, it is set to "wide color space" (full 8 bit RGB range), and black is as black as it can do. Switching the TV to limited range doesn't make it any darker.

So you are on Mesa 19.3? I wonder if this could be due to some OEM specific firmware differences (unlikely).

I could also try to update the TV's firmware, but that could introduce some unwanted crap I don't want to deal with. Maybe a last resort would be getting an active DP to HDMI converter, but I probably wont go that far with this.

Last edited by Nonjuffo on 15 December 2019 at 6:35 pm UTC

Nonjuffo 15 Dec, 2019

Quoting: ShmerlThat's the reason I avoid HDMI. It's awful with color and always has been for me. DP works a lot better. But HDMI cartel refuses to support DP in TVs, so it's a problem for those who use such devices.

Yeah, unfortunately the price of proper big monitors is hard to rationalize beyond professional use.

Shmerl 15 Dec, 2019

How big of a screen do you need?

Nonjuffo 16 Dec, 2019

Quoting: ShmerlHow big of a screen do you need?
I'm not going to change the screen I have if that's what you're going after. It's quite nice and fine for the couch entertainment function. The only true fault is that it lacks DisplayPort, but I can live with that.

While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!

You need to Register and Login to comment, submit articles and more.


Or login with...