I am on a clean minimal Debian Stretch install with just a couple of graphical packages installed. I installed these:
sudo apt install xserver-xorg-core xinit bumblebee-nvidia primus primus-libs:i386 libgl1-nvidia-glx:i386
But I could swap proprietary bumblebee-nvidia
with open source bumblebee
.
I also put my user to the bumblebee group:
sudo adduser $USER bumblebee
After reboot my Intel card works fine:
ziga@ziga-laptop:~$ glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.0.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 13.0.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 13.0.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
But my Nvidia card which is Geforce 610M won't work when called with optirun
:
ziga@ziga-laptop:~$ optirun glxinfo | grep OpenGL
primus: fatal: failed to load any of the libraries: /usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1:/usr/lib/i386-linux-gnu/nvidia/libGL.so.1:/usr/lib/nvidia/libGL.so.1
/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib/i386-linux-gnu/nvidia/libGL.so.1: wrong ELF class: ELFCLASS32
/usr/lib/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
If I use apt
to search for my card I get this:
ziga@ziga-laptop:~$ sudo apt search 610M
Sorting... Done
Full Text Search... Done
nvidia-legacy-304xx-driver/stable 304.137-5~deb9u1 amd64
NVIDIA metapackage (304xx legacy version)
nvidia-legacy-304xx-kernel-dkms/stable 304.137-5~deb9u1 amd64
NVIDIA binary kernel module DKMS source (304xx legacy version)
nvidia-legacy-304xx-kernel-source/stable 304.137-5~deb9u1 i386
NVIDIA binary kernel module source (304xx legacy version)
xserver-xorg-video-nvidia-legacy-304xx/stable 304.137-5~deb9u1 amd64
NVIDIA binary Xorg driver (304xx legacy version)
From this I would install nvidia-legacy-304xx-driver
but I am afraid this won't work well with other packages that I have installed above. Is it possible that I also need xserver-xorg-video-nvidia-legacy-304xx
?
Can anyone explain to me which packages to install and why?
Well, I couldn't wait any longer and I tried installing the xserver-xorg-video-nvidia-legacy-304xx
. It really looks like this package is in conflict with bumblebee-nvidia
package. I got this after installation:
nvidia-legacy-304xx:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/4.9.0-8-amd64/updates/dkms/
depmod...
DKMS: install completed.
Setting up nvidia-legacy-304xx-driver (304.137-5~deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Processing triggers for glx-alternative-nvidia (0.8.3~deb9u1) ...
Processing triggers for menu (2.1.47+b1) ...
Processing triggers for update-glx (0.8.3~deb9u1) ...
Processing triggers for glx-alternative-nvidia (0.8.3~deb9u1) ...
update-alternatives: warning: forcing reinstallation of alternative /usr/lib/nvidia/bumblebee because link group glx is broken
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Processing triggers for initramfs-tools (0.130) ...
update-initramfs: Generating /boot/initrd.img-4.9.0-8-amd64
Processing triggers for bumblebee (3.2.1-14) ...
I uninstalled the xserver-xorg-video-nvidia-legacy-304xx
and tried to install the nvidia-legacy-304xx-driver
package which also installed the xserver-xorg-video-nvidia-legacy-304xx
package. It returned no warnings and no errors, but after reboot optirun glxinfo | grep OpenGL
command still fails...
It looks like there is no solution to this even on Debian which was supposed to be stable?
Like @Antonio Orizondo Leyva suggested I installed the packages he suggests and executed the command sudo update-alternatives --config glx
and I got to choose different options for my GPU's:
There are 3 choices for the alternative glx (providing /usr/lib/glx).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/nvidia/bumblebee 125 auto mode
1 /usr/lib/mesa-diverted 5 manual mode
2 /usr/lib/nvidia 100 manual mode
* 3 /usr/lib/nvidia/bumblebee 125 manual mode
Press <enter> to keep the current choice[*], or type selection number:
I tried selecting every single one of them and then rebooted, but the end result was the same... Except for the second option (nvidia
) which after reboot said it can't find openGL.1.so
or something... So it is impossible to even use the Nvidia card by itself!?
Any other Ideas?
After reading this Debian bug report I realized that I ought to install package
libgl1-nvidia-glx
. This fixed my problems, but I have to criticize Debian for this, because on their official Bumblebee webpage it is said to use this command to install:But this command is missing the crucial
libgl1-nvidia-glx
which needs to be installed together with its i386 counterpart in order for all apps to work!Soo a quote to Debian: