You are on page 1of 8

11/27/2016

CorrectingHDMIColouronNvidiaandAMDGPUsPCMonitors
Search

Home

Monitor Articles

Recommendations

Monitor Reviews

Monitor Articles

Discussion Forum

Contact Us

Some of the Best Screens

Testing and Analysis

Technology Explored

Discuss Display Needs

Personalised Advice

Correcting HDMI Colour on Nvidia and AMD GPUs

Correcting HDMI Colour on Nvidia and AMD GPUs


Author: Adam Simmons
Last updated: 12th August 2016

Like our articles? Please help support the website by purchasing your monitor or other computer peripherals
and components using the Buy from links found in select posts, reviews and the
recommendations section .
This article provides guidance for users with discrete desktop GPUs from Nvidia and AMD. For mobile GPUs or
integrated graphics solutions, including those from Intel, it is recommended that a custom resolution is set
using CRU (Custom Resolution Utility). Refer to the Nvidia section on this, specifically the second half of
Second solution: setting a custom resolution where the process of using CRU is mentioned.

Introduction
You may have heard people say that the image quality of HDMI (High-Definition Multimedia Interface), DP (Display
Port) and DVI (Digital Visual Interface) are equivalent. Theyre digital signals that either work so the monitor displays
an image or dont work so that it doesnt. A user just has to consider the bandwidth requirements of their monitor
and choose a port on the GPU (Graphics Processing Unit) and monitor that will support the full resolution and refresh
rate of their display.

Unfortunately things arent quite as clear-cut as that, and there is a murky middle ground. Its this quagmire in the
middle that many users will find themselves stuck in due to how HDMI is typically handled by PC graphics cards.
HDMI is designed as a universal signal widely used by TVs and entertainment systems, unlike DVI and DisplayPort
which are built from the ground up as computer monitor ports. The aim of this article is not to bog you down with all
of the technical fripperies of these different ports and associated aspects. Rather its designed to give you some
straightforward actionable advice which will allow you to optimise the HDMI colour signal for PC use.

How Nvidia GPUs handle the HDMI signal


The problem
Whenever a monitor with a resolution in common with HDTVs (i.e. 1920 x 1080) is connected to an Nvidia GPU by
HDMI or DVI-HDMI cable, the GPU decides that the connected screen is an HDTV rather than a monitor. You can see
how the graphics driver categorises the resolution as that shared with a TV by opening the Nvidia Control Panel and
navigating to Display Change resolution. It will be listed under Ultra HD, HD, SD as 1080p, 1920 x 1080
(native) as shown below.

https://pcmonitors.info/articles/correctinghdmicolouronnvidiaandamdgpus/

1/8

11/27/2016

CorrectingHDMIColouronNvidiaandAMDGPUsPCMonitors

Although this behaviour is typical for 1920 x 1080 (Full HD/1080p) displays connected by HDMI it occasionally
applies to such displays connected by DisplayPort as well. In the image above you may notice that a Dell U2414H,
connected via DisplayPort, has been categorised in this way. This is rather bizarre behaviour considering DisplayPort
is a PC-only connection not currently employed by TV screens. If you connect a monitor up using DVI or a
DisplayPort connection that works as it should then the resolution will be listed in a separate list entitled PC as
shown in the image below.

But the problem is not simply that the resolution is put on the wrong list, its the effect that this has on the colour
signal that is important. With the HDMI (or incorrect DisplayPort) connection the GPU sends out a Limited Range RGB
16-235 colour signal rather than the Full Range RGB 0-255 signal the monitor is designed to process and indeed
sends out via DVI or correctly functioning DisplayPort. Without going into the intricacies of how these colour signals
differ, there is a definite mismatch between the colour signal sent to the monitor and the screens native capabilities.
This disparity leaves the monitor unable to display shades with an appropriate depth and variety. Black appears an
obvious dark grey (overall static contrast suffers this is measureable) and the gamma curve is shifted such that
many shades appear a lot lighter than they should. The whole image looks like it has a sort of bleached haze over it,
giving what is commonly referred to as a washed out look.
The table below gives some basic readings taken from the AOC i2473Pwy connected by HDMI and set to use both a
Limited Range RGB 16-235 signal and a Full Range RGB 0-255 signal. Results for a third signal type discussed
below, YCbCr444, are also included. The test settings and equipment from the review were used to take these
readings a Spyder4Elite for the gamma and white point measurement and a Konica Minolta CS-200 for the rest. The
test settings simply involved lowering the brightness a bit and making minor colour channel adjustments.

Signal Type

Gamma

White point
(kelvins)

White luminance
(cd/m)

Black luminance
(cd/m)

