-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Open
Labels
wippull request in making, tests and feedback neededpull request in making, tests and feedback needed
Description
I might be reading the code wrong but I think #19646 might be doing the wrong thing, if it is running under a wayland compositor with the color management protocol enabled. This goes wrong since wayland color management is by design full screen (this is necessary to make SDR/low gamut applications look good on HDR/wide gamut monitors)
How it goes wrong:
- darktable queries colord and gets an output (icc) profile
- darktable uses that profile to render the buffer out in display color space but does not use the wayland color management to tell the compositor it is doing so (<- this part I'm not 100% sure about since that depends on GTK stuff I'm not familiar with)
- Since the compositor is unaware that darktable is doing any color management it will assume the buffers are in sRGB and will wrongly do an sRGB to Display transform
As can be seen from the above sequence this will apply an unwanted color transform, provided darktable is running on wayland and the wayland compositor supports the color management protocol. I see a couple of ways around this:
- Use the color managment protocol I think in particular wp_color_management_output_v1 and wp_color_management_surface_v1 are worth a look in this case (the first to replace the call to colord, the second to make the compositor aware of the surface colorspace)
- If the above is not possible the next best option is to set the display to be sRGB and let the compositor handle the rest (of course a user override is desirable here), this will have the effect on not really be able to use wide gamut monitors but at least should keep the colors (mostly) correct (since on a wide gamut monitor sRGB to Display transform should be a no-op mathematically speaking).
I hope I'm wrong here and this issue can just be closed
Metadata
Metadata
Assignees
Labels
wippull request in making, tests and feedback neededpull request in making, tests and feedback needed