I'm trying to document as much of this color management stack we have in Linux as possible. Splitting up the screen "calibration" into two phases, calibration and characterisation is easy enough to explain. Characterisation can be explained as getting the accurate device response, but how do I explain calibration? As far as I can understand it, dispcal does some kind of iterative algorithm to set the vcgt tables, with an optional target white point. Could someone please explain in fairly technical language (assume the user knows about Lab and XYZ) what dispcal is actually doing? I've tried reading the source a bit for this but it's quite confusing. Given one of the biggest problems people have with actually creating a display profile seems to be the calibration step I think it's important to document rather than leave as a magic black box. Thanks for any help. Richard.