Juan, you are right in that, strictly speaking, color management refers to the technology of color conversion and gamut mapping. But in our context, a conditio sine qua non to achieve its goal is characterization of input and output devices, or at least monitor characterization, i.e profiling. Astropixel, let me be categorical: in order to take advantage of color management as defined by ICC and implemented through LittleCMS you MUST have your monitor profiled. For this you need a colorimeter/spectrometer and a piece of software. For the sake of better conveying our work to others I humbly encourage every member of this forum to implement it.
It seems that neither Argyll nor LPROF, the only profiling tools in Linux that I know of, are V4 compliant. The newest version of LittleCMS is.To see the importance of this you may read:
http://www.color.org/ICC_white_paper_6_v2_and_v4_display_profile_differences.pdfPlease note that the use of a monitor profile presupposes that the monitor is in the same state of calibration (white point, brightness, etc.) as it was when characterised. My painful experience with laptops running under Windows told me that this can be tricky. I am not sure were this calibration settings are stored in this case. See however "vcgt" tag below.
With respect to the video card digression I am very much confused, since I don't know which element in the pipeline does what and to what extent. Your comments have been helpful Juan, though.
I quote from Wikipedia
>>Monitor calibration on a computer is done preferably with a colorimeter and software
>>that supports it. In most cases, a monitor profile created by the calibration software
>>(whether it relies on a hardware device or on user input) includes both an accurate
>>description of monitor output and instructions to the video card to change the colors
>>it displays. Video card lookup table (LUT) adjustments are usually required to help
>>the display reach the white point and gamma desired by the user.
>>Monitor calibration is, in that respect, different from calibration of other devices. A
>>monitor profile created by calibration software (as opposed to the profiles supplied by
>>monitor manufacturers) usually includes instructions to the video card that are stored
>>in a special "vcgt" tag of the profile.
>>Video card LUT adjustments need to be loaded for a monitor to match the
>>description in the profile. Mac OS X and Microsoft Windows 7 load LUT adjustments
>>automatically, while Linux and older versions of Microsoft Windows require
>>standalone LUT loaders. Although such loaders perform just as good a job when
>>adjusting video card output as the operating system would, their existence tends to
>>confuse many people with regards to the function these loaders perform.
>>Use an LUT loader to actually load the LUT adjustments contained within the profile
>>prepared during calibration. According to the documentation, these loaders do not
>>modify the video card LUT by itself, but achieve the same type of adjustment by
>>modifying the X server gamma ramp. Loaders are available for Linux distributions that
>>use X.org or XFree86—the two most popular X servers on Linux. Other X servers are
>>not guaranteed to work with the currently available loaders. There are two LUT
>>loaders available for Linux:
>>Xcalib is one such loader, and although it is a command-line utility, it is quite easy
>>to use.
>>dispwin is a part of Argyll CMS.
The sentence "these loaders do not modify the video card LUT by itself, but achieve the same type of adjustment by modifying the X server gamma ramp" is unintelligible to me.
If I understood you well Juan, Little CMS in Pi does "load" the monitor LUT by itself without any other intervention by loaders or SO in Linux. How do Linux and PI (Little CMS) treat the "vcgt" tag of the profile?
In the same vein, I guess that LittleCMS implements 16bit transformation at least. So if a monitor has an effective 10bit depth per channel (e.g. Eizo monitors), the only bottle neck in Linux would be the video card or its drivers. Right?
Thanks and regards,
Andrés