Steam: libGL hatası: Eşleşen fbConfigs veya görseller bulunamadı libGL hatası: sürücü yüklenemedi: swrast


37

Eğer "Steam" in masaüstü uygulamasını tıklarsam hiçbir şey olmuyor.

steamTerminalde çalıştırmak aşağıdakileri sağlar:

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

İlginç olan şuysa xorg, GPU sürücümü değiştirirsem , mükemmel çalışıyor.

Çalışması için ne yapabilirim? En son buhar güncellemesinden sonra (36 saat önce) çalışmayı durdurdu.

NVIDIA'yı kaldırmayı sudo apt-get remove nvidia*ve sürücüyü yeniden kurmayı denedim , ama şanssız.

Yanıtlar:


52

Ubuntu 16.04+ Herhangi biri hala aynı hatayı alıyorsa, nvidia sürücüsü kullanıyorsanız, bazen libGL.so.1 programının hem mesa hem de nvidia tarafından sağlanan belirsiz libGL'yi işaret ettiğini göreceksiniz. Bunu test etmek için bu komutu çalıştırabilirsiniz.

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

Çıktı şöyle bir şeydi:

    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

Şimdi sadece mesa'nın sağladığı kütüphaneyi kaldırmam gerekiyordu ve her şey mükemmel çalışıyordu.

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

Güncelleme: Bu sorun artık Ubuntu 18.04 LTS'de mevcut değil.


11
Dostum, kocaman bir kurabiyeyi hak ediyorsun.
Aritz Lopez,

2
Bu doğru cevap
Albay

2
9 Debian'da bunu kaldırdım ve çalıştım, ama "mesa" dan bahsetmiyorum, ancak "dpkg -S libGL.so.1" hangisini kaldırmanız gerektiği hakkında bir ipucu verdi. Öyleyse: rm /usr/lib/i386-linux-gnu/libGL.so.1 Ve çerezinizin tadını çıkarın :)
FabricioFCarv

4
Bu sorun
18.10'da

4
Linux Mint'i 18'den 19'a yükselttikten sonra bu sorunu yaşadım. /Usr/lib/i386-linux-gnu/libGL.so.1 kaldırmak zorunda kaldım Yardımınız için teşekkürler Zobayer Hasan!
kayo

7

Linux için Windows Alt Sistemi (WSL) aynı hatadır

Windows 10 altında Linux için Windows Alt Sisteminde (WSL) dosya /usr/lib/i386-linux-gnu/mesa/libGL.so.1yoktur. Bunun yerine dosya var /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1gibi görünüyor. Ancak yedek dosyayı silerseniz, kütüphane hiç çalışmaz.

Kitaplığı yeniden adlandırın ve ardından sorunu yeniden adlandırın

Dosyayı yeniden adlandırıp yeniden adlandırırsanız, hatalar kaybolur ve çok daha hızlı çalışır:

───────────────────────────────────────────────────────────────────────────────
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$

Değişikliğin kalıcı olduğunu doğruladım, yani WSL terminal penceresini kapatın ve yeni bir pencere açın.

Kütüphaneyi ne kullanıyor?

Kütüphane tarafından kullanılır yadde kilit ekran zamanlayıcı Ubuntu ek olarak WSL için hibrid desteğiyle yükseltilmiş bash komut. Yad bir çatal, Zenitybu yüzden Gtk-Message:yukarıdaki üçüncü hata mesajında Zenity benzeri referansı görüyorsunuz .

İşte yadpencerenin Ubuntu'da nasıl göründüğü (WSL'de biraz farklı):

Ekran Zamanlayıcısını Kilitle


Bu benim için işe yaramadı - rağmen ben kilit ekranı zamanlayıcı kullanmıyorum
Eric

lock-screen-timerGUI'yi çağıran sadece bir komut dosyası örneğidir. Kullanabilirsiniz gedit.
WinEunuuchs2Unix

Tabii, farkettim. rqtDemek istediğim, uygulamamın ( ) GUI'yi farklı bir şekilde çağırması olabilir, bu nedenle düzeltmenizi denedikten sonra hala başarısız olabilir
Eric

Hm. Benim için gnome-terminali aynı uyarıyı veriyor, fakat hiçbir şeyi yeniden adlandırmasanız bile, gnome-terminalinin ikinci bir örneğini başlatırken uyarı kayboldu. Bu sizin "çözümünüz" için de geçerli değil mi?
jan-glx

Bu benim için de işe yaramadı
Francesco Boccardo

2

Linux için buhar sorununa göre, bu bir nvidia sürücüsü sorunu olabilir .

Benim durumumda, ben yüklü SuperTuxKart aracılığıyla flapak, ben koştum, ben hatalar aşağıdaki buluştu:

..:: 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

Benim çözümüm:

  1. Sistemimdeki nvidia sürücüsünü kontrol et

ubuntu-drivers devices

Bu gelmiştir nvidia-driver-430zaten yüklü.

  1. Göre buhar-for-linux sorunu sorunu yüklemek nvidia-driver-418yerinenvidia-driver-430

sudo apt install libnvidia-gl-418

Bağımlılıktan yoksun kalmasına neden oldu libnvidia-compute-418, bu yüzden libnvidia-compute-418ilk önce kurun .

sudo apt install libnvidia-compute-418

sonra

sudo apt install libnvidia-gl-418

  1. Sistemi yeniden başlatma.

Sonra SuperTuxKart'ı koştum , işe yaradı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.