FS#48123 - [bumblebee] libs are present in mesa-libgl

Attached to Project: Community Packages
Opened by Tomasz Przybył (FadeMind) - Wednesday, 10 February 2016, 19:30 GMT
Last edited by Felix Yan (felixonmars) - Thursday, 11 February 2016, 14:07 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Felix Yan (felixonmars)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 10
Private No

Details

nvidia-utils-361.28-2 need libglvnd 0.0.0.20160210-1 for working but libglvnd conflict with mesa-libgl.

NVIDIA Optimus users have installed mesa-libgl for providing libGL libs for Intel GPU:

[tomasz@arch ~]$ export LANG=C
[tomasz@arch ~]$ yaourt libglvnd
1 extra/libglvnd 0.0.0.20160210-1
The GL Vendor-Neutral Dispatch library
2 multilib/lib32-libglvnd 0.0.0.20160210-1
The GL Vendor-Neutral Dispatch library
==> Enter n° of packages to be installed (ex: 1 2 3 or 1-3)
==> --------------------------------------------------------
==> 1-2

resolving dependencies...
looking for conflicting packages...

Packages (2) lib32-libglvnd-0.0.0.20160210-1 libglvnd-0.0.0.20160210-1

Total Installed Size: 2.83 MiB

:: Proceed with installation? [Y/n]
(2/2) checking keys in keyring [################################################] 100%
(2/2) checking package integrity [################################################] 100%
(2/2) loading package files [################################################] 100%
(2/2) checking for file conflicts [################################################] 100%
error: failed to commit transaction (conflicting files)
libglvnd: /usr/lib/libGL.so exists in filesystem
libglvnd: /usr/lib/libGL.so.1 exists in filesystem
libglvnd: /usr/lib/libGLESv1_CM.so exists in filesystem
libglvnd: /usr/lib/libGLESv1_CM.so.1 exists in filesystem
libglvnd: /usr/lib/libGLESv2.so exists in filesystem
libglvnd: /usr/lib/libGLESv2.so.2 exists in filesystem
libglvnd: /usr/lib/libGLESv2.so.2.0.0 exists in filesystem
lib32-libglvnd: /usr/lib32/libGL.so exists in filesystem
lib32-libglvnd: /usr/lib32/libGL.so.1 exists in filesystem
lib32-libglvnd: /usr/lib32/libGLESv1_CM.so exists in filesystem
lib32-libglvnd: /usr/lib32/libGLESv1_CM.so.1 exists in filesystem
lib32-libglvnd: /usr/lib32/libGLESv2.so exists in filesystem
lib32-libglvnd: /usr/lib32/libGLESv2.so.2 exists in filesystem
lib32-libglvnd: /usr/lib32/libGLESv2.so.2.0.0 exists in filesystem
Errors occurred, no packages were upgraded.


Downgrade nvidia-utils temporary solve issue and NVIDIA gpu working:
http://i.imgur.com/8HNiDih.png
This task depends upon

Closed by  Felix Yan (felixonmars)
Thursday, 11 February 2016, 14:07 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed with latest {lib32-,}nvidia-utils, {lib32-,}libglvnd
Comment by Doug Newgard (Scimmia) - Wednesday, 10 February 2016, 19:39 GMT
Bumblebee provides nvidia-libgl, so libglvnd should not be being pulled in.
Comment by Tomasz Przybył (FadeMind) - Wednesday, 10 February 2016, 19:49 GMT
But with bumbebee and lastest nvidia-utils I have:
$ export LANG=C
$ optirun nvidia-settings -c :8

ERROR: libGLdispatch.so.0: cannot open shared object file: No such file or directory
libGLdispatch.so.0: cannot open shared object file: No such file or directory
libGLdispatch.so.0: cannot open shared object file: No such file or directory
libGLdispatch.so.0: cannot open shared object file: No such file or directory


ERROR: A problem occured when loading the GUI library. Please check your installation and library path. You may need to specify this
library when calling nvidia-settings. Please run `nvidia-settings --help` for usage information.

$ optirun glxinfo|grep Open
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: 30
Current serial number in output stream: 29



Comment by Tomasz Przybył (FadeMind) - Wednesday, 10 February 2016, 19:53 GMT
/del this comment/
Comment by Tomasz Przybył (FadeMind) - Wednesday, 10 February 2016, 19:58 GMT
[tomasz@arch ~]$ primusrun glxgears
primus: fatal: failed to load any of the libraries: /usr/lib/nvidia/libGL.so.1:/usr/lib32/nvidia/libGL.so.1
/usr/lib/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib32/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
[tomasz@arch ~]$
Comment by Tomasz Przybył (FadeMind) - Wednesday, 10 February 2016, 20:00 GMT
AFter purge and clean install nvidia-utils I have clear situation:

libGLdispatch.so.0 is not present at all in nvidia-utils rev 2

[tomasz@arch ~]$ pacman -Ql nvidia-utils |grep libGL
nvidia-utils /usr/lib/libGLESv1_CM_nvidia.so
nvidia-utils /usr/lib/libGLESv1_CM_nvidia.so.1
nvidia-utils /usr/lib/libGLESv1_CM_nvidia.so.361.28
nvidia-utils /usr/lib/libGLESv2_nvidia.so
nvidia-utils /usr/lib/libGLESv2_nvidia.so.2
nvidia-utils /usr/lib/libGLESv2_nvidia.so.361.28
nvidia-utils /usr/lib/libGLX_indirect.so.0
nvidia-utils /usr/lib/libGLX_nvidia.so
nvidia-utils /usr/lib/libGLX_nvidia.so.0
nvidia-utils /usr/lib/libGLX_nvidia.so.361.28
[tomasz@arch ~]$ primusrun nvidia-settings -c :8

ERROR: libGLdispatch.so.0: cannot open shared object file: No such file or directory
libGLdispatch.so.0: cannot open shared object file: No such file or directory
libGLdispatch.so.0: cannot open shared object file: No such file or directory
libGLdispatch.so.0: cannot open shared object file: No such file or directory


ERROR: A problem occured when loading the GUI library. Please check your installation and library path. You may need to specify this
library when calling nvidia-settings. Please run `nvidia-settings --help` for usage information.

[tomasz@arch ~]$ pacman -Ql nvidia-utils |grep libGLdispatch.so.0
[tomasz@arch ~]$

and in this commit all is clear:

https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/nvidia-utils&id=1b78b323a62edaf1a033b9a7255b793dce0132bf

nvidia for working need libGLdispatch.so.0

rev 2 removed them (with other openGL libs)
Comment by Nikolay Shadrin (iceheart) - Wednesday, 10 February 2016, 21:01 GMT
I can confirm that nvidia-utils 361.28-2 breaks bumblebee installation that was working fine before, with the error message being like:

[wildhoney@falcon ~]$ optirun glxgears
primus: fatal: failed to load any of the libraries: /usr/lib/nvidia/libGL.so.1:/usr/lib32/nvidia/libGL.so.1
/usr/lib/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib32/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
Comment by Tomasz Przybył (FadeMind) - Wednesday, 10 February 2016, 21:38 GMT
/del
Comment by Tomasz Przybył (FadeMind) - Wednesday, 10 February 2016, 22:02 GMT
/del
Comment by Nikolay Shadrin (iceheart) - Wednesday, 10 February 2016, 22:17 GMT
"swrast"-related errors seem to be related to virtualgl backend. When running with primus backend, i.e. optirun -b primus nvidia-settings, it should work as expected, and given the fact that primus backend is the preferred option, it shouldn't be a show-stopper for now.

Tomasz, can you confirm that nvidia-settings works normally when primus backend is selected as the default?
Comment by Arthur Flôr (arthurflor23) - Thursday, 11 February 2016, 00:13 GMT
Same trouble here and running with primus backend also it didn't work.
Comment by Alessio (spidernet) - Thursday, 11 February 2016, 07:47 GMT
@iceheart optirun -b primus nvidia-settings doesn't work (ERROR: libGLdispatch.so.0: cannot open shared object file: No such file or directory)
Comment by Tomasz Przybył (FadeMind) - Thursday, 11 February 2016, 08:34 GMT
@Nikolay
NVIDIA Settings launching fine, but with error about missing libGL, so nope.
In both scenario (primusrun an optirun) is the same.
Comment by AnAkkk (AnAkkk) - Thursday, 11 February 2016, 09:13 GMT
I also have an optimus setup with bumblebee.
With nvidia-utils 361.28-1, I can't launch Steam games but glxgears work.
With nvidia-utils 361.28-3, I can't launch anything at all since the nvidia package removed the libs in /usr/lib/nvidia.

nvidia-utils-beta/lib32-nvidia-utils-beta from the AUR works fine though.
Comment by Tomasz Przybył (FadeMind) - Thursday, 11 February 2016, 11:28 GMT
After install nvidia-utils 361.28-3 and previous -2 I have:

[tomasz@arch ~]$ optirun glxgears
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: 30
Current serial number in output stream: 29
[tomasz@arch ~]$
Comment by Felix Yan (felixonmars) - Thursday, 11 February 2016, 11:56 GMT
Please try again with nvidia-utils 361.28-4.
Comment by Alessio (spidernet) - Thursday, 11 February 2016, 12:25 GMT
@Felix it's working for me.

Things I tried:
- primusrun / optirun gxlgears
- primusrun / optirun glxspheres64
- primusrun / optirun nvidia-settings

Edit:
Tried playing some games: Shadow of Mordor, Killing Floor, Fisftul of Frags. Only shadow of mordor works.
Comment by AnAkkk (AnAkkk) - Thursday, 11 February 2016, 12:34 GMT
This doesn't work with 32bit apps though. I guess lib32-nvidia-utils needs updating as well?
Comment by Alessio (spidernet) - Thursday, 11 February 2016, 12:37 GMT
@AnAkkk I've tested some games and only one seem to work. Hopefully lib32-nvidia-utils will fix it.
Comment by Tomasz Przybył (FadeMind) - Thursday, 11 February 2016, 12:58 GMT
64bit version working as expected.
32bit version does not working.

I confirm:

[tomasz@arch ~]$ optirun glxinfo32 |grep OpenGL
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: 30
Current serial number in output stream: 29

[tomasz@arch ~]$ optirun glxinfo |grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 630M/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 361.28
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.0 NVIDIA 361.28
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
Comment by Tomasz Przybył (FadeMind) - Thursday, 11 February 2016, 13:06 GMT
Install lib32-libglvnd solve issue.

[tomasz@arch ~]$ optirun glxinfo32 |grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 630M/PCIe/SSE2
OpenGL core profile version string: 4.4.0 NVIDIA 361.28
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.0 NVIDIA 361.28
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
[tomasz@arch ~]$
Comment by Alessio (spidernet) - Thursday, 11 February 2016, 13:12 GMT
When installing lib32-libglvnd I get:

lib32-libglvnd: /usr/lib32/libGL.so already present in filesystem
lib32-libglvnd: /usr/lib32/libGL.so.1 already present in filesystem
lib32-libglvnd: /usr/lib32/libGLESv1_CM.so already present in filesystem
lib32-libglvnd: /usr/lib32/libGLESv1_CM.so.1 already present in filesystem
lib32-libglvnd: /usr/lib32/libGLESv2.so already present in filesystem
lib32-libglvnd: /usr/lib32/libGLESv2.so.2 already present in filesystem
lib32-libglvnd: /usr/lib32/libGLESv2.so.2.0.0 already present in filesystem
Comment by Felix Yan (felixonmars) - Thursday, 11 February 2016, 13:13 GMT
lib32-nvidia-utils-361.28-3 uploaded, please try again.
Comment by Alessio (spidernet) - Thursday, 11 February 2016, 13:21 GMT
@Felix, seems to be working now. Although source games are giving me this error:

http://i.imgur.com/k0FVjCG.png
Comment by AnAkkk (AnAkkk) - Thursday, 11 February 2016, 13:50 GMT
Games work when setting __GLVND_DISALLOW_PATCHING=1
Comment by Alessio (spidernet) - Thursday, 11 February 2016, 13:56 GMT
Thanks!

Loading...