Steam 无法与开源驱动程序兼容

Steam 无法与开源驱动程序兼容

为了让蒸汽机正常工作,我经历了相当漫长的路程。

我使用的是 Ubuntu 15.04 和 Linux 4.0.5 内核。系统规格:

英特尔 Haswell 四核 CPU AMD Radeon 7870 显卡 三星 850 EVO SSD 16GB 内存

我能够让 steam 在 14.04LTS 中运行,但该版本还存在其他问题;即 chrome 中的 flash 问题。所以我更新到了 15.04,我的系统更稳定了(除了 steam,总是会出现一些问题...)

我尝试删除各种 lib 文件,但毫无效果。我删除并安装了 steam 几次,但似乎不起作用。

我尝试切换到专有驱动程序,但这会导致我的系统在启动时挂起。为了解决这个问题,我从系统中完全删除并清除了 fglrx。我尝试根据 ubuntu 页面说明通过命令行重新安装专有驱动程序,但遇到了同样的错误,所以我只能使用开源驱动程序。

我只能假设我的卡不再受专有驱动程序支持,这令人沮丧。

在我删除专有驱动程序之前,我遇到了与这些人相同的错误: https://github.com/ValveSoftware/steam-for-linux/issues/3820

现在我已经删除了专有驱动程序,但出现了缺少库的错误,我想这并不奇怪:

libGL 错误:无法加载驱动程序:radeonsi_dri.so
libGL 错误:缺少驱动程序指针
libGL 错误:无法加载驱动程序:radeonsi
libGL 错误:无法加载驱动程序:swrast_dri.so
libGL 错误:无法加载驱动程序:swrast

我准备放弃了,正在认真考虑购买 Nvidia 显卡。如果有人能给我一些建议,我将不胜感激。

答案1

该问题是由 Steam 捆绑的旧版本 libstdc++ 引起的。

可能的解决方案:

  1. (从https://github.com/ValveSoftware/steam-for-linux/issues/3273) 将 steam 运行时的 libstdc++.so.6 符号链接重定向到系统。将 XX 替换为您系统的 libstdc++ 版本。当 libstdc++ 更新时,您需要更新此项。

    $ ln -sf /usr/lib/libstdc++.so.6.0.XX ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
    
  2. (从http://chapeaulinux.org/forums/topic/steam-not-working-in-chapeau-22/) 在运行 steam 之前预加载系统的 libstdc++。

    $ LD_PRELOAD=/usr/lib/libstdc++.so.6 ; steam
    

    最后的解决方案也可以放在脚本中:

    sudo mv /usr/bin/steam /usr/bin/steam.orig
    echo -e '#!/bin/sh\nexport LD_PRELOAD=/usr/lib/libstdc++.so.6\n. /usr/bin/steam.orig $*'>~/mysteam
    chmod +x ~/mysteam
    sudo ln -s ~/mysteam /usr/bin/steam
    
  3. (来自搜索 how-to-fix-broken-steam-linux-client-with-radeon-graphics-driver-workaround/)创建一个脚本来使用系统版本的 libstdc++ 运行 steam。

    #!/bin/bash
    export LD_PRELOAD='/usr/$LIB/libstdc++.so.6' #Export so all child    processes are affected as well
    export DISPLAY=:0
    #export LIBGL_DEBUG=verbose
    steam
    

    将其保存为例如 run-steam.sh。您必须通过此脚本启动 steam。

相关内容