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
Mon Dec 22 09:00:38 UTC 2014


On Fri, Dec 19, 2014 at 12:33:34PM +0100, Andreas Beckmann wrote:

[skipped]

> > 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
> 
> 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
> 
> and maybe try a minimal xorg.conf as describd in the README.Debian

 OK, tested on fresh Debian/testing install from DVD

 After fresh install of base system:

2) apt-get install nvidia-legacy-304xx-driver
 (rebooted, as recommended due to nouveau driver)

root at glt2:~# apt-cache policy nvidia-legacy-304xx-driver
nvidia-legacy-304xx-driver:
  Installed: 304.123-4
  Candidate: 304.123-4
  Version table:
 *** 304.123-4 0
        500 http://cdn.debian.net/debian/ jessie/non-free amd64 Packages
        100 /var/lib/dpkg/status

apt-get install xinit twm

Created minimal working xorg.conf:

Section "Device"
	Identifier	"My GPU"
	Driver		"nvidia"
	Option	"NoPowerConnectorCheck"	"True"
EndSection

(yes,  I know, that I've forgotten power connector.  All I needed
from this fanless videoadapter works fine without it, even games,
and  it  hardly will break support of setting of buffer swap con-
trol frquency)

ssh -X to wheezy virtual machine with glx
alternative set to libgl1-mesa:

root at trzbase:~# /tmp/swabsgi
X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  156 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  40
  Current serial number in output stream:  41
root at trzbase:~# echo $?
1
root at trzbase:~#

ssh -X to wheezy host with fglrx:

root at trzbase:~# /tmp/swabsgi
X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  156 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  34
  Current serial number in output stream:  35
root at trzbase:~# echo $?
1

ssh -X to wheezy host with nvidia-glx, 304.117 (it works mostly as expected):
root at trzbase:~# /tmp/swabsgi
ERROR: could not insert 'nvidia': No such device
NVIDIA: failed to load the NVIDIA kernel module.
root at trzbase:~# echo $?
0

ssh -X to wheezy host with nvidia-glx-legacy71xx (works
good, the same as 304.117):

root at trzbase:~# /tmp/swabsgi
ERROR: could not insert 'nvidia': No such device
NVIDIA: failed to load the NVIDIA kernel module.
root at trzbase:~# echo $?
0

local test with glx set to nvidia, which is
nvidia-legacy-304xx driver -- all is fine,
no error messages, in both indirect (__GL_FORCE_INDIRECT=1 )
and direct modes.


Tryed installation of 304.125 drivers:
sudo dpkg -i libgl1-nvidia-legacy-304xx-glx_304.125-1_amd64.deb \
	libgl1-nvidia-legacy-304xx-glx_304.125-1_i386.deb \
	libgl1-nvidia-legacy-304xx-glx-i386_304.125-1_i386.deb  \
	nvidia-legacy-304xx-alternative_304.125-1_amd64.deb \
	nvidia-legacy-304xx-alternative_304.125-1_i386.deb \
	nvidia-legacy-304xx-driver_304.125-1_amd64.deb   \
	xserver-xorg-video-nvidia-legacy-304xx_304.125-1_amd64.deb  \
	nvidia-legacy-304xx-kernel-dkms_304.125-1_amd64.deb

The nvidia-legacy-304xx-alternative:i386 caused some dependency error,
just removed it immediately.

All attempt to use glx fail, in any app, even with nvidia libs:

root at glt2:~# __GL_FORCE_INDIRECT=1 glxinfo
name of display: :0.0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  156 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  33
  Current serial number in output stream:  34
root at glt2:~#

(it is working nvidia libs with the same version, as direct rendering works fine)

I'm not sure, wheter should I post new bug about this
or it is OK to continue with that here. However, it is definitely
a different bug.

Taken tcpdump with direct and indirect glxinfo at 304.125, nvidia glx
(all indirect ones -- failed on X_GLXCreateNewContext),
and glxinfo and swabsgi at 304.123  -- with
nvidia glx -- glxinfo worked, swabsgi worked in both direct and indirect
modes, swabsgi failed with mesa (indirect) glx.

Example of Mesa glx drivers output:

root at glt2:~# ./swabsgi
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  156 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  48
  Current serial number in output stream:  49

I'm not sure I should fill debian bug tracker with this
dumps, so putting it separately:

304.125 X Server driver:

glxinfo, working, glx 304.125 direct mode:
http://tzirechnoy.com/dl/dumps/304.125-glx.dump

glxinfo, failed, on X_GLXCreateNewContext, glx 304.125 indirect mode:
http://tzirechnoy.com/dl/dumps/304.125-glx-indirect.dump


304.123 X Server driver:

glxinfo, working, glx 304.123 direct mode:
http://tzirechnoy.com/dl/dumps/304.123-glx.dump

glxinfo, working, glx 304.123 indirect mode:
http://tzirechnoy.com/dl/dumps/304.123-glx-indirect.dump

swabsgi bug tester, working, glx 304.123 direct mode:
http://tzirechnoy.com/dl/dumps/304.123-swabsgi.dump

swabsgi, working, glx 304.123 indirect mode:
http://tzirechnoy.com/dl/dumps/304.123-swabsgi-indirect.dump

swabsgi, failing at X_GLXVendorPrivate, mesa glx (switched while server is
running. Using it from remote host reports exactly the same):
http://tzirechnoy.com/dl/dumps/304.123-swabsgi-mesa.dump



More information about the pkg-nvidia-devel mailing list