我尝试让 Steam 和 Proton 工作了几个小时,但没有成功。我使用的是 Linux Mint 19.1 Cinnamon。无论我使用哪种方式安装驱动程序,要么没有安装,要么出现以下情况:
当我启动 Steam 时,似乎什么都没有发生。但实际上它启动了,并且进程一直挂起。当我从终端启动 Steam 时,它给了我以下内容:
Running Steam on linuxmint 19.1 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Installing breakpad exception handler for appid(steam)/version(1550534751)
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
然后进程就挂在那里了。我可以使用 获取一些其他信息export LIBGL_DEBUG=verbose
,它为我提供了以下附加行:
libGL: screen 0 does not appear to be DRI3 capable
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/i386-linux- gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/swrast_dri.so
libGL: Can't open configuration file /home/adam/.drirc: No such file or directory.
libGL: Can't open configuration file /home/adam/.drirc: No such file or directory.
/tls/swrast_dri.so
确实不存在,但/swrast_dri.so
存在。我认为这并不重要,因为它可能只是表明 Steam 看不到真正的驱动程序,因此它尝试回退到软件渲染。
我尝试安装不同的版本,例如 340、349、418 甚至更多,但结果都一样。我尝试了不同的来源,例如 ubuntu-drivers、xorg-edgers、graphics-drivers 等等。我尝试了官方的 NVidia 驱动程序文件(以 .run 结尾),它导致我的 X 服务器崩溃,我需要通过恢复模式将其删除。
我尝试了网上能找到的所有解决方案,但都没有成功。我可以给你一些可能有用的额外信息:
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
libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/libGL.so.1
libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libEGL.so.1
glxgears 运行良好,没有错误。/usr/lib/x86_64-linux-gnu$ ls | grep *libGL*
给我这个:
Binary file libGLdispatch.so.0.0.0 matches
Binary file libGLESv2.so.2 matches
Binary file libGLESv2.so.2.0.0 matches
Binary file libGLESv2.so.2.distrib matches
Binary file libGL.so.1 matches
Binary file libGL.so.1.0.0 matches
Binary file libGL.so.1.distrib matches
Binary file libGLX.so.0 matches
Binary file libGLX.so.0.0.0 matches
我觉得这和符号链接有关。可能某个地方的符号链接有误。请帮帮我,我没主意了。