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