Site icon MonitorNerds | Gaming Monitor Reviews

How to correct HDMI color on an NVIDIA/AMD GPU

A quick guide to the common problems and the fixes when using an HDMI connection with a NVIDIA or AMD GPU

HDMI – the basic fact you need to know

HDMI or the High-Definition Multimedia Interface is an audio/video interface that is designed differently than the DVI (Digital Visual Interface) and the Display Port. The DVI and the DP are manufactured from the ground up as monitor ports. However, an HDMI is designed as a universal signal port.  Hence, contrary to popular belief, the image quality between these three is not equivalent. The problem lies in how NVIDIA GPUs handle the HDMI signal. When we connect a monitor with a resolution of 1920X1080 (common with HDTVs) to the GPU by using a DVI-HDMI or an HDMI cable, the GPU registers it as an HDTV, and not as a monitor. If you got to NVIDIA Control Panel>Display>Change resolution, you can see that it will be listed as ‘1080p, 1920 x 1080 (native),’ under ‘Ultra HD, HD, SD.’

Now this recognition behavior is typical for full HD displays. But when we connect a gaming display, say the Dell U2414H, using a Display Port – which is a PC connection not in use by the TV screens, it is categorized in the same way. The resolution being out on the wrong list is not the issue here. The problem happens because of the effect that this has on the color signal.

The monitor is designed to process a Full Range RGB (0-255) color signal. But this categorization of the connection makes the GPU send out a color signal of Limited Range RGB (16-235). The result of this mismatch is obvious when observed closely. The monitor now displays a ‘washed out’ look – lacking the appropriate color depth and variety. If you look closely, the color Black appears as dark Grey. The Gamma curve is shifted than normal, making many shades appear lighter than they should. Hence, the color quality of the images looks far from what it should.

Below is a table that shows the basic readings taken from the AOC i2473Pwy, which when connected using HDMI, is set to use a Limited Range RGB, a Full Range RGB, and YCbCr444 (another signal type that is commonly used).

During the test that was conducted using the above setup, a Spyder4Elite (for Gamma and White point measurement) and a Konica-Minolta CS-200 were used. The brightness was lowered, and some minor color channel adjustments were made, that revealed the following figures:

Signal Type White Point Gamma Contrast Ratio White
Luminance
Black Luminance
Limited Range RGB 6318k 2.0 413 132cd/m² 0.32cd/m²
Full Range RGB 6318k 2.3 1238 161cd/m² 0.13cd/m²
YCbCr444 6497k 2.3 1238 161cd/m² 0.13cd/m²

As seen from this piece of information, it is very clear that the impact that the Limited Range Signal has on the Contrast ratio and Gamma is dramatically below what it should be.

Hence, the wrong categorization that occurs when the display is connected to the NVIDIA GPU using an HDMI connection is a big problem.

Now that the cause and the nature of this problem are clear let’s dive into the solutions real quick.

There are four solutions to this problem that have proven to be effective.

Solution #1: The new drop-down in the NVIDIA Display Driver

In the Driver version 347.09 and above, NVIDIA has added a small drop-down to the NCP (Nvidia Control Panel) that allows you to enforce the correct Full Range RGB signal at the click of a button.
Open Nvidia Control Panel>Display>Change resolution. You will see a drop-down box labeled ‘Output dynamic range.’ Set it to ‘Full’ and apply changes. In some cases, if it is on ‘Full’ by default, then there is no need to change it.

Quick facts about the solution:

 

Solution #2: Using the YCbCr444 color format

This is an easy and effective approach if you want to change the washed out look of the images. All you have to do is set the graphics card to use this format by going to:
Nvidia Control Panel>Display>Adjust desktop color settings.
Once you are on the desktop color settings, you have to select ‘YCbCr444’ from the ‘Digital color format’ drop-down.

Quick facts about the solution:

Here, we can see that there are slight variations here and there, but nothing is of a big value. Hence, as there might be some color imperfections here and there (even depending on the monitor), the YCbCr444 does not lead when compared to the Full range RGB.

 

Solution #3: Setting a custom resolution

If you have an incorrectly functioning Display Port or an HDMI, you can set a custom resolution in a way that it will be treated like the 60Hz native resolution of the monitor-with the color signal corrected. In some cases, however, you need to watch out for the ‘HDMI Black Level’ option. If it exists on the monitor, it needs to be set correctly.

Go to Nvidia Control Panel>Display>Change Resolution>Customise. When you click on the ‘Customise’  button, a pop-up appears. Click on ‘Create Custom Resolution’. Under ‘Timing’, set the ‘Standard’ option to ‘Manual’. When you look down, there is a ‘Refresh Rate’ (in Hz) that can be changed. Set it to value ‘59.999’ and click on ‘Test’.

