[Openicc] XICC specification draft

Michael Sweet mike at easysw.com
Mon Jun 27 23:54:15 EST 2005


Stefan Döhla wrote:
> 
>>
>> Actually, I disagree that Xinerama is broken.  The previous "standard"
>> for multi-head displays (:0.0, :0.1, etc.) was completely unusable
>> for a lot of reasons (I won't waste bandwidth here on that), and
>> while the current Xinerama spec may be lacking in some ways, it
>> would be more productive to address its deficiencies than to bash
>> it.
> 
> 
> I'm curious: Do you have any pointers on the discussion that led to this 
> decision?

No, however I can provide some real-world experiences, because I
did dual-head display work before and after Xinerama.

The problems with separate displays (from memory, so I might be
missing some stuff I've forgotten...):

     1. All visual information, including color values, colormaps,
        etc. is managed separately for each screen.  This means that
        an app or toolkit must track resources separately for each
        screen, making optimization and caching a LOT harder.  FWIW,
        most toolkits do not handle multiple screens properly...

     2. Because visuals are different between screens, things like
        OpenGL rendering (which I did a lot of) need to have
        different contexts, and sometimes (but not always) you can't
        share display lists, textures, etc. between contexts.

     3. There is no way to specify the geometry of screens - :0.1
        may be to the left, right, top, and/or bottom of :0.0 - so
        applications have to either ask the user or be hardcoded
        when opening windows on multiple screens.

     4. You can't drag windows between screens.

All of these issues are solved by Xinerama; the main drawback I've
seen is that apps/toolkits that are not Xinerama-aware will pop up
dialogs that cross multiple monitors, however that is less common
these days and could also be "fixed" by smarter Window managers -
they just need to detect when a window crosses monitor boundaries
and adjust the position accordingly.  This is how many Windows
graphics drivers work around limited multi-monitor support in
Windows applications...

> Actually, I'm facing the same problem, because it's impossible right now 
> to access the different displays directly with the current interface 
> when using Xinerama. Imho, there should be some unique identifier 
> (accessible through an X library) for each connected display, so that 
> one can handle them separately.

You can enumerate the displays via the Xinerama functions in the
Xext library, and then use the geometry you get to position your
windows or grab a specific screen.

-- 
______________________________________________________________________
Michael Sweet, Easy Software Products           mike at easysw dot com
Internet Printing and Document Software          http://www.easysw.com



More information about the openicc mailing list