A solution for gamma-adjustment support in Wayland

Kai-Uwe ku.b-list at gmx.de
Thu Dec 15 19:26:30 UTC 2016

Am 15.12.2016 um 18:06 schrieb Mattias Andrée:
> On Thu, 15 Dec 2016 17:51:48 +0100
> Kai-Uwe <ku.b-list at gmx.de> wrote:
>> Am 15.12.2016 um 16:15 schrieb Mattias Andrée:
>>> On Thu, 15 Dec 2016 13:18:17 +0100
>>> Kai-Uwe <ku.b-list at gmx.de> wrote:  
>>>> libcoopgamma is GPL. A really unacceptable choice for a
>>>> API, which shall be used by everyone to reach the goal
>>>> of a more structured / disciplined gamma access.  
>>> libcoopgamma is just one implementation, anyone can
>>> choose make there library with whatever license they
>>> want.  
>> from the libcoopgamma README:
>>         more importantly, all programs that
>> 	use libcoopgamma can change the gamma ramps
>> without overriding each others changes
>> Nice statement. However the chance is high, that your
>> code path will be ignored by other color configuration
>> systems and thus the user experience is irritating at
>> best.
> I'm not sure I understand what you are trying to say.

Your above expressed intention from the README is likely to fail. If a
different system tries to bring effects into the desktop appearance and
uses ramps like your library does or simply restores the calibration
state (gamma ramps) of a given ICC monitor profile, the libcoopgamma
effects are likely to be destroyed.

>> Maybe a configuration scheme is a better path then.
>> Different programs can then implement that scheme.

> Can you give an example of what you mean.

Writing the effects into a easily parseable (say JSON) configuration
file in a XDG config path along with a signaling mechanism about the
change would certainly help.

> Do you mean
> support for arbitrary colour mapping (a large lookup
> table of all colours) and multiplication with matrices?

ICC abstract profiles can be much more expressive and can easily be
integrated into other systems too. The gamma ramps can be computed from
the profiles by a CMM like lcms. The advantage would be that it might
easily integrate into the wayland way of color management, which so far
offers no gamma access. At the same time can profiling tools temporarily
disable the effects in order to measure device behaviour. Support for
more use cases becomes possible.

ICC color correction works with CLUT tables in display servers or color
servers in some traditional GL enabled window managers. ICC abstract
profiles can be easily chained during CLUT creation.

>> best regards
>> Kai-Uwe
>> PS: please feel invited to the [OpenICC list][1] round
>> the corner. I really would like to see a convergence of
>> desktop color configuration, as it makes much sense to
>> users. Redshift and friends are certainly welcome.
>> [1]:
>> https://lists.freedesktop.org/mailman/listinfo/openicc

More information about the xdg mailing list