Linux中启动Steam报错libGL error的解决办法

安装好Steam之后,点击启动器一直没有反应,所以去终端用命令steam启动Steam查看日志,发现终端输出如下内容,然后一直卡着,使用Ctrl C结束进程。

~ $ steam
Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0)
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
^C

在网上查了一下解决办法,要执行下面的命令:

$ find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete

执行后终端输出如下内容:

/home/ricky/.steam/root/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
/home/ricky/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
/home/ricky/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6.0.21

再次使用命令steam启动Steam,保持网络正常,终端会输出很多内容,最后在Installing ...那段会卡住几分钟,同时桌面会出现Steam更新界面,如下所示,中间有很长一段内容用...表示了:

~ $ steam
Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0)
Installing breakpad exception handler for appid(steam)/version(1.0)
Installing breakpad exception handler for appid(steam)/version(1.0)
Installing breakpad exception handler for appid(steam)/version(1.0)
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[2018-01-21 23:34:42] Startup - updater built Nov 23 2016 01:05:42
ILocalize::AddFile() failed to load file "public/steambootstrapper_schinese.txt".
[2018-01-21 23:34:42] Verifying installation...
[2018-01-21 23:34:42] Unable to read and verify install manifest /home/ricky/.local/share/Steam/package/steam_client_ubuntu12.installed
[2018-01-21 23:34:42] Verification complete
[2018-01-21 23:34:42] Downloading Update...
[2018-01-21 23:34:42] Checking for available update...
[2018-01-21 23:34:43] Package file tenfoot_misc_all.zip.008ed314d467eecacba58d188fdf082d23f264d2 missing or incorrect size
省略。。。。。

如果长时间没响应,Ctrl C结束进程

等待几分钟后应该会出现Steam登录界面。
上述的方法没有经过反复测试,而且每个人系统会有差异,所以可靠性不能保证,仅供参考。

参考文献:

http://steamcommunity.com/app/221410/discussions/2/828934089701456106/

https://bbs.archlinux.org/viewtopic.php?id=183659