「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*
をアンインストールして、ドライバーを再インストールしようとしましたが、うまくいきませんでした。
buntu 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では存在しなくなりました。
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 ([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のハイブリッドサポートでアップグレードされた lock-screen-timer bashスクリプトのyad
によって使用されます。 YadはZenity
の分岐であるため、上記の3番目のエラーメッセージにZenityのようなGtk-Message:
参照が表示されます。
Ubuntuでのyad
ウィンドウの外観は次のとおりです(WSLでは若干異なります)。
Steam-for-linuxの問題 によると、これはnvidiaドライバーの問題である可能性があります。
私の場合、 SuperTuxKart through 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
私の解決策は次のとおりです。
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 を実行しました。