Contrast ratio
(x:1)

Limited Range RGB 16-235


(default)

2.0

6318K

132

0.32

413

Full Range RGB 0-255

2.3

6318K

161

0.13

1238

YCbCr444

2.3

6497K

161

0.13

1238

As you can see the impact that the Limited Range signal has on both contrast and gamma is quite dramatic, leading
to a washed out look with a clear lack of depth. This is quite typical of the sort of variation youll see on any monitor
connected to an Nvidia GPU via HDMI when comparing the two RGB signal types. So how do you go about correcting
this? There are a few different ways of doing this. The proceeding section looks at three different ways to correct the
colour signal on Nvidias desktop GPUs.

First solution: functionality now built into the Nvidia display driver
As of driver version 347.09, Nvidia have added a small drop-down to the Nvidia Control Panel (NCP) that will allow
you to enforce the correct Full Range signal. Simply open NCP and navigate to Display Change resolution. You
should see a drop down box labelled Output dynamic range. At time of writing this is the final drop-down box on
the page, under Apply the following settings as shown below.

https://pcmonitors.info/articles/correctinghdmicolouronnvidiaandamdgpus/

2/8

11/27/2016

CorrectingHDMIColouronNvidiaandAMDGPUsPCMonitors

Make sure this is set to Full rather than Limited and press Apply to enforce the Full Range RGB 0-255 signal.
Note that this will be set to Limited by default on Full HD monitors connected using HDMI and some connected
using DisplayPort. On some monitors you will need to turn the monitor off then on again (using the power button is
fine) after setting this correctly in Nvidia Control Panel. It is always available as a toggle when connecting a Full HD
monitor using HDMI or DP, but depending on the display and its resolution may be set to Full by default or the
option may not even be selectable in these cases it doesnt need changing. Also be aware that the location and
exact labelling may change in future driver versions. If the monitor has an HDMI Black Level, HDMI RGB PC Range
or similar option make sure this is set to Normal, High, Full or RGB (0~255) rather than Low, Limited or RGB
(16~235). The exact nomenclature depends on the monitor model.
Second solution: setting a custom resolution
It is possible to enforce a Full Range RGB 0-255 signal over HDMI or incorrectly functioning DisplayPort by setting a
custom resolution. This resolution can be set such that it is treated exactly the same as the default 60Hz native
resolution of the monitor but with the colour signal corrected. The video below shows this process. Again ensure that
the HDMI Black Level or similar option on the monitor is set correctly, if such an option exists.

How to x Nvidia HDMI colour issues

After creating it, you can see your new Custom Resolution listed separately in the Nvidia Control Panel resolution
list as shown below.

https://pcmonitors.info/articles/correctinghdmicolouronnvidiaandamdgpus/

3/8

11/27/2016

CorrectingHDMIColouronNvidiaandAMDGPUsPCMonitors

Although this will work with most applications and the desktop, some games ignore custom resolutions and will
revert to using your monitors native resolution with the default colour signal. On many such games your custom
resolution will be used if you set the refresh rate to a value other 60Hz (essentially overclocking or underclocking
your monitor). Most monitors will be able to use 65Hz without any issues, some can be pushed further if youre
feeling adventurous. Some users would be uncomfortable changing this from the default 60Hz, which we understand,
so for those looking for a simple universal fix there are some alternatives.
One alternative to setting a custom resolution in the Nvidia Control Panel is to use the Custom Resolution Utility
(CRU) created by ToastyX. Full instructions on how to use this are included in the first post on the thread linked to.
Simply run this utility (CRU.exe) and click the Add button under Detailed resolutions (4 maximum) as shown in
the image below.

This brings up a Detailed Resolution configuration box shown to the right in the image above. Select Automatic
LCD standard in the Timing dropdown and enter the resolution and refresh rate as shown in the image. One key
feature of CRU is that after adding a Detailed resolution you can move a resolution up to the top of the list so that is
treated as the native resolution. You do this by clicking on the resolution you just created and using the little up
arrow button to the right of the Reset button. This is important because those games that like to ignore Nvidias
custom resolutions will still use the new native resolution that you set using this utility. Users of Windows 8.1 or
newer should also uncheck the Include extension block checkbox which is above and to the right of the OK button.
Remember to press OK and restart your computer to activate your new resolution.
Note that CRU can also be used to overclock monitors connected to both Nvidia and AMD GPUs by setting a higher
than native refresh rate, and that is indeed one of its key original purposes. Some users will find that functionality
useful, but thats not necessary to correct the colour signal. Another good thing about CRU is that it offers a reliable
method to correct the colour signal of Nvidias mobile GPUs. Because the graphics driver of mobile GPUs is massively
cut down you arent able to set a custom resolution using Nvidia Control Panel. For users with Nvidias desktop GPUs
there are a few alternatives to creating custom resolutions which can be used to correct the signal.

