Bumblebee-Project / Bumblebee

Bumblebee daemon and client rewritten in C
http://www.bumblebee-project.org/
GNU General Public License v3.0
1.29k stars 142 forks source link

glxgears problem on Debian testing (Buster) #1010

Open matiux opened 5 years ago

matiux commented 5 years ago

Hello, I recently bought a Dell inspiron 15 7000 notebook with Nvidia MX150 and a second intel card:

$lspci -nn | egrep -i "3d|display|vga"
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:3ea0]
01:00.0 3D controller [0302]: NVIDIA Corporation GP108M [GeForce MX150] [10de:1d10] (rev ff)

I'm using debian testing and given the optimus technology I installed Bumblebee and mesa utils (I followed the official debian doc here):

sudo apt-get install bumblebee-nvidia primus

Running the glxgears -info command everything is ok, the window appears with the gears turning. But if instead I launch glxgears with optirun, nothing happens, no errors, and the window with gears does not open:

optirun --debug -vv glxgears -info
[  860.333401] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[  860.334195] [DEBUG]optirun version 3.2.1 starting...
[  860.334225] [DEBUG]Active configuration:
[  860.334232] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[  860.334239] [DEBUG] X display: :8
[  860.334246] [DEBUG] LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia
[  860.334254] [DEBUG] Socket path: /var/run/bumblebee.socket
[  860.334261] [DEBUG] Accel/display bridge: auto
[  860.334267] [DEBUG] VGL Compression: proxy
[  860.334278] [DEBUG] VGLrun extra options: 
[  860.334285] [DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus:/usr/lib/primus:/usr/lib32/primus
[  860.334383] [DEBUG]Using auto-detected bridge primus
[  861.162170] [INFO]Response: Yes. X is active.

[  861.162180] [INFO]Running application using primus.
[  861.162271] [DEBUG]Process glxgears started, PID 2639.
[  861.171160] [DEBUG]SIGCHILD received, but wait failed with No child processes
[  861.171175] [DEBUG]Socket closed.
[  861.171189] [DEBUG]Killing all remaining processes.

I do not think there are errors .... This is the optirun and bbswitch state:

$optirun --status                     
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.

$cat /proc/acpi/bbswitch           
0000:01:00.0 OFF

If I run something randomly with optirun, like Firefox and re run the above commands:

Shell 1:

optirun firefox

Shell 2:

$optirun --status        
Bumblebee status: Ready (3.2.1). X is PID 2908, 1 applications using bumblebeed.

$cat /proc/acpi/bbswitch 
0000:01:00.0 ON

it seems that with Firefox (a random thing) launched with optirun Bumblebee is active ...

Can I therefore deduce that it is a glxgears problem that does not appear, but is everything well configured? Or something is wrong?

Can you advise me some tests to do?

Thank you

UPDATE

I have installed virtualgl_2.6_amd64.deb but when I run optirun -vv glxgears I get this errore and the gears doen't appears

[ 4220.649891] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 4220.650600] [DEBUG]optirun version 3.2.1 starting...
[ 4220.650626] [DEBUG]Active configuration:
[ 4220.650633] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 4220.650639] [DEBUG] X display: :8
[ 4220.650645] [DEBUG] LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia
[ 4220.650652] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 4220.650658] [DEBUG] Accel/display bridge: auto
[ 4220.650664] [DEBUG] VGL Compression: proxy
[ 4220.650671] [DEBUG] VGLrun extra options: 
[ 4220.650677] [DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus:/usr/lib/primus:/usr/lib32/primus
[ 4220.650739] [DEBUG]Using auto-detected bridge virtualgl
[ 4221.474634] [INFO]Response: Yes. X is active.

[ 4221.474646] [INFO]Running application using virtualgl.
[ 4221.474746] [DEBUG]Process vglrun started, PID 5232.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  34
  Current serial number in output stream:  33
[ 4221.536105] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 4221.536121] [DEBUG]Socket closed.
[ 4221.536137] [DEBUG]Killing all remaining processes.

