amonakov / primus

Low-overhead client-side GPU offloading
ISC License
216 stars 20 forks source link

Primus not working with latest nvidia drivers. #196

Open Quardah opened 7 years ago

Quardah commented 7 years ago

Hi.

Since last update with nvidia drivers (March 18 2017) primusrun does not work.

EDIT : actuall i think it's related to nvidia-utils package : https://www.archlinux.org/packages/extra/i686/nvidia-utils/

EDIT2 : Since nvidia-utils 378.13-4, the symlinks were removed : https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/nvidia-utils&id=f81fc03b2f85f4f0c8a0e1fa7833c4a0fb8b9653

Here is the error:

[jape@T540p nvidia]$ 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
[jape@T540p nvidia]$ ls -alF
total 184
drwxr-xr-x   3 root root   4096 Mar 12 11:58 ./
drwxr-xr-x 239 root root 176128 Mar 20 21:55 ../
drwxr-xr-x   2 root root   4096 Mar 12 11:58 xorg/
[jape@T540p nvidia]$ cd xorg/
[jape@T540p xorg]$ ls -alF
total 12768
drwxr-xr-x 2 root root     4096 Mar 12 11:58 ./
drwxr-xr-x 3 root root     4096 Mar 12 11:58 ../
lrwxrwxrwx 1 root root       16 Feb 27 08:10 libglx.so -> libglx.so.378.13*
lrwxrwxrwx 1 root root       16 Feb 27 08:10 libglx.so.1 -> libglx.so.378.13*
-rwxr-xr-x 1 root root 13065384 Feb 27 08:10 libglx.so.378.13*
[jape@T540p xorg]$ 

It might just be a path issue. My guess.

Thanks! JPBD.

ArchangeGabriel commented 7 years ago

Hum… You’re wrong about the cause, and nvidia-libgl should never have been installed on an Optimus/Bumblebee system.

What happened is that we switched to libglvnd in ArchLinux, but normally fixes should have been made for primus to work (see https://git.archlinux.org/svntogit/community.git/commit/trunk?h=packages/primus&id=d4eb4468545983a1e5658998345a1c73debdf07d). Can you confirm you have the latest primus?

Quardah commented 7 years ago

First, thank you for the quick response.

Second, yes i have the latest primus installed? (Most probably)

[jape@T540p ~]$ pacman -Qe | grep primus
lib32-primus 20151110-3
primus 20151110-7

I managed to fix the problem doing the following :

# cp /usr/lib/libGL.so.1 /usr/lib/nvidia/
# cp /usr/lib32/libGL.so.1 /usr/lib32/nvidia/

I simply copied the missing file into the directories, now it works as usual.

Just a little mistake i guess, glad we found that quick 👍 💯