Third solution: using the YCbCr444 colour signal


It is very easy to get rid of that washed out look and the problematic gamma by setting the graphics card to use the
YCbCr444 colour format. Simply open the Nvidia Control Panel and navigate to Display Adjust desktop color
settings. Select YCbCr444 from the Digital color format dropdown as shown below. The Black Level option on
the monitor, if there is one, should be greyed out after selecting this colour signal type.

https://pcmonitors.info/articles/correctinghdmicolouronnvidiaandamdgpus/

4/8

11/27/2016

CorrectingHDMIColouronNvidiaandAMDGPUsPCMonitors

This will switch the colour signal the graphics card sends out from RGB (Limited Range RGB 16-235 by default) to
an alternative which provides a very similar image to Full Range RGB 0-255 on most monitors. The measured
gamma, white point and contrast are very similar indeed and the image looks very much comparable to a Full Range
RGB signal on most monitors. Some colour values are changed very slightly, with certain shades displayed more
accurately and some less accurately. The images below compare the colour accuracy of the AOC i2473Pwy across a
broad range of shades using both Full Range RGB (0-255), shown on the left and YCbCr444, shown on the right.
These tests were repeated several times and the slight differences were consistent for one signal type vs. the other
so it isnt just the colorimeter being weird. Different monitors will of course show different deviations in accuracy,
but both colour signals should generally be just as close to each other as in this example. On a minority of monitors
the changes can be more pronounced, for example the clarity of text can be affected with a blurred or fringed look
in places. If you notice such undesirable consequences on your monitor wed advise using one of the other methods
to correct the signal.

As you can see there some slight differences here and there but nothing of huge significance. After selecting the
YCbCr444 colour signal the resolutions will be listed in exactly the same way by the driver, so will remain in the
Ultra HD, HD, SD list if thats where they were before. Because the Full Range RGB (0-255) signal is used for DVI
and most DisplayPort connections you may prefer to enforce this instead of using YCbCr444, just so you know
things are being done the right way. Our preferred method of enforcing the correct Full Range RGB signal over
HDMI is to use a nifty little tool mentioned below.

Fourth solution: using a third-party tool to enforce Full Range RGB


This solution has now been superceded by the selectable option now added to the Nvidia Control Panel (First
solution). For those who want to experiment with an alternative, for whatever reason, there is a small utility called
Nvidia Full/Limited Range Toggler which originates from the metaclasofnil programming blog. You simply run the
executable (.exe) contained in the .zip file and click on Set Full Range (0-255) button at the top right as shown
below.

https://pcmonitors.info/articles/correctinghdmicolouronnvidiaandamdgpus/

5/8

11/27/2016

CorrectingHDMIColouronNvidiaandAMDGPUsPCMonitors

All this does is changes a few registry entries for the graphics driver which control the RGB colour signal behaviour
for HDMI so that Full Range rather than Limited Range is used. This will not correct the dodgy DisplayPort signal.
Once you restart your computer the changes will take effect immediately. You only have to run this tool once, unless
you clean install a new graphics driver which will reset all of the registry entries to default again. As with setting a
custom resolution you should ensure any Black Level or HDMI Range setting on the monitor, if there is one, is set
appropriately. This will be using the Normal, High, Full or RGB (0~255) setting rather than Low, Limited, RGB
(16~235) or other words to the same effect.
The resolution will again be listed as it was before in the Nvidia Control Panel, so you wont notice a change there. If
youre interested in seeing the difference between Full Range RGB (0-255) and YCbCr444 for yourself then feel
free to toggle between RGB and YCbCr444 in the graphics driver (second solution) after employing the toggle tool
(third solution). You can then quickly switch between the two. Because your computer has to restart after correcting
the colour signal using the toggle tool you may be unsure whether it has definitely made a difference. You should see
things look much less washed out, but are your eyes just playing tricks on you?
Regardless of the technique you use to correct the colour signal, perhaps the easiest way to see the difference is to
observe the Lagom black level test. Use a browser other than Firefox as Mozillas colour management can throw
things off here. Before correcting the signal you should notice that all of the squares are distinct from the
background with little individuality in the shades of the first few blocks. The relatively low gamma and inability of the
monitor to display distinctions below a grey level of 16 will have this effect. After correcting the colour signal the
first few blocks should blend in with the background better and offer more distinction between themselves and
neighbouring shades. The background will appear darker (a grey level of 0 rather than 16) as well.

