HDR support in Wayland/Weston

Pekka Paalanen ppaalanen at gmail.com
Thu Feb 28 09:35:22 UTC 2019

On Wed, 27 Feb 2019 13:47:07 -0700
Chris Murphy <lists at colorremedies.com> wrote:

> On Wed, Feb 27, 2019 at 5:27 AM Pekka Paalanen <ppaalanen at gmail.com> wrote:
> >
> > there is a single, unambiguous answer on Wayland: the compositor owns
> > the pipeline. Therefore we won't have the kind of problems you describe
> > above.
> >
> > These are the very reasons I am against adding any kind of protocol
> > extension that would allow a client to directly touch the pipeline or
> > to bypass the compositor.  
> Well you need a client to do display calibration which necessarily
> means altering the video LUT (to linear) in order to do the
> measurements from which a correction curve is computed, and then that
> client needs to install that curve into the video LUT. Now, colord
> clearly has such capability, as it's applying vcgt tags in ICC
> profiles now. If colord can do it, then what prevents other clients
> from doing it?

Hi Chris,

there is no need to expose hardware knobs like LUT etc. directly in
protocol even for measuring. We can have a special, privileged protocol
extension for measurement apps, where the measuring intent is explicit,
and the compositor can prepare the hardware correctly. This also avoids
updating the measurement apps to follow the latest hardware features
which the compositor might be using already. An old measurement app
could be getting wrong result because it didn't know how to reset a new
part in the pipeline that the compositor is using.

Hence the compositor owns the pipeline at all times.

Permanently setting the new pipeline parameters is compositor
configuration - you wouldn't want to have to run the measurement app on
every boot to just install the right parameters. Compositor
configuration is again compositor specific. The privileged protocol
extension could have a way to deliver the new output color profile to
the compositor, for the compositor to save and apply it with any
methods it happens to use. You cannot assume that the compositor will
actually program "the hardware LUT" to achieve that, since there are
many other ways to achieve the same and hardware capabilities vary.
Nowadays there is often much more than just one LUT. Furthermore, in my
recent reply to Niels' color management extension proposal I derived a
case from the proposal where a compositor would be forced to use an
identity LUT and instead do all transformation during rendering.

Colord is not a client. Colord is currently called from a
weston plugin, the plugin has access to the compositor internal API to
set up a LUT. Colord cannot do it on its own.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20190228/3c88620f/attachment.sig>

More information about the wayland-devel mailing list