Steam:libGL 错误:找不到匹配的 fbConfigs 或视觉效果 libGL 错误:无法加载驱动程序:swrast

cbl*_*bll 64 nvidia steam drivers

如果我单击“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
Run Code Online (Sandbox Code Playgroud)

有趣的是,如果我将 GPU 驱动程序更改为xorg,它可以完美运行。

我该怎么做才能让它发挥作用?它在最新的 Steam 更新(36 小时前)后停止工作。

我尝试卸载 nvidia -sudo apt-get remove nvidia*并重新安装驱动程序,但没有成功。

Zob*_*san 65

Ubuntu 16.04+ 对于仍然遇到相同错误的任何人,如果您使用的是 nvidia 驱动程序,有时您会看到 libGL.so.1 指向 mesa 和 nvidia 提供的不明确的 libGL。要对此进行测试,您可以运行此命令

$ sudo ldconfig -p | grep -i gl.so
Run Code Online (Sandbox Code Playgroud)

输出类似于:

    libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
    libftgl.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libftgl.so.2
    libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
    libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
    libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
    libQtOpenGL.so.4 (libc6) => /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
    libOpenGL.so.0 (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so.0
    libOpenGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so
    libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
    libGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so
    libGL.so (libc6) => /usr/lib32/nvidia-378/libGL.so
    libEGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so.1
    libEGL.so.1 (libc6) => /usr/lib32/nvidia-378/libEGL.so.1
    libEGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so
    libEGL.so (libc6) => /usr/lib32/nvidia-378/libEGL.so
Run Code Online (Sandbox Code Playgroud)

现在我只需要删除 mesa 提供的库,一切正常。

$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1
Run Code Online (Sandbox Code Playgroud)

更新: Ubuntu 18.04 LTS 不再存在此问题。

  • 伙计,你应该得到一块大饼干。 (15认同)
  • 将 Linux Mint 从 18 更新到 19 后,我遇到了这个问题。我不得不删除 /usr/lib/i386-linux-gnu/libGL.so.1 谢谢Zobayer Hasan 的帮助! (6认同)
  • 此问题在 18.10 上仍然存在 (5认同)
  • 在 debian 9 上,我删除了这个并工作,但没有提到“mesa”,但是,“dpkg -S libGL.so.1”给出了你应该删除哪个的提示。所以: rm /usr/lib/i386-linux-gnu/libGL.so.1 并享受你的 cookie :) (4认同)
  • 此问题在 19.10 `sudo rm -rf /lib/x86_64-linux-gnu/libGL.so.1` 上仍然存在,修复它 (2认同)

小智 25

在我的情况下,我必须安装 i386 NVIDIA 驱动程序。此后它起作用了。

sudo apt 安装 libnvidia-gl-440:i386

祝你有美好的一天!

  • 多谢兄弟!这在 Ubuntu 20.04 中对我有用。 (3认同)
  • 它说`Depends: libnvidia-gl-450:i386`,但是安装`libnvidia-gl-450:i386`可能会删除`cuda-10-1 cuda-demo-suite-10-1 cuda-drivers cuda-drivers- 450 cuda-runtime-10-1 libnvidia-gl-450 libnvidia-ifr1-450 nvidia-driver-450` 但我需要 cuda 10.1。由于我日常使用的许多库都不支持 Cuda 11 和 Cuda 10.2。想用steam和Cuda。 (3认同)
  • 我只用`sudo apt install libnvidia-gl-440`就可以逃脱了 (2认同)

Win*_*nix 13

Windows Subsystem for Linux (WSL) 有同样的错误

在 Windows 10 下的适用于 Linux 的 Windows 子系统 (WSL) 中,该文件/usr/lib/i386-linux-gnu/mesa/libGL.so.1不存在。相反,文件/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1似乎取代了它。但是,如果您删除替换文件,则库根本不起作用。

重命名库然后重命名解决问题

如果您重命名文件,然后将其重命名,错误就会消失,并且运行速度会快得多:

???????????????????????????????????????????????????????????????????????????????
rick@alien:/mnt/e/etc$ lock-screen-timer
Linux version 4.4.0-43-Microsoft (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) #1-Microsoft Wed Dec 31 14:42:53 PST 2014
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
???????????????????????????????????????????????????????????????????????????????
rick@alien:/mnt/e/etc$ sudo ldconfig -p | grep -i gl.so
        libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
        libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
        libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
        libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
        libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1
???????????????????????????????????????????????????????????????????????????????
rick@alien:/mnt/e/etc$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1
rm: cannot remove '/usr/lib/i386-linux-gnu/mesa/libGL.so.1': No such file or directory
???????????????????????????????????????????????????????????????????????????????
rick@alien:/mnt/e/etc$ sudo mv /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.ORIGINAL
???????????????????????????????????????????????????????????????????????????????
rick@alien:/mnt/e/etc$ lock-screen-timer
Linux version 4.4.0-43-Microsoft (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) #1-Microsoft Wed Dec 31 14:42:53 PST 2014
/usr/bin/zenity: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
???????????????????????????????????????????????????????????????????????????????
rick@alien:/mnt/e/etc$ sudo mv /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.ORIGINAL /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
???????????????????????????????????????????????????????????????????????????????
rick@alien:/mnt/e/etc$ lock-screen-timer
Linux version 4.4.0-43-Microsoft (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) #1-Microsoft Wed Dec 31 14:42:53 PST 2014
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
???????????????????????????????????????????????????????????????????????????????
rick@alien:/mnt/e/etc$
Run Code Online (Sandbox Code Playgroud)

我验证了更改是持久的,即关闭 WSL 终端窗口并打开一个新窗口。

图书馆有什么用?

除了 Ubuntu 之外,该库还被用于升级为 WSL 的混合支持yadlock-screen-timer bash 脚本。Yad 是其中的一个分支,Zenity这就是为什么您会Gtk-Message:在上面的第三条错误消息中看到类似 Zenity 的参考。

这是yad窗口在 Ubuntu 中的样子(在 WSL 中略有不同):

锁屏定时器

  • 这对我不起作用 - 虽然我没有使用锁屏计时器 (3认同)

小智 5

根据steam-for-linux 问题,这可能是 nvidia 驱动程序问题

就我而言,我通过安装了SuperTuxKartflapak,当我运行它时,我遇到了以下错误:

..:: Antarctica Rendering Engine 2.0 ::..
Linux 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Run Code Online (Sandbox Code Playgroud)

我的解决办法是:

  1. 检查我系统上的 nvidia 驱动程序

ubuntu-drivers devices

它已经nvidia-driver-430安装了。

  1. 根据steam-for-linux issue问题,安装 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

  1. 重启系统。

然后我跑了 SuperTuxKart,它奏效了。


归档时间:

查看次数:

144674 次

最近记录:

5 年,5 月 前