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:
- If your monitor has an ‘HDMI Black Level’ or an ‘HDMI RGB PC Range’, make sure that you set it to the value ‘Normal’, ‘Full’, ‘High’ or ‘RGB (0~255)’ instead of ‘Low’, ‘Limited’ or ‘RGB (16~235).
- No restart is required for the changes to take effect.
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:
- Tests show that using the Full Range RGB (0-255) is relatively a better method than using the YCbCr444, making this the least favorite solution of them all. This is because of the variations on the colorimeter as seen below when a comparison was done between the two:
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:
- This solution works with most applications. However, there are some games that ignore custom resolutions and switch to using your monitor’s native resolution. On games that do this, the custom resolution comes into play if you set the refresh rate to a value that is other than 60Hz.
- Most monitors can use a value of 65Hz without any issues.
- A good alternative to setting a custom resolution in the NCP is to use the ‘Custom Resolution Utility’ created by ‘ToastyX’. The setup is easy to follow and shows up as under:
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:
- You will have to restart the computer system for the changes to take effect.
- Doing this changes a few entries in the registry of the graphics driver. These are the ones that control and change the RGB color behavior.
- You have to run this tool only once. However, installing a new graphics driver from scratch will reset all the settings to their defaults.
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:
- In the newer driver versions, the option ‘Scaling Options’ is located at the same position, but some of the tabs surrounding it no longer exist. The option Catalyst Control Centre’ is replaced by ‘Radeon Additional Settings’.
- This is a simple, effective and permanent fix for this issue.
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:
- Even if you are using a DVI to HDMI cable, you need to ensure that if there is any ‘Black Level’ or ‘HDMI Range’ setting on the monitor, it is set to ‘Normal’, ‘High’, ‘Full’ or ‘RGB (0~255)’ rather than being set to ‘Limited’ ‘Low’, or ‘RGB (16~235)’.
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:
- If you install a new graphics driver, you will have to do this again, as the settings are restored to their defaults. Other than that scenario, you only have to do this once.
- You need to ensure that if there is any ‘Black Level’ or ‘HDMI Range’ setting on the monitor, it is set to ‘Normal’, ‘High’, ‘Full’ or ‘RGB (0~255)’ rather than being set to ‘Limited’ ‘Low’, or ‘RGB (16~235)’.
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.’
Daniel15152 says
a led monitor and nvidia,brother in dvi comes default or the best option is to move to AMD?
Paolo Reva says
Hi, Daniel! The color output will most likely be the same between Nvidia and AMD. This guide is for HDMI connections only and it doesn’t apply to DVI connections. If your colors are washed out using that port, it could be the monitor itself that needs adjusting.
Inf Thus says
Wow! It fixed some colors not showing up plus giving a much better view,
Thank you for this.
Paolo Reva says
You are most welcome! We are glad that we could help you out!
daniel says
brother when I put it in full the white affects the vision and the black affects the other colors and videos
Paolo Reva says
Hi, Daniel! What monitor and GPU are you using?