Color on TK1


We have our own board and there are HDMI and eDP ports.
We found that when we connect to two same module of monitors, the color is different.
We would like to know if those parameters of color for each displays (HDMI and eDP) are fine turn ?
What is the default setting you are used ?

Please advise.

Just remind that we didn’t modify any parameters of color in code.

By “same module of monitors” are you saying the monitors are the same, or just the Jetson? Much is determined via the EDID the monitor replies with, so a Jetson which is different with two exact match monitors is suspicious as a failure, but two different monitors (using two different EDID replies) is expected.

The monitors are same brand and same module number.
And before we did the testing, we are sure to do ‘recall’ on monitor in order to sure all settings are same in these two monitors.
And we did same test on Jetson-tk1 and the issue is there also.

Hi Tonie,

Yes, HDMI will have different cmu setting with other type of display interface.
Following code snippet in dc.

1180         if (dc->pdata->cmu)
 1181                 return dc->pdata->cmu;
 1182         else if (dc->out->type == TEGRA_DC_OUT_HDMI)
 1183                 return &default_limited_cmu;
 1184         else
 1185                 return &default_cmu;

Could you try to modify the cmu setting with following command?

echo 0/1 > /sys/class/graphcis/fb0/device/cmu_enable​
echo 0/1 > /sys/class/graphcis/fb1/device/cmu_enable​

An additional note to the above: Two monitors of the same model and same settings are very unlikely to completely match. In the past I’ve done work which required graphical editing of images (things customers were very picky about) and my desktop consisted of multiple monitors of the exact same spec on different ports of the same video card. The same image when split or spread across two exactly matching monitors was different.

Here is one site with color calibration information and images:

A very important point is that if you swap monitors and the differences follow the monitor, then you know you still have uncalibrated monitors. If the problem stays with the port, then you know it is the port which is at issue.

Most likely you will have a mix where contrast and brightness need to be adjusted within the monitors (default settings being the same within the monitors won’t guarantee the monitors are behaving the same even though they are the exact same monitor model…you’d have to buy very expensive monitors intended for calibrated color to achieve this). Other color differences are because of the port. Having two monitors of the exact same model tends to imply they’ll have the same gamma, but getting the darkest of darks and brightest of whites to match will seldom occur by default. Also, just because the two gammas would match, it doesn’t mean the gamma is correct…it just means they’ll behave the same. Because the monitors are exact matches you probably only need to calibrate contrast and brightness before comparing for equality.

One practical suggestion is to use those color calibration images for each monitor on the same port one at a time. You’d mainly need to make sure contrast and brightness are matches. Only then would you sit the monitors side-by-side and compare them on two separate ports.

Hi, WayneWWW and linuxdev,

Thanks for your reply. We will try it.
One more thing I would like to know is if it is necessary to apply ‘CMU’ to both HDMI and eDP ports?
As I know, most color calibration is done for specified panel.
If our Tegra is used to be a video source (such as video player), there will be many kind of monitors/TVs will be connected. In such case, should I disable cmu for both HDMI and eDP? (Is there any other settings I should disable ?)
Without enabling cmu, what will be the default color that HDMI and eDP use ?

Please advise.

Hi Tonie,

Do you use any HDMI analyzer to see the output color value?

Hi, WayneWWW,

No. We don’t have it.
But we can sure that the output color spec of both outputs are RGB, 24bits.



Hi WayneWWW,
We have tried what you suggested:

echo 0/1 > /sys/class/graphcis/fb0/device/cmu_enable​
echo 0/1 > /sys/class/graphcis/fb1/device/cmu_enable​

Here are the results:

  • echo 0 > /sys/class/graphcis/fb0/device/cmu_enable​ --> no change
  • echo 1 > /sys/class/graphcis/fb0/device/cmu_enable​ --> no change
  • echo 0 > /sys/class/graphcis/fb1/device/cmu_enable --> no change
  • echo 1 > /sys/class/graphcis/fb1/device/cmu_enable​ --> colors changes on display, it becomes too bright (NOK)

– Nicolas

Hi linuxdev,

According to our tests, I can assure you that the colour difference follows the port, not the monitor.

– Nicolas

Hi NicoD,

How do you know the color difference is from hdmi/eDP outpout?

Hi WayneWWW,
I am not sure I fully see your point there… we have 2 outputs, and regardless of the screen, we see the colour difference follow the port on which we plug the screen. Then, if it is not the HW of the port (if this is what you mean), this is either the HW of the circuit of the port, or the kernel code, or a configuration we did not found yet.
If this does not answer your question, this is that I am still missing your point, may I ask you to be more specific, please?
– Nicolas

Is there a particular port which you think is “correct”, i.e., does the color differ enough to obviously be “wrong” on a particular port, and if so, which port is that? Anything to narrow down whether it is the eDP or the HDMI which might be “wrong” (as opposed to only differing) might help, but perhaps the color difference between ports is not extreme.

Hi NicoD,

I have received your pictures. The output color is different when using TK1+ eDP + HDMI, while they are the same if using your mini PC + eDP + HDMI, right?

I am requesting a color calibration tools internally and would reply you ASAP.

Hi NicoD,

May I ask some information for your monitors?

i. As your pictures show, color reproduction seems fine when attached to a mini PC. Did you use a eDP to HDMI converter ? What was the mode programmed on the monitors in this case (both color are the same)? Could you retrieve this info?

ii. How was the 1920x1080 mode selected in your DP-0? Could you share the EDID? If it was set from DT, we might be missing several parameters that a EDID might have provided (including limited/full range).

Please use following command

sudo -s 
cat /sys/kernel/debug/tegradc.0/edid
cat /sys/kernel/debug/tegradc.1/edid

Also, full range setting through Xorg config is a latest feature on TX2, so it would be no effect on rel-21.5

Hello WayneWWW,

I was wondering if you could share some more information on how to enable the full range CMU setting from the Xorg config on the latest release on my TX2.

Kind Regards,


Hi WayneWWW,

Sorry I did not answer your previous messages, since we were working with you internally, it was a duplicate.
As you know, we have reached a solution and get our two screens displaying similar colors. Visually the issue is fixed from our point of view, but we did not measure it quantitatively.

Here is the solution found by our partners and NVidia:
1 - Kernel - Completely disable CMU (CONFIG_TEGRA_DC_CMU is not set) in kernel
2 - Kernel - In file ‘kernel/arch/arm/mach-tegra/board-ardbeg-panel.c’ (line 704) set value ‘panel = &edp_a_1080p_14_0;’ to ‘panel = &edp_i_1080p_11_6;’,
3 - Runtime - Use /etc/sysfs.conf to set ‘/sys/devices/platform/host1x/tegradc.0/smartdimmer/enable’ to ‘0’ at each boot.

Hope this helps,
– Nicolas