50 nvidia steam libraries nvidia-optimus bumblebee
在尝试运行各种软件(特别是 Steam 和 Yenka)时,我遇到了类似的错误: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
我正在运行 64 位系统,带有 NVidia Optimus 卡(我对某些需要专用显卡的仅 Windows 软件进行双重引导)。我安装了 bumblebee,我使用的是 nvidia-current 驱动程序,而不是按照推荐从 NVidia 下载的驱动程序。
库 (libGL.so.1) 不存在于 的顶级目录中/usr/lib
,但它/usr/lib32/nvidia-current
作为软链接存在于中/usr/lib32/nvidia-current/libGL.so.304.64
。
ldconfig -p 输出的一部分:
libGL.so.1 (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/libGL.so
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so
Run Code Online (Sandbox Code Playgroud)
显然正在加载具有该名称的库,但它们位于 中/usr/lib/x86_64-linux-gnu
,但是已安装的软件似乎无法“看到”它。对于 Steam,使用 optirun 运行它会使其工作,但对于 Yenka 则不是这种情况。我假设 optirun 会导致使用存储在的库/usr/lib32/nvidia-current
,这允许 Steam 运行,所以我无法理解为什么 Yenka 不会运行。
谁能解释为什么软件看不到普通的台面库,以及为什么 Yenka 拒绝使用 nvidia-current 库运行?
Qas*_*sim 52
安装Skype后我遇到了同样的问题......所以你可以做任何事情来解决这个错误..
第一个是通过以下命令运行应用程序......例如我正在运行Skype......
LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype
Run Code Online (Sandbox Code Playgroud)
第二,我所做的
sudo nano /etc/ld.so.conf.d/skype.conf
Run Code Online (Sandbox Code Playgroud)
并在其中添加以下行
/usr/lib/i386-linux-gnu/mesa/
Run Code Online (Sandbox Code Playgroud)
保存并退出
最后运行
sudo ldconfig -v
Run Code Online (Sandbox Code Playgroud)
我希望这会像我一样修复你的libGL.so.1错误
你也可以找到 libGL.so.1
find / -name libGL.so.1
Run Code Online (Sandbox Code Playgroud)
小智 39
安装了 nvidia 驱动程序后,Skype 正在寻找 nvidia 包提供的 i386 库。既然不存在,那么使用mesa提供的i386 libGL.so.1就可以了。
在 (ubuntu-gnome raring,使用 nvidia-325) 和 (ubuntu-gnome saucy,使用 nvidia-319) 上进行测试,我们能够通过以下方式解决这个问题:
update-alternatives --display i386-linux-gnu_gl_conf
Run Code Online (Sandbox Code Playgroud)
这将向您显示可用的选项。
i386-linux-gnu_gl_conf - auto mode
link currently points to /usr/lib/nvidia-325/alt_ld.so.conf
/usr/lib/i386-linux-gnu/mesa/ld.so.conf - priority 500
slave i386-linux-gnu_xorg_extra_modules: /usr/lib/i386-linux-gnu/xorg/x11-extra-modules
/usr/lib/nvidia-325/alt_ld.so.conf - priority 8602
Current 'best' version is '/usr/lib/nvidia-325/alt_ld.so.conf'
Run Code Online (Sandbox Code Playgroud)
因此,请执行以下操作:
sudo update-alternatives --config i386-linux-gnu_gl_conf
Run Code Online (Sandbox Code Playgroud)
然后选择最佳替代方案(我选择了 i386-linux-gnu/mesa/ld.so.conf):在下面的输出中,替代方案 i386-linux-gnu_gl_conf 有两个选择(提供 /etc/ld.so.conf.conf )。 d/i386-linux-gnu_GL.conf)。
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/nvidia-325/alt_ld.so.conf 8602 auto mode
1 /usr/lib/i386-linux-gnu/mesa/ld.so.conf 500 manual mode
2 /usr/lib/nvidia-325/alt_ld.so.conf 8602 manual mode
Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/i386-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode
Run Code Online (Sandbox Code Playgroud)
完成后,尝试运行:
sudo ldconfig
Run Code Online (Sandbox Code Playgroud)
然后你就完成了。
Jon*_*nna 12
此处的修复将起作用,但有一个更简单的修复。
如果skype
不起作用但optirun skype
确实有效,那么您可以使用以下方法修复它:
sudo apt-get install bumblebee-nvidia --reinstall
Run Code Online (Sandbox Code Playgroud)
(使用带有 AMD 卡的 Bumblebee 的人可能需要进行等效的重新安装)。
Bumblebee 会导致并修复此问题,但它应用的修复发生在安装时,当它使 libGL 库可用于集成卡以及更强大的卡时。如果在安装 Bumblebee 时尚未安装这些库,则不会发生这种情况,因此需要重新安装。它也不应该影响您的大黄蜂配置,尽管在您完成此操作后显然值得检查。
归档时间: |
|
查看次数: |
104094 次 |
最近记录: |