[ubuntu-x] [Gutsy] Should Xinerama be active when only a single monitor is connected?

Bryce Harrington bryce at bryceharrington.org
Tue Nov 27 19:18:04 GMT 2007

On Tue, Nov 27, 2007 at 06:56:23PM +0000, Dan Munckton wrote:
> On Tue, 2007-11-27 at 09:38 -0800, Bryce Harrington wrote:
> > My initial guess would be that the call that reports Xinerama as active
> > got replaced with Xrandr backend guts, which *is* active even for one
> > screen.
> Aha! It's all falling into place now. I'm looking at the file
> randr/rrxinerama.c. In there is a function called
> RRXineramaExtensionInit() which is called when RANDR itself is
> initialised, and registers itself to handle all Xinerama calls.
> > If it truly is Xinerama, and not Xrandr in disguise, then there should
> > be no consequences to disabling it.  
> Looking at it now I don't think the Xinerama/Panoramix code is compiled
> in at all as it's disabled by default in the ./configure script. Plus I
> added some ErrorF() print outs today and couldn't see any output in the
> Xorg log.

Excellent, all this is as expected.
> > However, if my suspicion is correct
> > and that it's actually Xrandr underneath, then this won't be possible;
> > the Java code will need to be updated to allow for this new behavior.
> I will go the awt-dev mailing list to ask about this. If the real
> Xinerama doesn't load unless there are more than one monitors attached,
> and only the Xrandr version runs with 1 monitor then I maybe Java could
> check for numScreens==1 and then be brave and presume it's actually
> Xrandr.

I don't know exactly how the Java code is dealing with Xinerama, but
it's worth emphasizing that Xinerama is really, really going away (with
a vengeance).  Even with multiple attached monitors, it will now be
using Xrandr, not Xinerama.

Note that you can also detect if Xrandr is active by calling the
`xrandr` commandline tool.  The Xorg.*.log files also will reveal this.

Again, as of Gutsy, Xinerama is no longer available (at all) for -intel
and -ati, and won't load on -nv for g80-based chipsets.  Xinerama is
still available on other drivers such as -amd, -nvidia, -fglrx, etc.  We
expect over time (maybe a year or two?) as these drivers are switched to
xrandr, xinerama will disappear for them too.

It's a messy transition we're in; I really wish X.org had implemented it
in a way that would allow Xinerama to be used alongside Xrandr, but I'm
sure they had good reasons.

> Thanks a lot for your help, I've been struggling away alone with this
> since the day Gutsy went live, and it's preventing my colleagues and I
> from upgrading cause we can't work on the product we're building.

Glad to help, sorry for the issue, but hope the above info gives you
some good direction to go.


More information about the Ubuntu-x mailing list