AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 834254
Accepted
cbll
cbll
Asked: 2016-10-08 07:16:54 +0800 CST2016-10-08 07:16:54 +0800 CST 2016-10-08 07:16:54 +0800 CST

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

  • 772

如果我单击“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*并重新安装驱动程序,但没有运气。

drivers
  • 6 6 个回答
  • 173594 Views

6 个回答

  • Voted
  1. Best Answer
    Zobayer Hasan
    2017-04-12T01:49:07+08:002017-04-12T01:49:07+08:00

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

    $ sudo ldconfig -p | grep -i gl.so
    

    输出类似于:

        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
    

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

    $ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1
    

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

    • 69
  2. Stan S.
    2020-02-18T18:46:37+08:002020-02-18T18:46:37+08:00

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

    sudo apt install libnvidia-gl-440:i386

    祝你有美好的一天!

    • 31
  3. WinEunuuchs2Unix
    2017-11-20T09:26:41+08:002017-11-20T09:26:41+08:00

    适用于 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似乎有文件替换它。但是,如果您删除替换文件,则该库根本不起作用。

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

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

    ───────────────────────────────────────────────────────────────────────────────
    rick@alien:/mnt/e/etc$ lock-screen-timer
    Linux version 4.4.0-43-Microsoft ([email protected]) (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 ([email protected]) (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 ([email protected]) (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$
    

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

    图书馆有什么用?

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

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

    锁屏定时器

    • 15
  4. Yong Yang
    2019-06-30T23:11:52+08:002019-06-30T23:11:52+08:00

    根据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
    

    我的解决方案是:

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

    ubuntu-drivers devices

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

    1. 根据steam-for-linux issue 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,它奏效了。

    • 5
  5. Christian Fritz
    2020-05-25T17:11:40+08:002020-05-25T17:11:40+08:00

    就我而言,问题是我启用了一些安装了 440 nvidia 驱动程序和工具的 CUDA apt 源。一旦我禁用它并安装了当时最新版本的 nvidia 驱动程序(435),它就会安装所有其他需要的东西并且错误消失了。

    • 2
  6. PJ127
    2022-02-26T00:45:11+08:002022-02-26T00:45:11+08:00

    对我有用的解决方案:

    • 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

    • 0

相关问题

  • Ubuntu 中的科胜讯调制解调器

  • 如何解决联想笔记本电脑上恢复/电源问题时禁用的蓝牙?

  • 如何为 LG X130 上网本安装 relink 无线驱动程序

  • 类似于 Eyefinity 的东西?

  • 在哪里可以找到 Brother HL-2170W 64 位打印机驱动程序?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve