这最初是Ubuntu 15.04/15.10上Steam的一个问题。Steam捆绑了旧的库,并与mesa驱动程序冲突,这也是为什么闭源驱动程序没有出现这个问题的原因。更新:也可能是你缺少一些东西。请参考其他mchid的答案。
在Steam的github上有一个
已公开的bug。
目前的解决方法是删除旧的库版本,至少在Valve修复他们的启动脚本或类似的东西之前。
所以进入这些文件夹并执行以下操作(如果你只有32位系统,请忽略
x86_64
):
cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
如果您对上述目录有问题,那么您应该尝试以下方法:
有些人的目录是
.steam/steam/ubuntu12_32
,而其他人只有
.steam/ubuntu12_32
。如果您没有这些文件夹,请通过检查Steam寻找用户配置文件的位置来找到正确的位置:
$ fgrep config= /usr/games/steam
config=$HOME/.steam
使用这个来找到你的库位置:
[config value] + /ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
|
\-> $HOME/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
它对我有效...但请注意,如果某些游戏需要来自Steam运行时的旧库,可能会崩溃(这就是为什么Valve应该修复这个问题)。
编辑 2015-08-22:
由于Steam现在在
$HOME/.steam/root
中有一个链接,始终指向正确的Steam安装目录,所以这个命令对每个人都适用,并且更简单快速。
find $HOME/.steam/root/ubuntu12_32/steam-runtime/*/usr/lib/ -name "libstdc++.so.6" -exec mv "{}" "{}.bak" \; -print
此外,请记住,在每次Steam运行时更新后,您可能需要运行此操作。
编辑于2016年2月16日:
还请参阅下面的mchid回复,只需执行以下操作:
sudo apt-get install libgl1-mesa-dri libgl1-mesa-dri:i386
可能足以修复这个问题。
编辑2016-10-23:
对于Ubuntu 16.10,命令已更新以删除更多破坏Mesa驱动程序的文件,因此这个新命令应该有效。
find $HOME/.steam/root/ubuntu12_32/steam-runtime/*/usr/lib/ \( -name "libstdc++.so.6" -o -name "libgpg-error.so.0" -o -name "libxcb.so.1" -o -name "libgcc_s.so.1" \) -exec mv "{}" "{}.bak" \; -print
如需NVIDIA闭源驱动程序,请参见下面的Vincent回复。
编辑2017-01-08:
可能是最终编辑,最新的Steam Linux更新应该可以解决大部分,如果不是全部的问题!终于!:D
编辑2017-08-03:
可悲的是,从度假回来发现一些最近的更新再次破坏了Steam。所以如果你在下载更新后启动时遇到这个问题:
process 23148: arguments to dbus_connection_ref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file dbus-connection.c line 2688.
然后蒸汽崩溃,然后你遇到了
thisbug,它报告为非致命错误,但是在相同的发行版中它确实使蒸汽崩溃。解决方法如下:
ln -s ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3 ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbus-1.so.3
祝你好运
linux-image-3.16.0-41-generic:amd64 (3.16.0-41.57, automatic)
,而以前我使用的是Linux 3.16.0-37-generic
。 - pbhj