Display verification brain melt, a Displaycal story

I need to put some of this out there before my brain explodes :exploding_head: this has been a rabbit hole i genuinely didnt expect with attempting to verify the work thats been going on with some wayland color management bits. I have spent about 16-20hrs a day for the last week in documentation. forums, reddit, search engines, generating profiles, staring at profile verification, and maybe trying to understand the math a bit (i dont :sweat_smile: still)

Here is my understanding of Displaycal for the moment, specifically the verification screen

So what the heck is this? Well im glad nobody asked but ill tell you anyway. My brain has been melting and to get there you need to have a little knowledge on displaycals verification so buckle up kids, the magic school bus is here and im your older and less fun miss frizzle.

In layman’s as best i can Red is the default verification path for Displaycal. The testchart gets fed into the profile, displaycal does stuff to determine what the output should be, send that to the screen, and measures the result. If A = B or close enough we’re good, if not is bad.

This is easy to do and mostly no headaches, now we move on. Blue is when you want to see how well your profile can emulate a colorspace in a color managed situation (i.e krita, gimp, photoshop, etc.). The simulated profile and display profile go in, displaycal works its magic to figure out what should be displayed and measured, same as before but slightly different. So think Blue->Red for the path sorta

Now we get to green, green lets you override the profile up top with the simulated one. This is for verifying hardware calibration and other sorts of external luts (requiring device link profiles and other things for external luts) and such. Essentially the simulated profile is whats output instead of being touched by the profile you made. our path is now Blue->Red->Green->Red

Real quick lets look at purple. This is something for Wide Gamut and Soft Proofing as far as i can tell so it lets you match what you see to what you print. The path here would depend on if youre using a sim profile or not but if you are Blue->Red->Green->Purple->Red

Orange is where things start to get a little spicy, this lets you apply a black output offset or a custom gamma curve to the simulated profile, or not modify the tone curve at all. This is the part driving me absolutely nuts and ill explain why.

When you create a profile in displaycal it on default applies a gamma 2.2 curve as this is the generally expected tone curve in many cases. Under normal situations displaycal is in control of the color management but that isnt the case for Wayland. Kwin is the big boss and handles the colors and display output. Normally displaycal would clear the video card gamma table and do its business so you know its outputting what youre supposed to get and its supposed to read, it cant in this situation.

The tricky part on the wayland side when applying the profile is that at this moment sRGB is the target output BUT if you select your profile displaycal manipulates colors internally before output so the profile gets applied twice which messes up the color output and reading. Easy enough you just use simulated as display profile and thats gold with no weirdness there. So what do you select for tone curve when verifying?? :neutral_face:

Normally to measure an uncalibrated display you pick a simulated profile and use it as display profile with unmodified so that you can see exactly how the display measures without any calibration. The issue is then that “technically” we are calibrated but as far as displaycal knows we dont have a calibrated display nor one it can tinker with. Do you select the tone curve you made the profile with to get what is expected? do you just apply black offset since the profile will have done that? or do you select unmodified and treat it like it isnt calibrated and get the raw current state vs plain sRGB?

This is the question that has been melting my brain for days because i really dont know 1000% for sure which one is truly the right pick. If you get it wrong what are the deviations? Its so far been a very hard question to answer concretely. Getting right colors and making sure youre getting the right ones is a complicated topic that i have only a basic understanding of in order to accomplish what i want with my display.

Anyway…thanks for coming to my ted talk. :sleepy: and thanks to the KDE folks for the insane amount of work they must put in for making this stuff happen.


I just noticed the general forum at the bottom its probably a better place for this :sweat_smile: sorry about that