How AMD GPUs handle the HDMI signal


The initial problem scaling (a simple fix)
The first and probably most pressing issue youll face when connecting an AMD GPU to a monitor using HDMI or DVI
to HDMI is one of scaling. The image will likely appear compressed and fuzzy with a black border surrounding it.
That is because the GPUs default behaviour is to underscan the image. To fix this for older drivers you simply need
to Open Catalyst Control Center. For newer drivers, Catalyst Control Centre has been replaced with AMD Radeon
Settings. If you open this and then click on Preferences Radeon Additional Settings youll be at the right place.
Once youve got that open navigate to My Digital Flat Panels Scaling Options and move the slider to Overscan
(0%) or all the way to the right as shown in the image below. Note that the image is taken from Catalyst Control
Centre. The location of Scaling Options is similar, but some of the surrounding tabs (to the left on the image) no
longer exist and Radeon Additional Settings replaces the title Catalyst Control Centre.

The other problem pixel format


For AMD GPU users DisplayPort connections always use the correct colour signal. And unlike when connecting a
monitor to an Nvidia GPU using HDMI, connecting an AMD GPU via HDMI is a lot less problematic when it comes to
the colour signal. The image is not washed out and it looks very much as it should on most monitors. When using
HDMI, the default behaviour of AMD GPUs is not to use a Limited Range RGB (16-235) signal like Nvidia GPUs, but
rather to use a YCbCr 444 signal which is referred to by AMD as YCbCr 4:4:4. The use of YCbCr 4:4:4 compared
to Full Range RGB (0-255) has a slightly more pronounced effect on white point, contrast and measured colour
https://pcmonitors.info/articles/correctinghdmicolouronnvidiaandamdgpus/

6/8

11/27/2016

CorrectingHDMIColouronNvidiaandAMDGPUsPCMonitors

to Full Range RGB (0-255) has a slightly more pronounced effect on white point, contrast and measured colour
values compared with on an Nvidia GPU. It is still nowhere near as pronounced as comparing Nvidias default Limited
Range signal to any other signal type, however. The table below compares some key values on an AMD GPU
connected to the AOC i2473Pwy, with the GPU using both YCbCr 4:4:4 and Full Range RGB 0-255. The term RGB
4:4:4 is used in the table as this is AMDs preferred terminology for the Full Range RGB signal. Again the same test
settings and measuring equipment from our review was used with an AMD Radeon R270X GPU in place of the Nvidia
GeForce GTX 780.

Signal Type

Gamma

White point
(kelvins)

White luminance
(cd/m)

Black luminance
(cd/m)

Contrast ratio
(x:1)

YCbCr 4:4:4
(default)

2.3

6468K

154

0.13

1184

RGB 4:4:4

2.3

6512K

161

0.13

1238

The differences in these key readings are not exactly huge, most notable is the slight boost in contrast you gain by
enabling the RGB 4:4:4 signal. The black luminance remains the same whilst the white luminance is raised by 5
cd/m2 to give a contrast ratio of 1238:1 compared to 1184:1. This is hardly a massive difference on this particular
monitor but any bonus is a good thing. The images below compare the colour values of YCbCr 4:4:4 (left) and RGB
4:4:4 (right). Again we took these measurements several times and the results were consistent.

You can see that there is greater deviation in colour accuracy between the two signals than there was on the Nvidia
GPU. This is true for deep red and certain grey and pastel shades in particular, amongst others. There is little need to
critically analyse the accuracy of specific colour values for one signal type vs. the other as this varies between
monitors. The take home message here is simply that YCbCr 4:4:4 and RGB 4:4:4 (Full Range RGB, 0-255) do
differ in their shade representation on AMD GPUs to a greater extent than Nvidia GPUs.
Unlike Nvidias Limited Range RGB (16-235) signal AMDs default YCbCr 4:4:4 signal never causes things to look
washed out by dramatically altering gamma or contrast. But it does slightly affect colour values so some shades are
presented slightly differently to how they would over a DVI or DisplayPort connection (i.e. correct). And as with
Nvidia cards, this signal type can cause a minority of monitors to display blurred or fringed text where certain
colours are involved. Most users will probably be quite happy to stick with this default signal, but it is actually very
simple to change the signal used using one of two methods.

First solution: use a DVI to HDMI cable


