A solution for gamma-adjustment support in Wayland

Graeme Gill graeme2 at argyllcms.com
Sat Jan 7 07:54:12 UTC 2017

Hi Chris,

let me give a more considered reply:

> The conventional wisdom using video LUTs for calibration came about with CRTs. Pretty much
> all of that has to be thrown out with LCD's - they have a natural TRC that's nothing like
> a CRT, what the manufacturers have done is glue in hard wired transform to make them
> behave as if they have a native sRGB like TRC. Trying to unwind that with an 8 bit (and in
> rare cases 10 bits today)

I don't think 10 bit is at all rare. Quite apart from my ancient NVidia/CRT system,
I did some exploring of the latest LCD display to come into my possession (the
one in my new 2016 MacBook Pro), and it is definitely 10 bit through to the
display (even though all normal applications can only access 8 BPC frame buffers), and
the native response certainly looks a lot like a power curve. So if all LCD's
were this good, then you're right that calibration curves wouldn't have to do
much work. On the other hand, I found that it was much easier to get an accurate
target response (say sRGB, which is not quite like a power curve at
the dark end) using VideoLUT calibration curves, than attempting to use
just the ICC profile. From the basic logic of it (any lookup curve looses
resolution if it has the same output resolution as input resolution),
it's rather hard to convince people that they shouldn't use the
extra resolution available in the VideoLUT hardware if it is possible
to do so, to get the best quality target response out of it. (I've certainly
had feedback from people very concerned that calibration and profiling be
done at the highest available resolution available, i.e. 10 bit ATM.)

> to make them better behaved is pretty questionable, and a huge
> assumption that we're in fact improving the display performance by "calibrating" them by
> depending on video card LUTs in the first place.

Sorry, I can't agree. If the display response happens to be good out of
the box, then yes, calibration may not be needed. But the point of
color management is not to deal with those situations in which nothing
needs calibration or profiling, but to provide a means of ensuring
the best color handling even if the systems are not good out of
the box, or has changed over time, or is not setup properly for
the users purpose - i.e. the aim is not to improve the best possible
situation, but to limit the worst possible situation.

> That is exactly why the high end display
> don't use it at all. And for laptop displays my experience overwhelmingly has been that
> changing the videocard LUT produces worse results than not calibrating it, and just making
> an ICC profile and letting high precision display compensation sort it all out.

With high resolution calibration available, people have the choice
to not use it if it does nothing useful or makes things worse. If it's
not available, there is no option to even determine whether it may improve
the situation or not, even though it has proven very valuable
in other situations, and is a standard, expected tool in the
color management toolbox that has no other standard equivalent.
(And of course, ICC profiles provide no normal mechanism to
alter the display white point since they only characterize the device.
You'd either have to add some hack in their creation to
alter the device side curves, or somehow use a custom
CMM to tweak the PCS values every time a link is created,
something that you can't mandate when the application may
be managing color.)


More information about the wayland-devel mailing list