pus*_*pop 51 updates nvidia opengl drivers
编译SFML项目时出现问题(看不到任何图形):
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Run Code Online (Sandbox Code Playgroud)
通过本教程简单地重新安装 nvidia-drivers 即可解决此错误:https : //askubuntu.com/a/451248/341889
..但是当我得到新的更新时 - 这个错误又回来了;(我该怎么办?这不是解决方案 - 不使用系统更新......
PS,是的,我在安装 nvidia 驱动程序后保存了所有更改
dem*_*hog 33
该swrast
事情是软件渲染器。这意味着它没有为您的显卡找到硬件驱动程序。安装了一堆 libGL 库和一堆指向这些库的符号链接。要查看这些,请从 shell 运行它:
find /usr -iname "*libGL.so*" -exec ls -l -- {} +
Run Code Online (Sandbox Code Playgroud)
现在问题的可能原因是安装图形驱动程序有时会破坏这些符号链接。(具体来说/usr/local/lib/libGL.so.1.2.0
很可能是错误的 lib 或错误链接的符号链接)(注意我不久前写了这个。libGL.so.1.2.0 是当前的 gl 版本,现在可能是其他版本)。
要确定 OpenGL 程序尝试运行的库,您可以打开一些详细信息并运行一个简单的 OpenGL 程序。您可以使用标准的 OpenGL 测试程序来验证这一点:
LIBGL_DEBUG=verbose glxgears
Run Code Online (Sandbox Code Playgroud)
希望这会以与 SFML 相同的方式失败。有了LIBGL_DEBUG
它应该告诉你什么OpenGL库它试图加载。此外,它将尝试加载的库几乎肯定是/usr/local/lib/libGL.so.1.2.0
(编辑:这是我回答这个问题时我机器上的标准 OpenGL 库。现在很可能是你机器上的其他版本)。
所以解决方案(在这种情况下)是确保这/usr/local/lib/libGL.so.1.2.0
是一个指向正确 OpenGL 库的符号链接。就我而言,我有 Nvidia 3.40 驱动程序,所以我运行:
ln -s /usr/lib/nvidia-340/libGL.so.1 /usr/local/lib/libGL.so.1.2.0
Run Code Online (Sandbox Code Playgroud)
但是您需要将其指向适合您的 OpenGL 库(在第一个 find 命令中列出)。
总之:安装(专有)图形驱动程序可以破坏用于 OpenGL 库的符号链接。要解决此问题,请手动修复符号链接(/usr/local/lib/libGL.so.1.2.0
先修复)。
小智 9
在 ubuntu 18 上遇到同样的问题。这基本上只发生在 32 位应用程序上。所以我的想法是安装 32 位 nvidia 的东西,因为我的 /usr/lib/i386-linux-gnu/ 文件夹可疑地是空的。
经过很少的尝试,这解决了我的蒸汽和葡萄酒无法启动的问题:
sudo apt install libnvidia-gl-418:i386
Run Code Online (Sandbox Code Playgroud)
(并将 418 更改为您拥有的任何版本)
有趣的是,应用程序在安装过程中没有抱怨缺少依赖项。
我在获取正确的符号链接以指向 nVidia 驱动程序时遇到问题,我找到了另一种适合我的方法。
此处概述。
它列出了如何通过 PPA 安装 nVidia 驱动程序,该驱动程序适用于最新版本 349.16。
首先卸载目前通过打开一个终端窗口安装的任何NVIDIA驱动(Ctrl+ ALT+ T)和打字
sudo apt-get remove nvidia*
Run Code Online (Sandbox Code Playgroud)
重新启动系统
然后打开另一个终端并输入以下内容
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install nvidia-349 nvidia-settings
sudo add-apt-repository -r ppa:xorg-edgers/ppa
Run Code Online (Sandbox Code Playgroud)
然后再次重启
我在迷失符号链接后尝试了它,并且在安装驱动程序后蒸汽立即运行良好,并且在我有 400 多兆的系统更新后它仍然可以正常工作。
我在 Ubuntu 16.10 的nvidia-340
驱动程序上遇到了同样的问题,这里没有一个解决方案对我有用。
原来 32 位库不在库路径上。
这一个班轮为我工作:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib32/nvidia-340"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
217252 次 |
最近记录: |