GSoC CM collaboration
Tomas Carnecky
tom at dbservice.com
Mon Mar 3 09:47:09 PST 2008
Olivier Galibert wrote:
> On Mon, Mar 03, 2008 at 04:41:08PM +0100, Tomas Carnecky wrote:
>> I was thinking about special atoms attached to windows that specify in
>> which colorspace/profile its contents are [...]
>
> You can have one window split on multiple monitors, you can have one
> window cloned on multiple monitors. Dunno if you can have a
> combination of both, but I don't see why not. Requires 3 simultaneous
> video outputs though, which is still rare nowadays.
But the colorspace/profile stays the same for the whole window, so it
make sense to attach that information to the window rather then anything
else. Whether part of the window is displayed on different monitors is
the problem of whoever does the colorspace transformation.
In case of twinview/xinerama, where the layout of the monitors is known,
it should be possible to apply different transformation depending on on
which monitor a particular part of the window is displayed. In the case
of cloned windows, it depends on who does the cloning. If its the
compositing manager then nothing changes, the cloned window is simply
treated as a separate window and the appropriate transformations are
applied. If the cloning is done using xrandr, eg. the very same
framebuffer is scanned out to two different monitors, then you're out of
luck.
The color transformation should be preferably done on the GPU. The
newest chips, with 1 teraflops and more, are fast enough and it would
lighten the pressure on the CPU. The downside? Older chips with no
support for shaders would be not be able to support this type of color
management.
Then there is the question whether the transformation should be done in
the xserver or in a client (eg. compositing manager). I don't know how
hard it would be to add that kind of OpenGL code to the xserver core.
There certainly wouldn't be a performance downside - now that OpenGL is
accelerated on the server-side (AIGLX). But that approach would require
much more complex changes than a client-side solution.
tom
More information about the xorg
mailing list