Steam 无法在 Ubuntu 16.04 上启动

Steam 无法在 Ubuntu 16.04 上启动

重新安装后,更新已下载,但甚至无法从终端启动。这是它给出的错误消息:

Running Steam on ubuntu 16.04 32-bit  
STEAM_RUNTIME is enabled automatically  
[2016-04-25 09:12:35] Startup - updater built Mar 31 2016 19:10:48  
SteamUpdateUI: An X Error occurred  
X Error of failed request:  BadValue (integer parameter out of range for operation)

答案1

我遇到了同样的问题,我按照以下说明解决了http://ubuntuforums.org/showthread.php?t=2275526

这是 steam 和 ubuntu 15.04 的问题。Steam 捆绑了旧库,与 mesa 驱动程序发生冲突,这也是为什么封闭的驱动程序不会出现此问题的原因。

有一个打开错误在 steam github 中,目前的解决方法是删除旧的 lib 版本,至少直到 valve 修复其启动脚本或类似脚本中的问题。因此,进入此文件夹并执行以下操作

代码:

cd $HOME/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak

它对我有用...但请注意,如果某些游戏需要来自 steam 运行时的旧库,它可能会崩溃(这就是为什么 valve 应该修复这个问题)

编辑:帖子中的步骤已经引用自在 Ubuntu 15.04+ 上安装 Steam 时出现问题,如果这些说明不足以帮助您解决问题,您可以去那里了解更多详细信息。

答案2

上面的答案对我来说是正确的,尽管文件的路径并不完全相同,当我尝试让 steam 在 16.04 上运行时,我需要的路径是

~/.steam/bin/steam-runtime/i386/usr/lib/i386-linux-gnu

另外,第一次更新后我必须再次执行此操作,否则仍然无法更新。

答案3

不要删除 libstdc++,首先调查此错误是否是由模糊的 libGL 符号链接引起的。

请参阅我的其他答案,它也对我解决这个问题有用 https://askubuntu.com/a/903488/364084

我将把内容粘贴在这里:

如果您使用的是 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

现在我只需要删除 mesa 提供的库,一切都可以完美运行。

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

答案4

sudo apt-get install libnvidia-gl-390:i386

參考文獻: https://steamcommunity.com/discussions/forum/0/3140616601474785172/

相关内容