Lỗi Steam: libGL: Không tìm thấy fbConfigs hoặc hình ảnh phù hợp với lỗi libGL: không tải được trình điều khiển: swrast


37

Nếu tôi nhấp vào ứng dụng máy tính để bàn của "Steam", không có gì xảy ra.

Chạy steamtrong thiết bị đầu cuối tạo ra như sau:

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

Điều thú vị là nếu tôi thay đổi trình điều khiển GPU của mình xorg, nó hoạt động hoàn hảo.

Tôi có thể làm gì để nó hoạt động? Nó ngừng hoạt động sau khi cập nhật hơi nước mới nhất (36 giờ trước).

Tôi đã thử gỡ cài đặt nvidia - sudo apt-get remove nvidia*và cài đặt lại trình điều khiển, nhưng không có may mắn.

Câu trả lời:


52

Ubuntu 16.04+ Đối với bất kỳ ai vẫn gặp lỗi tương tự, nếu bạn đang sử dụng trình điều khiển nvidia, đôi khi bạn sẽ thấy libGL.so.1 chỉ ra libGL mơ hồ được cung cấp bởi cả mesa và nvidia. Để kiểm tra điều này, bạn có thể chạy lệnh này

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

Đầu ra giống như:

    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

Bây giờ tôi chỉ cần xóa thư viện được cung cấp bởi mesa và mọi thứ hoạt động hoàn hảo.

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

Cập nhật: Vấn đề này không còn tồn tại từ Ubuntu 18.04 LTS.


11
Man, bạn xứng đáng với một cookie lớn.
Aritz Lopez

2
Đây là câu trả lời đúng
Colonder

2
trên debian 9, tôi đã xóa cái này và làm việc, nhưng không đề cập đến "mesa", tuy nhiên, "dpkg -S libGL.so.1" đưa ra một mẹo mà bạn nên xóa. Vì vậy: rm /usr/lib/i386-linux-gnu/libGL.so.1 Và thưởng thức cookie của bạn :)
FabricioFCarv

4
Vấn đề này vẫn tồn tại vào ngày 18.10
QkiZ

4
Sau khi cập nhật Linux Mint từ 18 đến 19 tôi đã gặp vấn đề này. Tôi đã phải xóa /usr/lib/i386-linux-gnu/libGL.so.1 Cảm ơn Zobayer Hasan vì sự giúp đỡ của bạn!
kayo

7

Hệ thống con Windows cho Linux (WSL) có lỗi tương tự

Trong Hệ thống con Windows cho Linux (WSL) trong Windows 10, tệp /usr/lib/i386-linux-gnu/mesa/libGL.so.1không tồn tại. Thay vào đó là tập tin /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1dường như để thay thế nó. Tuy nhiên, nếu bạn xóa tập tin thay thế, thư viện hoàn toàn không hoạt động.

Đổi tên thư viện sau đó đổi tên lại giải quyết vấn đề

Nếu bạn đổi tên tệp và sau đó đổi tên lại, các lỗi sẽ biến mất và nó hoạt động nhanh hơn rất nhiều:

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

Tôi đã xác minh thay đổi là liên tục, tức là đóng cửa sổ đầu cuối WSL và mở một cửa sổ mới.

Thư viện sử dụng cái gì?

Thư viện được sử dụng yadtrong tập lệnh bash hẹn giờ màn hình khóa được nâng cấp với hỗ trợ lai cho WSL ngoài Ubuntu. Yad là một nhánh trong Zenityđó là lý do tại sao bạn thấy Gtk-Message:tham chiếu giống như Zenity trong thông báo lỗi thứ ba ở trên.

Đây là yadcửa sổ trông giống như trong Ubuntu (trong WSL, nó hơi khác một chút):

Khóa màn hình hẹn giờ


Điều này không hiệu quả với tôi - mặc dù tôi không sử dụng đồng hồ bấm giờ màn hình khóa
Eric

lock-screen-timerchỉ là một ví dụ về tập lệnh gọi GUI. Bạn có thể sử dụng gedit.
WinEunuuchs2Unix

Chắc chắn, tôi nhận ra. Quan điểm của tôi là ứng dụng của tôi ( rqt) có thể đang gọi GUI theo một cách khác, đó có thể là lý do tại sao nó vẫn bị lỗi sau khi thử sửa lỗi của bạn
Eric

Hừm. Đối với tôi gnome-terminal đưa ra cảnh báo tương tự, nhưng ngay cả khi không đổi tên bất cứ thứ gì, cảnh báo sẽ biến mất khi bắt đầu phiên bản thứ hai của gnome-terminal. Không phải đó là trường hợp có thể cho "giải pháp" của bạn quá?
jan-glx

Điều này cũng không hiệu quả với tôi
Francesco Boccardo

2

Đây có thể là một vấn đề trình điều khiển nvidia, theo một vấn đề steam-for-linux .

Trong trường hợp của tôi, tôi đã cài đặt SuperTuxKart qua flapak, khi tôi chạy nó, tôi gặp lỗi sau đây:

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

Giải pháp của tôi là:

  1. Kiểm tra trình điều khiển nvidia trên hệ thống của tôi

ubuntu-drivers devices

Nó đã nvidia-driver-430được cài đặt rồi.

  1. Theo vấn đề steam-for-linux , hãy cài đặt nvidia-driver-418để thay thếnvidia-driver-430

sudo apt install libnvidia-gl-418

Nó nhắc rằng nó thiếu phụ thuộc libnvidia-compute-418, vì vậy chỉ cần cài đặt libnvidia-compute-418trước.

sudo apt install libnvidia-compute-418

sau đó

sudo apt install libnvidia-gl-418

  1. Hệ thống khởi động lại.

Sau đó, tôi chạy SuperTuxKart , nó đã hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.