是否可以使用 optirun 运行 Steam 游戏?

KTW*_*KTW 10 linux opensuse nvidia steam bumblebee

我在 Intel HD4600 / Nvidia GTX 860M 组合上的 OpenSuse 13.1 上使用 Bumblebee。
Steam 游戏在使用primusrun. ( vblank_mode=0 primusrun)

同时测试primusrunoptirunglxspheres,表明optirun在我的系统是更好的选择。但是我的 Steam 游戏没有以该optirun命令启动。

vblank_mode=0 primusrun glxspheres  
209.926051 frames/sec - 234.277473 Mpixels/sec

vblank_mode=0 optirun glxspheres  
250.734727 frames/sec - 279.819955 Mpixels/sec
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

Spa*_*awk 26

从理论上讲,按照大黄蜂开发人员的建议,primusrun 在性能和稳定性方面优于 optirun。我不确定为什么你会得到你所做的结果。我知道在某些情况下,帧是有上限的,但对您来说似乎并非如此。(在我的情况下,我获得 150 fpsoptirun glxspheres64和 60 fps primusrun glxspheres64,我认为这是由于上限。)

无论如何,我对不同的 Steam 游戏使用不同的选项。大多数情况下,不同命令的性能相似,但对我来说主要区别在于稳定性。这包括启用和不启用 Steam 覆盖的稳定性。以下是我用于不同游戏的不同设置,您可以测试一下。我一般先试试这个:

primusrun %command%
Run Code Online (Sandbox Code Playgroud)

但是,我发现这并不总是最佳的。有时 optirun 更稳定。

optirun %command%
Run Code Online (Sandbox Code Playgroud)

在某些情况下,这些都不起作用(例如在军团要塞 2 中),所以我使用:

LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 optirun %command%
Run Code Online (Sandbox Code Playgroud)