After the procedure, the system will display the new resolution, and a pop-up will ask you if you want to keep the changes. Click on ‘Yes’.

Now, you can see the new resolution listed under ‘Custom’ in the Nvidia Control Panel as below.

Quick facts about the solution:

From the ‘Detailed Resolution’ configuration box that is shown to the right, you have to select the option ‘Automatic – LCD standard’ from the ‘Timing’ drop-down. After that, you can enter the resolution and the refresh rate (as shown above in the image).

 

Solution #4: Using Third-party tools

Before Nvidia enabled an option in their driver to change the resolution and set it to the Full range, third party tools came in handy for the solution of the problem. A convenient utility called ‘Nvidia Full/Limited Range Toggler’ from the programming blog ‘metaclasofnil’ is the perfect example of an easy option. You simply download the .zip file, extract it and run the executable file (the file in the .exe format).
A pop-up appears, and you need to click on the ‘Set Full Range (0-255)’ button at the top right corner.

Quick facts about the solution:

AMD GPUs and the HDMI signal

Understanding the issue

When you connect an AMD GPU to a monitor using the HDMI or DVI, the most common and annoying issue that you face is that the image appeared to be fuzzy and compressed with a black border surrounding it. This is a scaling issue because of the default behavior of the GPU to ‘Underscan’  the image.

The solution is simple.

Solution

For older versions of the driver, you need to open up the Catalyst Control Center (which is replaced with AMD Radeon settings in the new versions), than go to:

Preferences>Radeon Additional Settings>My Digital Flat Panels>Scaling Options.

Now, you need to move the slider all the way to the right, or to Overscan at 0%.

Quick facts about the solution:

The second problem that comes, in this case, is that of pixel format. As compared to a connection made to a Nvidia GPU using HDMI, connecting an AMD GPU using HDMI is a lot less problematic regarding color signal. This is because the default behavior of an AMD GPU is to use a YCbCr444 instead of Limited Range RGB color signal. The result? No washed up look.

However, the Full range RGB signal (referred to as the RGB 4:4:4 by the AMD GPU) is better than the YCbCr444 for a couple of reasons. A test was conducted using the AMD GPU and connecting it to an AOC i2473Pwy. The results show a bit of difference in value when it comes to the Contrast Ratio, White Luminance, and White Point.

Signal Type White Point Gamma Contrast Ratio White Luminance Black Luminance
YCbCr444 6468K 2.3 1184 154cd/m² 0.13cd/m²
RGB 4:4:4 6512K 2.3 1238 161cd/m² 0.13cd/m²

 As we can see from the table, the differences in values are not exactly huge. But when we enable the RGB 4:4:4, we do get some bonus on the Contrast ratio, White Point, and the White Luminance.

If we compare the color tables for the two color signals used on an AMD GPU, we can see that there is a greater deviation in color accuracy there was on the Nvidia GPU.

The take-home message is, the some colors will be displayed slightly more accurately regarding shade if we switch to using a Full Range RGB, or an RGB 4:4:4 color signal type.

There are two simple solutions to help make the color accuracy better and resolve this issue.

Solution #1: Using a DVI to HDMI Cable

When we connect a DVI to HDMI cable to an AMD GPU, it uses the Full Range RGB color signal by default, just like it would in the case of a DVI connection. You can buy this cable and use it. It automatically takes care of the problem, saving you the hassle.

Quick facts about the solution:

 

Solution #2: Changing the Pixel format

You need to go to Catalyst Control Centre (for old drivers) or AMD Radeon Settings (the new drivers) and go to:

Preferences>Radeon Additional Settings>My Digital Flat-Panels>Pixel Format.
You need to change the pixel format from default (YCbCr 4:4:4) to ‘RGB 4:4:4 Pixel Format PC Standard (Full RGB)’ as shown in the image below.

Quick facts about the solution:

 

CONCLUSION

A DVI connection is the one that is handled perfectly by both the AMD and the NVIDIA GPUs. But with the advances in technology and functionality, many monitors have moved on from the DVI. HDMI and Display Port are most commonly used today and with the current HDMI being the HDMI 2.0 and the DP 3.0 being on the horizon, they are evolving fast. As we can see, when a NVIDIA GPU is connected with an HDMI cable to a monitor, it treats like an HDTV and uses settings of a color display that monitors are slowly moving away from. In the case of an AMD GPU, a similar connection is again problematic, and there is a ‘scaling’ issue. However, all of these issues are easy to fix, and if you follow the above solutions, you can enhance the monitor color accuracy and fix these issues to give you the image quality you deserve!

As for the GPUs, we can only hope that shortly they can find permanent solutions to these problems as they evolve with time and realize that they need to move on from HDMI being a ‘TV-only connection.’

Exit mobile version