Steam:libGLエラー:一致するfbConfigsまたはビジュアルが見つかりませんlibGLエラー:ドライバーの読み込みに失敗しました:swrast


37

「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*そして、ドライバーを再インストールしましたが、運がありませんでした。

回答:


52

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では発生しなくなりました。


11
男、あなたは巨大なクッキーに値する。
アリッツロペス

2
これは正しい答えです
コロンダ

2
debian 9ではこれを削除して動作しましたが、「mesa」については言及していませんが、「dpkg -S libGL.so.1」は削除すべきヒントを示しています。だから:rm /usr/lib/i386-linux-gnu/libGL.so.1そしてクッキーをお楽しみください:)
FabricioFCarv

4
この問題は18.10
QkiZ、

4
Linux Mintを18から19に更新した後、この問題が発生しました。/usr/lib/i386-linux-gnu/libGL.so.1を削除しなければなりませんでした。ZobayerHasanに感謝します!
kayo

7

Windowsサブシステムfor Linux(WSL)にも同じエラーがあります

Windows 10のWindowsサブシステムfor Linux(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$

変更が永続的であること、つまり、WSLターミナルウィンドウを閉じて新しいウィンドウを開くことを確認しました。

ライブラリを使用しているのは何ですか?

このライブラリは、Ubuntuに加えてWSLのハイブリッドサポートでアップグレードさyadれたlock-screen-timer bashスクリプトで使用されます。YadはフォークでZenityあるため、Gtk-Message:上記の3番目のエラーメッセージにZenityのような参照が表示されます。

yadUbuntuのウィンドウは次のようになります(WSLでは少し異なります)。

ロック画面タイマー


これは私のために動作しませんでした-私はロック画面タイマーを使用していないが、
エリック・

lock-screen-timerGUIを呼び出すスクリプトの単なる例です。使用できますgedit
WinEunuuchs2Unix

もちろんです。私のポイントは、自分のアプリケーションが(ということであるrqt)、それはまだあなたの修正をしようとした後、失敗した理由であるかもしれない、別の方法でGUIを起動するかもしれない
エリック・

ふむ 私にとっては、gnome-terminalは同じ警告をスローしますが、何も名前を変更しなくても、gnome-terminalの2番目のインスタンスを起動すると警告は消えます。それはおそらくあなたの「解決策」にも当てはまりませんか?
jan-glx

これは私にとってもうまくいきませんでした
フランチェスコボッカルド

2

Steam-for-Linuxの問題によると、これはnvidiaドライバーの問題かもしれません。

私の場合、SuperTuxKartをを介してインストールしました。flapak実行すると、次のエラーが発生しました。

..:: 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の問題の問題によると、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を実行し ましたがうまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.