如果我单击“Steam”的桌面应用程序,则没有任何反应。
在终端中运行steam
会产生以下结果:
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1474415843)
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
有趣的是,如果我将 GPU 驱动程序更改为xorg
,它可以完美运行。
我该怎么做才能让它发挥作用?在最新的 Steam 更新(36 小时前)后它停止工作。
我尝试卸载 nvidia -sudo apt-get remove nvidia*
并重新安装驱动程序,但没有运气。
Ubuntu 16.04+ 对于仍然遇到相同错误的任何人,如果您使用的是 nvidia 驱动程序,有时您会看到 libGL.so.1 指向 mesa 和 nvidia 提供的模棱两可的 libGL。要对此进行测试,您可以运行此命令
输出类似于:
现在我只需要删除 mesa 提供的库,一切正常。
更新: Ubuntu 18.04 LTS 不再存在此问题。
在我的情况下,我必须安装 i386 NVIDIA 驱动程序。此后它起作用了。
祝你有美好的一天!
适用于 Linux (WSL) 的 Windows 子系统具有相同的错误
在 Windows 10 下的适用于 Linux 的 Windows 子系统 (WSL) 中,该文件
/usr/lib/i386-linux-gnu/mesa/libGL.so.1
不存在。相反,/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
似乎有文件替换它。但是,如果您删除替换文件,则该库根本不起作用。重命名库然后重命名解决问题
如果重命名文件,然后将其重命名,则错误会消失,并且运行速度会更快:
我验证了更改是持久的,即关闭 WSL 终端窗口并打开一个新窗口。
图书馆有什么用?
除了 Ubuntu 之外,该库还用于升级了对 WSL 的混合支持
yad
的lock-screen-timer bash 脚本。Yad 是其中的一个分支,Zenity
这就是为什么您在上面的第三条错误消息中看到类似 Zenity 的Gtk-Message:
参考。这是
yad
Ubuntu 中窗口的样子(在 WSL 中略有不同):根据steam-for-linux 问题,这可能是 nvidia 驱动程序问题。
就我而言,我通过安装了SuperTuxKart
flapak
,当我运行它时,我遇到了以下错误:我的解决方案是:
ubuntu-drivers devices
它已经
nvidia-driver-430
安装了。nvidia-driver-418
替换nvidia-driver-430
sudo apt install libnvidia-gl-418
提示缺少对 的依赖
libnvidia-compute-418
,先安装即可libnvidia-compute-418
。sudo apt install libnvidia-compute-418
然后
sudo apt install libnvidia-gl-418
然后我跑了 SuperTuxKart,它奏效了。
就我而言,问题是我启用了一些安装了 440 nvidia 驱动程序和工具的 CUDA apt 源。一旦我禁用它并安装了当时最新版本的 nvidia 驱动程序(435),它就会安装所有其他需要的东西并且错误消失了。
对我有用的解决方案:
Ubuntu 20.04:(
sudo apt install libnvidia-gl-440
没有
:i386
)WSL2 Windows 10:使用 -nowgl(和 -ac)运行 XServer:
"C:\Program Files\VcXsrv\vcxsrv.exe" :0 -multiwindow -clipboard -nowgl -ac
#see https://askubuntu.com/a/1394781/498339