Bug#879030: 375.82-5: glxgears segmentation fault in glXCreateContext
Vincas Dargis
vindrg at gmail.com
Sun Nov 12 15:21:43 UTC 2017
OK so I've seen that there were some nvidia ang GL-related upgrades for my Testing machine, so I have attempted to retry
by reinstalling related packages.
First I've purged:
```
sudo apt purge --autoremove bumblebee primus primus-libs nvidia-*
```
After reboot:
```
glxgears -info
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
GL_RENDERER = Mesa DRI Intel(R) Haswell Mobile
GL_VERSION = 3.0 Mesa 17.2.4
GL_VENDOR = Intel Open Source Technology Center
```
No longer SGI graphics, it's Intel, at least as expected by myself.
Then, I have installed as Debian wiki suggest [0] (including i386 libs):
```
sudo apt install bumblebee-nvidia primus primus-libs:i386
```
After reboot, it's SGI, not Intel by default?
```
$ glxinfo | head
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
```
Anyway, I still get crash with optirun:
```
$ optirun -vv glxgears -info
[ 172.468974] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 172.469591] [DEBUG]optirun version 3.2.1 starting...
[ 172.469616] [DEBUG]Active configuration:
[ 172.469621] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 172.469627] [DEBUG] X display: :8
[ 172.469632] [DEBUG] LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia
[ 172.469638] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 172.469647] [DEBUG] Accel/display bridge: auto
[ 172.469658] [DEBUG] VGL Compression: proxy
[ 172.469667] [DEBUG] VGLrun extra options:
[ 172.469675] [DEBUG] Primus LD Path:
/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus:/usr/lib/primus:/usr/lib32/primus
[ 172.482865] [DEBUG]Using auto-detected bridge primus
[ 174.101149] [INFO]Response: Yes. X is active.
[ 174.101162] [INFO]Running application using primus.
[ 174.101253] [DEBUG]Process glxgears started, PID 4082.
primus: fatal: failed to load any of the libraries:
/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: cannot open shared object file: No such file or directory
/usr/lib/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
[ 174.153424] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 174.153441] [DEBUG]Socket closed.
[ 174.153452] [DEBUG]Killing all remaining processes.
```
```
$ sudo journalctl -u bumblebeed
-- Logs begin at Sun 2017-11-12 17:00:08 EET, end at Sun 2017-11-12 17:04:21 EET. --
Lap 12 17:00:18 vinco systemd[1]: Started Bumblebee C Daemon.
Lap 12 17:00:20 vinco bumblebeed[794]: [ 16.709738] [INFO]/usr/sbin/bumblebeed 3.2.1 started
Lap 12 17:02:57 vinco bumblebeed[794]: [ 174.101004] [WARN][XORG] (WW) Warning, couldn't open module mouse
Lap 12 17:02:57 vinco bumblebeed[794]: [ 174.101019] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not
exist, 0)
Lap 12 17:02:57 vinco bumblebeed[794]: [ 174.101027] [WARN][XORG] (WW) NVIDIA(0): Unable to get display device for DPI
computation.
Lap 12 17:02:57 vinco bumblebeed[794]: [ 174.101031] [WARN][XORG] (WW) Warning, couldn't open module mouse
Lap 12 17:02:57 vinco bumblebeed[794]: [ 174.101034] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not
exist, 0)
Lap 12 17:02:57 vinco bumblebeed[794]: [ 174.101037] [ERROR][XORG] (EE) PreInit returned 2 for "<default pointer>"
Lap 12 17:02:57 vinco bumblebeed[794]: [ 174.101041] [ERROR][XORG] (EE) PreInit returned 2 for "<default keyboard>"
```
If crash is due to `/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1: cannot open shared object file`, then it feels like
there is missing some sort of symlink? I see lot's of dll's inside `current` sub directory. Thought it's only EGL and
GLX, but no GL?
```
$ tree /usr/lib/x86_64-linux-gnu/nvidia/
/usr/lib/x86_64-linux-gnu/nvidia/
└── current
├── libEGL_nvidia.so.0 -> libEGL_nvidia.so.375.82
├── libEGL_nvidia.so.375.82
├── libGLX_indirect.so.0 -> libGLX_nvidia.so.375.82
├── libGLX_nvidia.so.0 -> libGLX_nvidia.so.375.82
├── libGLX_nvidia.so.375.82
├── libnvidia-ml.so -> libnvidia-ml.so.1
├── libnvidia-ml.so.1 -> libnvidia-ml.so.375.82
├── libnvidia-ml.so.375.82
├── libvdpau_nvidia.so.1 -> libvdpau_nvidia.so.375.82
└── libvdpau_nvidia.so.375.82
```
What could be possible cause for that missing `/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1` ?
[0] https://wiki.debian.org/Bumblebee#From_repository
More information about the pkg-nvidia-devel
mailing list