Bug#772740: xserver-xorg-video-nvidia-legacy-304xx: No glXSwapIntervalSGI despite reported GLX_SGI_swap_control in socket-based connections
Ilya Anfimov
ilan at astelecom.ru
Fri Dec 19 18:20:55 UTC 2014
On Fri, Dec 19, 2014 at 12:33:34PM +0100, Andreas Beckmann wrote:
[skipped]
I'm terribly sorry, I found that in my first letter the method
for reproducing the bug is completely incorrect.
I found the bug when working with tcl3d, installed in /usr/local/
When I've found that debian doesn't have tcl3d, I've tried to use
togl, and I just mistaken it's usage. And it cannot be reproduced
using togl alone.
The real step to reproduce is to compile and run swabsgi.c from
my second letter.
The erroneous output would be:
0_ilan at azor /tmp%./swabsgi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: GLXUnsupportedPrivateRequest
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 16 (X_GLXVendorPrivate)
Serial number of failed request: 48
Current serial number in output stream: 49
1_ilan at azor /tmp%
> > Hoever, while README states that this configuration is official-
> > ly unsupported (which is sad), the bug also could be triggered by
> > connecting to the nvidia-driven X-server from machine with mesa
> > or ATI libGL drivers.
>
> Can you run the X-server machine with the supported configuration from
> update-alternatives --set glx /usr/lib/nvidia
I'll do that tomorrow, but this will not trigger bug locally --
as in all supported configurations, server driver is always the
same as client libGL.
Well, not exactly impossible, I can dpkg-reconfigure glx after
launching server, but it is not a polite way too.
However, I'll find remote connection with fresh virtual debian to
confirm the bug.
[also removed that old and unpackaged files, that you point me in this message]
>
> also /usr/lib/xorg/modules/extensions/libglx.so, libnvglx.so are manual
> symlinks, get rid of them, too
> reinstall xserver-xorg-core to get back the xorg libglx.so
thanks, reinstalled this also.
[skipped]
> > Server version is definitely 304.123 -- nvidia driver and nvidia
> > glx module are linked to specific libraries, and they scream when
> > they are of diffirent versions or when kernel module is different
> > version. Attached mmap of X-server, proving that.
>
> please update to 304.125
Updated, it looks like glx interoperability is broken completely
(BadValue is in X_GLXCreateContext now with Mesa libGL):
0_ilan at azor /tmp%./swabsgi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 37
Current serial number in output stream: 38
Moreover, with 304.125 driver and Mesa libGL --
glxinfo prints the same error.
However, didn't rebooted yet, just stopped X-server
and replaced nvidia kernel module.
>
> > Client is Mesa (without any dri installed), it should not take
> > any touch of nvidia libraries.
>
> So X is tunneled (via ssh)? This increases the fun ... :-)
Exactly mine is not -- I am just using mesa client libraries to
be more predictable and traceable, and surely deny direct render-
ing.
However, there seems to be misinterpretation of GLX protocol in
nvidia driver, and remote setup will fail even in supported con-
figuration.
>
> Are things working *locally*?
>
> > Also, I've taken some experiments, and found that nvidia
> > libGL.so.1 works fine. It works in both direct and indirect mode.
> > It also works fine with -340 version of client library (only
> > indirect mode, of course).
> > Wireshark view of indirect mode traffic shows, that in nvidia
> > glx library glXSwapIntervalSGI is made by some NV-GLX extension
> > requests, undecoded as there is no NV-GLX decode support in wire-
> > shark. I don't know simple ways to disable usage of NV-GLX, so I
> > don't know what this client library will do when it will not find
> > NV-GLX extension on server.
> > ATI's libgl1-fglrx-glx libGL.so.1 library fails, nearly the
> > same way as MESA one.
>
> Need to think more about this ...
>
> Andreas
>
> PS: I'll be mostly offline over the holidays
More information about the pkg-nvidia-devel
mailing list