http://blog.youkuaiyun.com/qq_21397217/article/details/71940794
Linux中启动Steam报错libGL error的解决办法
安装好Steam之后,点击启动器一直没有反应,所以去终端用命令steam
启动Steam查看日志,发现终端输出如下内容,然后一直卡着,使用Ctrl C
结束进程。
~ $ steam
Running Steam on linuxmint 18.1 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
- 1
执行后终端输出如下内容:
~ $ find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6.0.21
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1.1.0
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
在此使用命令steam
启动Steam,终端会输出很多内容,最后在Installing ...
那段会卡住几分钟,同时桌面会出现Steam更新界面,如下所示,中间有很长一段内容用...
表示了:
~ $ steam
Running Steam on linuxmint 18.1 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0)
...
Restarting Steam by request...
Running Steam on linuxmint 18.1 64-bit
STEAM_RUNTIME has been set by the user to: /home/kiss/.local/share/Steam/ubuntu12_32/steam-runtime
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Installing breakpad exception handler for appid(steam)/version(1493162727)
Installing breakpad exception handler for appid(steam)/version(1493162727)
Gtk-Message: Failed to load module "atk-bridge"
Installing breakpad exception handler for appid(steam)/version(1493162727)
^C
如果长时间没响应,Ctrl C
结束进程(这里我没有耐心等,不过感觉如果等待一会应该能启动Steam,因为终端最后的输出和下面重新运行命令时的输出一致),再次运行命令find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete
。
第二次运行命令时终端输出:
~ $ find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21-gdb.py
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libxcb.so.1
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/usr/share/gdb/auto-load/usr/lib/i386-linux-gnu/libstdc++.so.6.0.21-gdb.py
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6.0.21
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1.1.0
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
/home/kiss/.steam/root/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
然后启动Steam,等待几分钟后应该会出现Steam登录界面。
上述的方法没有经过反复测试,而且每个人系统会有差异,所以可靠性不能保证,仅供参考。
参考文献:
http://steamcommunity.com/app/221410/discussions/2/828934089701456106/