Steam : libGL 오류 : 일치하는 fbConfig 또는 비주얼을 찾을 수 없습니다. libGL 오류 : 드라이버를로드하지 못했습니다 : swrast


37

"증기"의 데스크톱 앱을 클릭해도 아무 변화가 없습니다.

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완벽하게 작동한다는 것입니다.

작동하게하려면 어떻게해야합니까? 최신 스팀 업데이트 (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

이제 메사에서 제공 한 라이브러리를 제거해야했고 모든 것이 완벽하게 작동했습니다.

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

업데이트 : 이 문제는 더 이상 Ubuntu 18.04 LTS에서 존재하지 않습니다.


11
남자, 당신은 큰 쿠키를받을 자격이 있습니다.
Aritz Lopez

2
정답입니다.
Colonder

2
데비안 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 도와 주신 Zobayer Hasan 감사합니다!
카요

7

Linux 용 Windows 서브 시스템 (WSL)에 동일한 오류가 있습니다.

Windows 10의 WSL (Windows Subsystem for Linux)에는 파일 /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에 대한 하이브리드 지원으로 업그레이드 된 잠금 화면 타이머 bash 스크립트 yad에서 사용됩니다 . Yad는 포크이므로 위의 세 번째 오류 메시지에 Zenity와 같은 참조가 표시됩니다.ZenityGtk-Message:

뭐라고 여기 yad창 외모 (WSL에서 약간 다르다) 우분투 같은 :

잠금 화면 타이머


잠금 화면 타이머를 사용하지
Eric

lock-screen-timerGUI를 호출하는 스크립트의 예일뿐입니다. 사용할 수 있습니다 gedit.
WinEunuuchs2Unix

물론입니다. 내 요점은 내 응용 프로그램 ( rqt)이 다른 방식으로 GUI를 호출 할 수 있기 때문에 수정을 시도한 후에도 여전히 실패 할 수 있다는 것입니다.
Eric

흠. 나에게 gnome-terminal은 같은 경고를 던지지 만 아무 것도 바꾸지 않아도 gnome-terminal의 두 번째 인스턴스를 시작할 때 경고가 사라집니다. "솔루션"의 경우도 그렇지 않습니까?
jan-glx

이것은 나에게도 효과가 없었다
Francesco Boccardo

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.