On Mon, 12 Nov 2012 01:08:19 +1030, Ron wrote:

> > > Does glxgears actually run for you without the mumble preload?
> > Yup, sorry for not mentioning this yesterday.
> Ok, so it's reasonably certain to be something mumble is trying to do
> that for whatever reason your system doesn't support.
> 
> This doesn't look entirely unrelated:
> https://bugs.freedesktop.org/show_bug.cgi?id=54080
> 
> There's a modified glxgears attached to that which you could run to
> see if that really is the same problem you have on your system.

Interesting find!

With the attached glxgears.c glxgears fails without the mumble
overlay:

% glxgears
X Error of failed request:  GLXBadDrawable
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  29 (X_GLXGetDrawableAttributes)
  Serial number of failed request:  33
  Current serial number in output stream:  33

From the ticket:
| It works with Nvidia libGL or with LIBGL_ALWAYS_INDIRECT.

Yup, works:

% LIBGL_ALWAYS_INDIRECT=1 glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.

And this also works (still with the patched glxgears):

% LIBGL_ALWAYS_INDIRECT=1 mumble-overlay glxgears
set
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.

and this too:

% LIBGL_ALWAYS_INDIRECT=1 MUMBLE_OVERLAY_DEBUG=1 mumble-overlay glxgears        
                                                                            
set
MumbleOverlay: Mumble overlay library loaded
MumbleOverlay: Iterating dlsym table 0x7f03c4c1e348 0x7f03c4c1e6f0 39
MumbleOverlay: Original dlsym at 0x7f03c4c1f030
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
MumbleOverlay: Current context is: 0x186d040
MumbleOverlay: GLX version 1.4
MumbleOverlay: OpenGL Version 1.4 (3.0 Mesa 8.0.5), Vendor Tungsten Graphics, 
Inc, Renderer Mesa DRI Intel(R) Sandybridge Mobile , Shader (null)
MumbleOverlay: VERTEX: àQO
MumbleOverlay: FRAGMENT: àQO
MumbleOverlay: connect() failure /home/gregoa/.MumbleOverlayPipe
MumbleOverlay: connect() failure /home/gregoa/.MumbleOverlayPipe
[...]


Back to the original glxgears, all those 4 invocations work:

% glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.

% LIBGL_ALWAYS_INDIRECT=1 glxgears
Running synchronized to the vertical refresh.  The framerate should be      
approximately the same as the monitor refresh rate.

% LIBGL_ALWAYS_INDIRECT=1 mumble-overlay glxgears
set                                                                         
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.

% LIBGL_ALWAYS_INDIRECT=1 MUMBLE_OVERLAY_DEBUG=1 mumble-overlay glxgears        
                                                                                
    set                                                                         
               
MumbleOverlay: Mumble overlay library loaded
MumbleOverlay: Iterating dlsym table 0x7f1aab9a4348 0x7f1aab9a46f0 39
MumbleOverlay: Original dlsym at 0x7f1aab9a5030
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
MumbleOverlay: Current context is: 0x1633040
MumbleOverlay: GLX version 1.4
MumbleOverlay: OpenGL Version 1.4 (3.0 Mesa 8.0.5), Vendor Tungsten Graphics, 
Inc, Renderer Mesa DRI Intel(R) Sandybridge Mobile , Shader (null)
MumbleOverlay: VERTEX: 
MumbleOverlay: FRAGMENT: 
MumbleOverlay: connect() failure /home/gregoa/.MumbleOverlayPipe
MumbleOverlay: connect() failure /home/gregoa/.MumbleOverlayPipe
[..]

> A quick dig around also seems to indicate you aren't the first person
> to have this problem either:
> 
> http://www.regnumonline.com.ar/forum/showthread.php?t=60788
> 
> And they solved that by switching to a different GL implementation.
> Interestingly they also report this was working on squeeze, despite
> the assertions here to the contrary ...

For installing libgl1-mesa-swx11 I'd have to remove quite a few
packages, so this is not really attractive on my real machine ...


And yes, a bit searching leads to all kind of GL problems that sound
similar.


Now that is funny:

% LIBGL_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri MUMBLE_OVERLAY_DEBUG=1 
mumble-overlay glxgears                                                         
   
set
MumbleOverlay: Mumble overlay library loaded
MumbleOverlay: Iterating dlsym table 0x7f3a5b463348 0x7f3a5b4636f0 39
MumbleOverlay: Original dlsym at 0x7f3a5b464030
MumbleOverlay: Request for symbol __driDriverExtensions 
(0x2008880:0x7f3a5b464030)
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
MumbleOverlay: Current context is: 0x2005950
MumbleOverlay: GLX version 1.4
MumbleOverlay: OpenGL Version 3.0 Mesa 8.0.5, Vendor Tungsten Graphics, Inc, 
Renderer Mesa DRI Intel(R) Sandybridge Mobile , Shader 1.30
MumbleOverlay: VERTEX: 
MumbleOverlay: FRAGMENT: 
X Error of failed request:  GLXBadDrawable
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  29 (X_GLXGetDrawableAttributes)
  Serial number of failed request:  33
  Current serial number in output stream:  33

% LIBGL_DRIVERS_PATH=/usr/lib/i386-linux-gnu/dri MUMBLE_OVERLAY_DEBUG=1 
mumble-overlay glxgears
set
MumbleOverlay: Mumble overlay library loaded
MumbleOverlay: Iterating dlsym table 0x7fb7b0677348 0x7fb7b06776f0 39
MumbleOverlay: Original dlsym at 0x7fb7b0678030
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
MumbleOverlay: Current context is: 0xe98940
MumbleOverlay: GLX version 1.4
MumbleOverlay: OpenGL Version 1.4 (3.0 Mesa 8.0.5), Vendor Tungsten Graphics, 
Inc, Renderer Mesa DRI Intel(R) Sandybridge Mobile , Shader (null)
MumbleOverlay: VERTEX: 
MumbleOverlay: FRAGMENT: 
MumbleOverlay: connect() failure /home/gregoa/.MumbleOverlayPipe
MumbleOverlay: connect() failure /home/gregoa/.MumbleOverlayPipe
[..]


Why would it work with the 32bit "foreign" libraries but not with the
"native" 64bit ones?

(Same with Chris' example (armagetronad): works with the 32bit libs
and fails the same way with 64bit.)

 
> > I'd like to wait for Chris' additional tests in a VM without OpenGL
> > to make sure that the mumble binary itself still works there.
> > Then I'm happy to upload the package.
> Ok.  I could tell you the answer to that right now ...
> but I'm in no rush, so whenever you're ready is fine with me :)

Right, there's no immediate hurry, so one more confirmation fits my
"better safe than sorry" mode :)


Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Element Of Crime: Alle vier Minuten

Attachment: signature.asc
Description: Digital signature

Reply via email to