[PATCH] Add initial color management framework code

Richard Hughes hughsient at gmail.com
Fri May 10 11:14:36 PDT 2013


On 10 May 2013 18:05, Kristian Høgsberg <hoegsberg at gmail.com> wrote:
> With a few changes... there were a few crashers in here, some of which
> I triggered because I happen to have both eDP1 and LVDS output
> sections in my weston.ini.

Right, I didn't hit this as I only had:

[output]
name=LVDS1
icc_profile=/usr/share/color/icc/colord/Bluish.icc

...sorry about that.

> What I
> did instead was to just remove struct cms_output, since we don't use
> it for anything.  We may want to bring them back so that we can reset
> gamma on shutdown (right now I end up with a bluish kms console when I
> exit weston), or maybe compositor-drm.c should make a copy of the
> current ramp on start up and restore from that on shutdown.

There seems to be a few ways to solve this:

* Just copy weston_cms_gamma_clear() into compositor-drm.c and call it
before each output is destroyed
* Just manually weston_output_destroy the outputs before
wl_signal_emit(&ec->destroy_signal, ec); gets called in main()
* Have a new signal soon_to_be_destroyed_save_yourself (better name
welcome) either on the output or the ec.

> Next, we should fix compositor-drm.c to make a copy of the current
> gamma ramps so that it can reset it on vt-enter.  Right now, if you vt
> switch away to X and back, the gamma ramps are reset.

Do we want to save/resore the gamma tables:

* In TTY_LEAVE_VT/TTY_ENTER_VT with the data blob in drm_output
* When TTY_ENTER_VT happens, use the data set by ->set_gamma with the
data blob in drm_output
* By teaching cms-static about VT switches (as we can reuse cms_output_created)

Choices, choices :)

Richard.


More information about the wayland-devel mailing list