Closed JeffLabonte closed 6 years ago
I found the solution, I need to add sudo eselect set 1
when I start nvidia-xrun and then sudo eselect set 2
once I am done!
@JeffLabonte I personally fixed this issue doing this step:
At start, create a file called /etc/ld.conf.d/99-nvidia.conf with:
/usr/lib/opengl/nvidia/lib
/usr/lib64/opengl/nvidia/lib
Then run env-update, and should work fine.
When everything is done, just remove that file.
To make a quick context, with this we are overriding Nvidia's libGL.so at ld.so, used by Steam.
@waltercool I have this problem too in Arch linux, I realize there is no eselect in arch (only gentoo)
So I want to ask about your solution walter, I don't have ld.conf.d directory, should I create it? how to do env-update?
but I can open steam fine if I open it without nvidia-xrun (with intel)
@asamsulfat It seems for Arch should be just adding the file into /etc/ld.so.conf.d/
, then remove ld.so.cache
and run ldconfig
to regenerate it.
At least I done those steps into my raspberry pi (which uses Arch), but those steps may mean nothing:
ld.so.cache
as ld.so.cache.backup
ldconfig
, a new ld.so.cache should be created.diff ld.so.cache ld.so.cache.backup
Can you try some of those steps? Also observe if /etc/ld.so.conf
has this line at start include ld.so.conf.d/*.conf
Steps to check if those works, could it be:
In case you obtain diff of ld.so.cache with ld.so.cache.backup, I would Google a bit, and rollback. Because my main machine uses Gentoo, any advice from myself may break your system.
PD: eselect is Gentoo's architectural tool, just like env-update.
Having the same issue, only the eselect opengl solution is working for me.
I'm a little uncomfortable with it though. I'm running nvidia-xrun on a separate VT, and can switch between nvidia and intel/kde sessions with ctrl+alt+f1/f7, so if I were to run something else while my gaming session is going on in the background, isn't there a risk of it trying to run on nVidia and failing?
Is there a more elegant way to make Steam use the correct libraries? Currently using this script, but this is a horrible method!
#!/bin/sh
if [ "$DISPLAY" != "" ]; then
echo Launching TWM + Steam
LANG=C twm &
steam
else
sudo eselect opengl set 1
(sleep 5 ; sudo eselect opengl set 2) &
nvidia-xrun $0
echo $0
fi
This is quite weird, in the script(nvidia-xinitrc) there is a hack for library path:
export LD_LIBRARY_PATH=/usr/lib64/nvidia/:/usr/lib32/nvidia:/usr/lib:${LD_LIBRARY_PATH}
If your paths differ then maybe you should change it. There is a support for custom xinitrc configs in
/etc/X11/xinit/nvidia-xinitrc.d/
directory or you could use the
userxinitrc=$HOME/.nvidia-xinitrc
Hope it helps!
The main problem about this, is Steam trying to load from ld.conf.so. Currently eselect opengl set nvidia
makes a line code inside /etc/ld.conf.so.d/ , so it could make your intel session to be unstable I guess.
Also, as soon Nvidia gets loaded, it gets messy to remove from PRIME_SYNCHRONIZATION of Mesa.
Did you guys solved that problem? For me, as long I load Nvidia module, it gets very hard to remove after that.
Description
I am unable to run steam while using nvidia-xrun with openbox on Gentoo. However
glxinfo
returns the right GPU, I can runglxgears
,and I am able to play some games, i.ealbion-online
.I am able to run steam when I use primusrun and also run games without any issues besides performance
Issue encountered
Once I execute the
steam
command, I am having aunable to load swrast.so drivers
and then a pop up menu that saysglXChooseVisual failed
.Additional infos
cat /etc/X11/nvidia-xorg.conf find /usr/ -name "*nvidia" find /usr/ -name "*xorg"