Setting the display calibration ramps using weston

Graeme Gill graeme2 at argyllcms.com
Wed Apr 3 05:56:48 PDT 2013


Richard Hughes wrote:

> Hmm, we need to be able to change this on the fly, for instance the
> user changing the profile or clearing the curves to linear for
> profiling.

The "user" meaning "an application working on behalf of the user
to calibrate or profile the display".

> 1. Read the hardcoded .icc file from weston.ini, optionally extract
> the gamma curves using lcms and squirt the result into
> drmModeCrtcSetGamma

Sounds reasonable.

> 2. Get the output configuration from colord and listen for changes using DBus

A callback makes sense if this is essentially event driven. How is the
responder (ie. CMM) registered ?

> There's not going to be _ICC_PROFILE atoms in weston, nor XRandR
> output properties,

I understand, but the point is that the equivalent functionality is needed.

> so clients will need to query the CMM directly
> (which is a good thing IMO).

As long as the communication mechanism is congruent with
the connection with graphical connection to the display.
The beauty of the ICC atom is that it is available to the
(possibly remote) X11 client using it's normal display connection.

[And yes, I'm aware that currently Wayland doesn't deal
with remote clients, and essentially operates at a lower
level than this, but scope for supporting remote clients
that use color management should be taken into consideration.]

> The grand idea is to use a sub-surface
> with a tagged color profile, which means applications don't have to
> care about CM unless they want to opt out a region and handle
> everything themselves.

Modulo intent selection, and also consider supporting
device links as a tag, for finer control over the color mapping,
without the client having to implement a CMM and possibly
suffer a performance penalty compared to the tagged rendering.
[Should be pretty easy since this bypasses the normal linking
needed between the tag and the display profile.]

John Kåre Alsaker wrote:
> My planned approach was to make colord and Oyranos plugins for Weston.
> The plugins would provide the CMSes with information about the outputs
> and Weston in return gets ICC profiles for them (which contains gamma
> curves). Weston needs the full ICC profile in order to do proper color
> correction and the CMSes needs information about the outputs, so
> everyone's happy.

Sounds a reasonable callback mechanism, but you need
to allow for application override of both calibration
curves and color matching, to support calibration
and profiling.

> an CMS API doesn't exist yet, so we'll have to create one. We probably
> want to pass EDID data over to the CMS plugin and it notifies weston
> about output profile changes in form of a ICC profile which lcms2
> handles on the weston side.

I'd love to see some progress towards (or at least allowance
for moving in the direction) of an application or CMF being able
to talk to the display via the DDC for a given output.

Graeme Gill.










More information about the wayland-devel mailing list