Bug#779295: nvidia-driver: Problems with software using OpenGL after nvidia-driver install
Vincent Cheng
vcheng at debian.org
Fri Feb 27 10:11:31 UTC 2015
Hi,
On Thu, Feb 26, 2015 at 9:22 AM, José Luis García Pallero
<jgpallero at gmail.com> wrote:
> Package: nvidia-driver
> Version: 340.65-2
> Severity: important
>
> Dear Maintainer,
>
> I have a laptop running Debian Sid with an integrated Intel graphic card and a
> NVIDIA Quadro K2100M. I want use the Quadro ONLY for CUDA tests and the Intel
> card for the normal day work. Until now, I usually install the *.run NVIDIA
> driver (blacklisting the nouveau kernel module) but I configure the xorg.conf
> in order to use the Intel graphic card (see below the <<<<<<<<<<
> /etc/X11/xorg.conf >>>>>>>>>> section). One problem of this procedure is that
> after the NVIDIA driver installation I can't use some programs that use OpenGL
> for drawing, line the native graphics of GNU Octave (either the official Debian
> package or the program compiled by myself). The error emitted by Octave is:
>
> Xlib: extension "GLX" missing on display ":0".
> Xlib: extension "GLX" missing on display ":0".
> Insufficient GL support
>
> A trick to fix it consist on reinstall the debian packages libgl1-mesa-swx11
> and libgl1-mesa-swx11-dev. I suppose this internally changes the libGL et al.
> in a way that I can use programs that need OpenGL and also I can use CUDA. This
> way to proceed works until the NVIDIA driver version (included) 340.65. For
> higher driver versions the trick of reinstalling libgl1-mesa-swx11 and libgl1
> -mesa-swx11-dev doesn't works, but the Xlib: extension "GLX" missing on
> display ":0" error still appears.
>
> Well, at this point I decided to install the Debian nvidia-driver package
> (which uses the 340.65 driver). As a consequence, the libgl1-mesa-swx11 and
> libgl1-mesa-swx11-dev packages were uninstalled. I reboot the computer using
> still the corg.conf for the Intel graphic card. The problem is that the Xlib:
> extension "GLX" missing on display ":0" error appears again and I can't use
> programs that use OpenGL. I can see that in the /usr/lib/x86_64-linux-gnu/
> folder exist the correct files libGL, libGLU, libGLESv1, libGLESv2, etc., so I
> don't understand the "Insufficient GL support" error message. I don't know if
> it is a bug in the nvidia-driver package
>
> I've also tried to use the NVIDIA card as the default graphic card. I've run
> nvidia-xconfig, which generated the xorg.conf file:
>
> ****************************************************
> # nvidia-xconfig: X configuration file generated by nvidia-xconfig
> # nvidia-xconfig: version 340.46 (buildd at brahms) Tue Oct 7 08:00:32 UTC
> 2014
>
> Section "ServerLayout"
> Identifier "Layout0"
> Screen 0 "Screen0"
> InputDevice "Keyboard0" "CoreKeyboard"
> InputDevice "Mouse0" "CorePointer"
> EndSection
>
> Section "Files"
> EndSection
>
> Section "InputDevice"
> # generated from default
> Identifier "Mouse0"
> Driver "mouse"
> Option "Protocol" "auto"
> Option "Device" "/dev/psaux"
> Option "Emulate3Buttons" "no"
> Option "ZAxisMapping" "4 5"
> EndSection
>
> Section "InputDevice"
> # generated from default
> Identifier "Keyboard0"
> Driver "kbd"
> EndSection
>
> Section "Monitor"
> Identifier "Monitor0"
> VendorName "Unknown"
> ModelName "Unknown"
> HorizSync 28.0 - 33.0
> VertRefresh 43.0 - 72.0
> Option "DPMS"
> EndSection
>
> Section "Device"
> Identifier "Device0"
> Driver "nvidia"
> VendorName "NVIDIA Corporation"
> EndSection
>
> Section "Screen"
> Identifier "Screen0"
> Device "Device0"
> Monitor "Monitor0"
> DefaultDepth 24
> SubSection "Display"
> Depth 24
> EndSubSection
> EndSection
> ******************************************************
>
> But surprisingly, I can't start the X environment, so I need to use again the
> xorg.conf for Intel (I don't know if this error is due to the use of the *.run
> driver from NVIDIA). This is really not important to me, because I want to use
> for the X environment the Intel graphics
Given the above, it sounds like you have a Nvidia Optimus system (i.e.
dual intel and nvidia GPUs on one system). The most common solution
for that is bumblebee [1], but if the only thing you're going to use
your nvidia card for is CUDA, my understanding is that you don't
actually need bumblebee (although some of its components may help,
e.g. bbswitch [2]).
Either way, throw out your nvidia-xconfig generated xorg.conf (your
main X display is always driven by your intel card, not nvidia), and
if you choose not to install Debian's bumblebee packages, make sure
you manually update your libGL symlinks via alternatives (you want
mesa's implementation, not nvidia's), e.g.
# update-alternatives --config glx
There are 2 choices for the alternative glx (providing /usr/lib/glx).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/nvidia 100 auto mode
* 1 /usr/lib/mesa-diverted 5 manual mode
2 /usr/lib/nvidia 100 manual mode
Press enter to keep the current choice[*], or type selection number: 1
Regards,
Vincent
[1] https://wiki.debian.org/Bumblebee
[2] https://wiki.archlinux.org/index.php/bumblebee#CUDA_without_Bumblebee
More information about the pkg-nvidia-devel
mailing list