xserver-xgl makes gnome-panels stretch on dual monitors

Bug #144758 reported by Niklas M
6
Affects Status Importance Assigned to Milestone
xserver-xgl (Ubuntu)
Won't Fix
Low
Chris Halse Rogers

Bug Description

Hello,

dual-monitor screens works just fine with xinerama and so on until you try to install the xserver-xgl package. It seems that the xinerama function tells both screens to be screen "0" or something considering that the gnome-panel is stretched to to fill the xinerama size and does not follow the actually first screen of choice.

I have 1680x1050 that is the screen "0"

Then using another screen with 1280x1024 as screen "1"

The screen "1" is on the right side of screen "0" and that works just fine until the use of xgl when it takes the 1680x1050 + 1280x1024 and uses it to fill out the panel with.

I can see the top panel being stretched to the other part of the screen no problem. But the lower panel is below screen "1" which makes it impossible to reach on the second screen.

This might be caused just because of the xinerama stuff.....but I am not 100% sure.

Kind regards,
Niklas

Revision history for this message
DaveAbrahams (boostpro) wrote :

Yeah, this problem really annoyed me too. It turns out to be a symptom of the way Gutsy starts Xgl. A hack workaround is to replace /usr/share/xserver-xgl/Xgl-session with the "old recommended way" of starting Xgl:

#!/bin/bash
Xgl -fullscreen :1 -ac -br -accel glx:pbuffer -accel xv:fbo +xinerama & sleep 2
DISPLAY=:1
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
exec dbus-launch --exit-with-session gnome-session

Actually I just pasted the above at the beginning followed by "exit 0" so that when someone tells us the right way to do it, I can easily rip my hack out. The official version of Xgl-session seems to offer some nice protections in case of an X server crash.

Revision history for this message
DaveAbrahams (boostpro) wrote :

Happens to me too.

Revision history for this message
Chris Halse Rogers (raof) wrote :

With the exception of the "sleep 2" command, this seems to be almost exactly the same command as the result of the Xgl-session script in Gutsy. Can you check whether adding the "sleep 2" line after the
...
    verbose "Starting Xgl with options: " $XGL_ACCEL_OPTS $XGL_OPTS "\n"
    $XGL_WRAPPER $XGL_DISPLAY $XGL_ACCEL_OPTS $XGL_OPTS &
...
bit fixes this also? If so, I think the next xserver-xgl upload will fix this bug too.

Changed in xserver-xgl:
assignee: nobody → raof
importance: Undecided → Low
status: Confirmed → Incomplete
Revision history for this message
DaveAbrahams (boostpro) wrote :

Adding "sleep 2" to the end of that line has no apparent effect for me.

Revision history for this message
DaveAbrahams (boostpro) wrote :

Chris, is there a way to see the "verbose" messages written when starting Xgl? That might help us diagnose the real issue.

Revision history for this message
Chris Halse Rogers (raof) wrote : Re: [Bug 144758] Re: xserver-xgl makes gnome-panels stretch on dual monitors

On Fri, Feb 22, 2008 at 3:50 AM, DaveAbrahams <email address hidden> wrote:
> Chris, is there a way to see the "verbose" messages written when
> starting Xgl? That might help us diagnose the real issue.

The "verbose" messages should end up in ~/.xsession-errors, along with
a large bunch of other debug messages.

Revision history for this message
DaveAbrahams (boostpro) wrote :

OK, with the stock Xgl-session, my ~/.xsession-errors says:

  Starting Xgl with options: -accel xv:pbuffer -accel glx:pbuffer -nolisten tcp -fullscreen -br +xinerama

comparing that with what I posted, I see that I passed the following additional arguments:

  :1 -- which screen to run on
  -ac -- disable access control restrictions
  -nolisten tcp -- don't serve remote windows?

and

   "-accel xv:fbo" rather than "-accel xv:pbuffer"

which doesn't seem like a very likely candidate. I could try to force it to use the same command, but I'm beginning to suspect that either this has to do with the explicit specification of :1 in the old version or that the "exec $@" at the end of Xgl-session doesn't end up doing the same thing. Will diagnose further.

Revision history for this message
DaveAbrahams (boostpro) wrote :

My conclusion, amazingly, is that it's the Xmodmap that messes things up. If I do the exec before ever getting there, the panels stay on one monitor as they should.

However, since the fglrx 8-2 release it seems that I don't need Xgl anymore. Unbelievably I seem to be able to run compiz and suspend on the same computer, now, so it looks like I'm going to stop using Xgl.

Cheers to all

Revision history for this message
Kevin Browne (kbrowne-deactivatedaccount) wrote :

I can confirm that this is still an issue in Hardy. I have three monitors on two Nvidia Quadro FX 570s, running xserver-xgl 1:1.1.99.1~git2008115-0ubuntu1.

As Dave Abrahams noted, it appears that the xmodmap call in /usr/share/xserver-xgl is the culprit. If the call is left in place, the xinerama extension is not loaded (it's not listed by xdpyinfo), and the GNOME panels stretch across all monitors and windows maximize across all monitors.

If I comment out the call, xinerama loads and the desktop behaves itself: GNOME panels only span one screen, windows maximize to a single screen, etc.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

xserver-xgl has been deprecated upstream, and removed from Intrepid. Closing the bug as won't fix.

Changed in xserver-xgl:
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.