From f2099bdc0e1fc43e4d1e6e9777026d83bce9109e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 16 Aug 2016 16:48:43 +0100 Subject: make optimus detection more robust --- app-emulation/steam/files/kogaion-steam | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'app-emulation/steam') diff --git a/app-emulation/steam/files/kogaion-steam b/app-emulation/steam/files/kogaion-steam index f9d5c2aa..638bb484 100755 --- a/app-emulation/steam/files/kogaion-steam +++ b/app-emulation/steam/files/kogaion-steam @@ -18,13 +18,23 @@ remove_some_bundled_libs () { preload_some_system_libs () { export LD_PRELOAD='/usr/lib32/gcc/x86_64-pc-linux-gnu/4.9.3/32/libstdc++.so.6 /usr/lib32/gcc/x86_64-pc-linux-gnu/4.9.3/32/libgcc_s.so.1 /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1 /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/32/libstdc++.so.6' - if [[ "$(lsmod|grep nvidia)" ]] ; then - if [[ "$(lsmod|grep bbswitch)" ]] ; then - echo "" - else - export LD_LIBRARY_PATH='$LD_LIBRARY_PATH:/usr/lib32/opengl/nvidia/lib:/usr/lib64/opengl/nvidia/lib' - export __GLVND_DISALLOW_PATCHING=1 - fi + # steam must be told where nvidia opengl libs live on gentoo systems + # but this will break optimus, so check if we detect bbswitch in here + # if we do, we do not preload nvidia opengl, as it will break steam + if [[ "$(lsmod|grep nvidia)" && "$(lsmod|grep bbswitch)" ]] ; then + echo "" + echo "nvidia optimus detected, we will not preload nvidia libs" + echo "" + elif [[ "$(lsmod|grep nvidia)" && ! "$(lsmod|grep bbswitch)" ]] ; then + echo "" + echo "nvidia optimus not detected, we will preload nvidia libs" + echo "" + export LD_LIBRARY_PATH='$LD_LIBRARY_PATH:/usr/lib32/opengl/nvidia/lib:/usr/lib64/opengl/nvidia/lib' + export __GLVND_DISALLOW_PATCHING=1 + else + echo "" + echo "no nvidia card detected, moving on" + echo "" fi } -- cgit v1.2.3