In contrast to Nvidia GPUs, connecting an AMD GPU up using a DVI to HDMI cable causes it to use the colour signal it
would usually use for DVI; Full RGB. If you have such a cable handy or are happy to buy one (perhaps if you dont
have a regular HDMI cable handy) then this is one solution. If you only have an HDMI cable or would prefer to use one
then dont fret. It is very easy to enforce the Full Range signal over HDMI in Catalyst Control Centre (CCC) as
demonstrated by the following solution. You have to fix the scaling issue in CCC anyway, whether using a DVI to
HDMI or regular HDMI cable, so having to tweak something else in CCC shouldnt cause too much hardship.
Whether using a DVI to HDMI cable or changing the pixel format (below) you will need to ensure any Black Level or
HDMI Range setting on the monitor, if such a setting exists, is set correctly. Make sure youre using the Normal,
High, Full or RGB (0~255) setting on the monitor rather than Low, Limited, RGB (16~235) or other words to
that effect.
Second solution: change the pixel format
https://pcmonitors.info/articles/correctinghdmicolouronnvidiaandamdgpus/

7/8

11/27/2016

CorrectingHDMIColouronNvidiaandAMDGPUsPCMonitors

Second solution: change the pixel format


To fix this in older drivers, simply open Catalyst Control Centre. Newer drivers have replaced Catalyst Control Centre
with AMD Radeon Settings. Open this and click on Preferences Radeon Additional Settings. After doing this,
navigate to My Digital Flat-Panels Pixel Format and change this from the default of YCbCr 4:4:4 Pixel Format to
RGB 4:4:4 Pixel Format PC Standard (Full RGB) as shown below. This is the Full Range RGB 0-255 option for AMD
users. The image below is taken from Catalyst Control Centre, which the earlier drivers used. Note that the location
of the Pixel Format option is similar but some of the additional tabs around this no longer exist and Radeon
Additional Settings replaces the title Catalyst Control Centre.

You will only have to change this option once, unless you clean install a new graphics driver. As noted above you
should also make sure the HDMI Black Level or similar setting on the monitor is set correctly as well. If youd like to
put yourself in the shoes of an Nvidia user with their default Limited Range RGB (16-235) signal then select the
RGB 4:4:4 Pixel Format Studio (Limited RGB) pixel format. Just remember to change it back afterwards, not that
youll forget given the fairly significant degradation in contrast and colour quality that youll notice.

Conclusion
Many monitors have moved on from using DVI (which is handled perfectly in both Nvidia and AMD drivers) to using
HDMI and DisplayPort. This is a trend that is set to continue as these two new standards continue to evolve indeed
were now on HDMI 2.0 whilst DP 3.0 is on the horizon. Despite this, both AMD and Nvidia GPUs treat Full HD
monitors connected by HDMI as HDTVs and send out a colour signal that even many modern TVs are moving away
from. AMD GPUs have a pesky scaling issue when using HDMI, but this is quite easy to fix universally in the driver
once you know how. Despite their issues seeming to be isolated to the 1920 x 1080 (Full HD) resolution at present
rather than any resolution, Nvidia GPUs are worse offenders for users with affected monitors. They use a Limited
Range RGB (16-235) colour signal by default that completely destroys the image quality of the monitor by
hampering contrast, colour vibrancy and shade variety. To add insult to injury a minority of monitors act this way
over DisplayPort as well, despite that being dominantly a PC connection where the GPU treating the monitor as a TV
makes little sense.
As this article demonstrates it is fairly simple to fix any issues with colour signal that you may come across using
HDMI (or dodgy DisplayPort) and indeed fix AMDs odd scaling issue. But there are many users who will never read
this article and dont know how to fix these issues cursing away at their monitor and perhaps sending it back to the
retailer instead. Still, there is some potential light at the end of the tunnel. As the push continues towards higher
resolution, with 4K UHD (Ultra High Definition) and higher resolutions hitting the mainstream market, the Full HD
HDMI curse will be weakened. Were also happy to see that since this article was first published, Nvidia have added
that drop-down Dynamic range option to the driver.
Wed of course like to see the GPU drivers of both manufacturers get with the times, accepting that things have
moved on from HDMI being a TV-only connection. Indeed many TVs now happily support a Full Range RGB signal
anyway, so it would make more sense for the GPU to treat a connected display as a monitor rather than TV. And there
is really no need for AMD to choose to underscan the image by default over HDMI, either, since this is a problem
not just on modern monitors but also modern TVs. Even if things arent changed driver-side, this article will at least
provide some solutions for the poor users facing these pesky issues.

Stay connected and updated

Got a question?

Buying a monitor?
Please use our Amazon links at the bottom of
selected posts, reviews and the
recommendations section . This keeps the
website free and functional and is a great way
of supporting us .
Donations are also very welcome. Thank you
for your support!

2016 PCMonitors.info | Privacy Policy and Cookies

https://pcmonitors.info/articles/correctinghdmicolouronnvidiaandamdgpus/

8/8

You might also like