当我尝试在我的 Ubuntu 13.10 x86_64 机器上安装 primus:i386 时,出现此错误:
The following packages have unmet dependencies:
primus:i386 : Depends: bumblebee:i386 but it is not going to be installed
然后我尝试安装 bumblebee:i386 并出现此错误:
The following packages have unmet dependencies:
bumblebee:i386 : Depends: init-system-helpers:i386 (>= 1.5) but it is not installable
最后,当我尝试安装 init-system-helpers:i386 时:
Package init-system-helpers:i386 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'init-system-helpers:i386' has no installation candidate
我需要 primus:i386 才能使用我的 Optimus NVIDIA GPU 正确运行 Steam 游戏,因为大多数 Steam 游戏都是 32 位的。这一页更具体一点。
我能够在 Ubuntu 13.04 上安装 primus:i386。不知道发生了什么。
提前致谢!
答案1
在我的 64 位 13.10 笔记本电脑上安装后nvidia-实验-310(实际上安装了 319.60)bumblebee 和 primus 已经默认存在。
bumblebee 和 bumblebee-nvidia 是 64 位。primus 和 primuslibs:amd64 是 64 位,但 primuslibs:i386 和 primuslibs-ia32 都是 32 位。
为了让 steam 运行(找到 libGL.so.1),我必须创建包含以下内容的 /etc/ld.so.conf.d/steam.conf:
/usr/lib32
/usr/lib/i386-linux-gnu/mesa
请注意,在 /etc/ld.so.conf.d/ 中添加或修改任何内容后,您必须:sudo ldconfig
为了得到glxspheres(32 位)和光学球体为了工作我必须cp steam.conf glxspheres.conf在 /etc/ld.so.conf.d/ 中安装 libglu1-mesa:i386 和 libxv1:i386。注意glxspheres64或者optirun glxspheres64在执行此操作之前或之后有效。
但是,我对 Optimus 显卡还不熟悉,因此我还没有让 primusrun 在 64 位或 32 位显卡上工作过(它适用于primusrun glxinfo)以下所有核心转储都没有关于原因的错误消息:
primusrun glxgears
primusrun glxspheres
primusrun glxspheres64
不同的 Steam 游戏可能需要某些启动参数才能使用快速的 nvidia 显卡,而不是英特尔显卡(速度非常慢)。要获取启动参数,请转到 Steam 库,右键单击左侧的游戏,然后转到属性。在常规选项卡上,单击“设置启动选项”对于源游戏(特别是 tf2,但也可能包括 cs 和 hl2),以下启动参数对我而言完全“如所示”在一行中起作用(%command% 是自动替换):
LD_PRELOAD="libpthread.so.0 libGL.so.1" _GL_THREADED_OPTIMIZATIONS=1 optirun %command%
我正常启动 steam(使用英特尔显卡),当我启动 tf2 时,它使用 nvidia 显卡。不确定这是否重要,但在 /etc/ls.so.conf.d 中,我还将 steam.conf 符号链接到 hl2_linux.conf(sudo ln -s steam.conf hl2_linux.conf) 然后:sudo ldconfig,只是它需要找到 32 位库。
对于其他游戏,您可能需要尝试或搜索有效的参数。