Do you have any ideas?

DeeDeeRanged commented 5 years ago

Have been using bumblebee since early 2014 when I got a Lenovo y50-70 with a GTX860m and now I have a Lenovo y520 with a GTX1050. Have always used testing (stretch/buster). Installed bumblebee always in the same manner. NOTE: I have a multiarch system and also play games with steam and wine-staging. sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install bumblebee-nvidia primus primus-libs:i386. Never used VirtaulGL as it is not in the official debian repositories bbswitch is imo the best option and probably why it is the Debian and Ubuntu repos. The Nvidia NON-GLVND drivers installed are: bumblebee-nvidia glx-alternative-nvidia libegl-nvidia0:amd64 libegl-nvidia0:i386 libegl1-nvidia:amd64 libegl1-nvidia:i386 libgl1-nvidia-glx:amd64 libgl1-nvidia-glx:i386 libglx-nvidia0:amd64 libglx-nvidia0:i386 libnvidia-compiler:amd64 libnvidia-eglcore:amd64 libnvidia-eglcore:i386 libnvidia-fatbinaryloader:amd64 libnvidia-fatbinaryloader:i386 libnvidia-glcore:amd64 libnvidia-glcore:i386 libnvidia-ml1:amd64 libnvidia-ptxjitcompiler1:amd64 libnvidia-ptxjitcompiler1:i386 nvidia-alternative nvidia-cuda-mps nvidia-driver nvidia-driver-bin nvidia-driver-libs-nonglvnd:amd64 nvidia-driver-libs-nonglvnd:i386 nvidia-driver-libs-nonglvnd-i386:i386 nvidia-installer-cleanup nvidia-kernel-common nvidia-kernel-dkms nvidia-kernel-support nvidia-legacy-check nvidia-modprobe nvidia-nonglvnd-vulkan-common nvidia-nonglvnd-vulkan-icd:amd64 nvidia-nonglvnd-vulkan-icd:i386 nvidia-opencl-common nvidia-opencl-icd:amd64 nvidia-settings nvidia-support nvidia-vdpau-driver:amd64 nvidia-vdpau-driver:i386 xserver-xorg-video-nvidia

and these mesa packages: glx-alternative-mesa libegl-mesa0:amd64 libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1-mesa-glx:amd64 libgl1-mesa-glx:i386 libglapi-mesa:amd64 libglapi-mesa:i386 libglu1-mesa:amd64 libglu1-mesa:i386 libglx-mesa0:amd64 libglx-mesa0:i386 mesa-utils

Make sure there is NO /etc/X11/xorg.conf. In /etc/bumblebee/bumblebee.conf I made the following changes: PMMethod=bbswitch LibraryPath=/usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia

In /etc/bumblebee/xorg.conf.nvidia you can try uncommenting the line with BusID "PCI:01:00:0", for Debian it should not be needed.

Install linux-headers-amd64 and build-essential if you haven't done so.

If everything is installed properly you can test it with optirun glxgears

Hope this helps

matiux commented 5 years ago

@Roesjka just this morning I have reinstalled all and I have follow the debian bumblebee installation procedure from scratch. And now optirun glxgears command works.

I don't have /etc/X11/xorg.conf file I have follow your suggestion and I have set PMMethod=bbswitch in /etc/bumblebee/bumblebee.conf. (I was not aware of this option, and prior to your suggestion it was set to auto).

Now I'm trying to understand if there is some option to optimize the fan. After 20-30 minutes of works the fan starts even if the CPU doesn't work. So I'm trying to know if is a GPU o CPU problem.

Do you have configure something about it?

DeeDeeRanged commented 5 years ago

There is a utility special for Dell notebooks, you can try it to see if it works. sudo apt-get install i8kutils Normally I use synaptic and use the terminal to install some specific packages. Started off with slackware in 1995, SuSE 6.0/6.1 in 1999, Ubuntu in 2006 and finally Debian since 2011. Last year I tried Manjaro but that distro is not reliable for gaming, at least not like Debian testing.