[OpenICC] monitor/videocard identification (fwd)

Bob Friesenhahn bfriesen at simple.dallas.tx.us
Tue Dec 7 07:02:27 EST 2004


On Sun, 5 Dec 2004, Sven Neumann wrote:

> Hi,
>
> Kai-Uwe Behrmann <ku.b at gmx.de> writes:
>
>> I suspect that we will end up being stuck with associating a profile
>> with a simple DISPLAY ID, with unqualified DISPLAY IDs being
>> prefixed with the current host's IP address or hostname.
>
> A display may have multiple screens and each screen may have multiple
> monitors. How would you deal with that?

The only solution which is assured to work requires extension of the 
X11 APIs, X11 protocol (to support the APIs), and the frame buffer 
device driver interface.

The application would tell X11 which profile describes its colorspace. 
The X11 server would tell the device driver which profile describes 
the colorspace of the data provided to it.  The frame buffer device 
driver would generate mapping tables (possibly loaded into the 
hardware for performance) to convert between the application's 
colorspace, and the colorspace of the attached display.  If the frame 
buffer device driver controls multiple display frame buffers, then it 
will need to manage a translation table for each frame buffer.

Given that X11 servers do not yet support the necessary capabilities, 
there still needs to be a simple mode (likely tied to the DISPLAY 
identifier) to help X11 applications deal with existing servers.  In 
this case, the X11 application (or X11 support library) needs to 
perform the colorspace transformations, or use an existing X11 server 
extension to load tables to perform the colorspace transformations. 
This approach does not properly support virtualized multi-headed 
displays.

The assumption is always that there is one display per frame buffer. 
If there is more than one display per frame buffer, then the displays 
need to be internally calibrated to match each other.

Given that the world is transitioning from analog to digital (e.g. 
DVI) connection to displays, it should be expected that at some point 
all of the translation related to the display will move to within the 
display itself in order to achieve the best color resolution.  Modern 
LCD displays already contain translation tables (typically 10 bit) in 
order to emulate CRT gamma and support user-adjustments, but they 
can't usually be updated from the host computer.

Bob
======================================
Bob Friesenhahn
bfriesen at simple.dallas.tx.us
http://www.simplesystems.org/users/bfriesen



More information about the openicc mailing list