FS#47688 - [primus] nvidia 361.16-1 Breaks primus

Attached to Project: Community Packages
Opened by Nic (xenos) - Sunday, 10 January 2016, 07:58 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Saturday, 16 January 2016, 09:16 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: After upgrading to nvidia-361.16-1 / nvidia-utils-361.16-1 / lib32-nvidia-utils-361.16-1 using primus to run glxgears or glxgears64 produces the following error:

primus: fatal: failed to load any of the libraries: /usr/lib/nvidia/libGL.so.1:/usr/lib32/nvidia/libGL.so.1
libGLX.so.0: cannot open shared object file: No such file or directory

I have checked the system and libGLX.so.0 is present. Downgrading to 358.16-3 fixes the error.

Steps to reproduce:

Upgrade to nvidia-361.16-1 in testing, reboot and run primusrun glxgears. Running optirun glxgears works however.
This task depends upon

Closed by  Sven-Hendrik Haase (Svenstaro)
Saturday, 16 January 2016, 09:16 GMT
Reason for closing:  Fixed
Comment by Doug Newgard (Scimmia) - Sunday, 10 January 2016, 16:11 GMT
nvidia-libgl-361.16-1 included in that mix?

Edit, nevermind, I see we're talking bumblebee.
Comment by AnAkkk (AnAkkk) - Monday, 11 January 2016, 11:23 GMT
It's actually quite simple to fix, it's just a library path issue:

export LD_LIBRARY_PATH=/usr/lib/nvidia

Then it works fine.

I guess the packager simply needs to edit the default "primusrun" bash script, and uncomment and change the following line:

# PRIMUS_libGL=${PRIMUS_libGL}:/usr/lib/nvidia-current:/usr/lib32/nvidia-current

to

PRIMUS_libGL=${PRIMUS_libGL}:/usr/lib/nvidia:/usr/lib32/nvidia
Comment by Sven-Hendrik Haase (Svenstaro) - Wednesday, 13 January 2016, 19:19 GMT
Please test rel -3.
Comment by AnAkkk (AnAkkk) - Thursday, 14 January 2016, 20:14 GMT
Seems to work.
Comment by AnAkkk (AnAkkk) - Thursday, 14 January 2016, 21:28 GMT
I spoke too soon, it works for 64bit apps, but not 32bits one.

EDIT: You've put lib-32 instead of lib32 in the path.
Comment by Sven-Hendrik Haase (Svenstaro) - Friday, 15 January 2016, 01:37 GMT
Oh dear, fixed.
Comment by Nic (xenos) - Friday, 15 January 2016, 08:26 GMT
Thank you and sorry for the slow response, I've been afk. Tested 64 and 32 bit, all seems to work well now. Has anyone else noted that after you run optirun or primus that bbswitch fails to turn off their nvidia card and issuing # echo OFF > /proc/acpi/bbswitch doesn't work anymore?

Loading...