我想在 Ubuntu 上使用 Steam 运行游戏。我安装了 Bumblebee 和 Primus 以及默认的 nVidia 驱动程序 (304)。我读到 310 驱动程序可以大大提高性能,所以我想尝试一下。我安装了 nvidia-experimental-310 和 nvidia-settings-310 并配置大黄蜂配置文件在底部他指出我必须编辑在/usr/bin/primusrun使用 nvidia-experimental-310
#!/bin/bash
# Readback-display synchronization method
# 0: no sync, 1: D lags behind one frame, 2: fully synced
# export PRIMUS_SYNC=${PRIMUS_SYNC:-0}
# Verbosity level
# 0: only errors, 1: warnings (default), 2: profiling
export PRIMUS_VERBOSE=${PRIMUS_VERBOSE:-2}
# Secondary display
# export PRIMUS_DISPLAY=${PRIMUS_DISPLAY:-:8}
# "Accelerating" libGL
# $LIB will be interpreted by the dynamic linker
export PRIMUS_libGLa=${PRIMUS_libGLa:-'/usr/lib/nvidia-310-updates/libGL.so.1:/usr/lib32/nvidia-310-updates/libGL.so.1'}
# "Displaying" libGL
# export PRIMUS_libGLd=${PRIMUS_libGLd:-'/usr/lib/$LIB/mesa/libGL.so.1'}
# Directory containing primus libGL
PRIMUS_libGL=${PRIMUS_libGL:-/usr/lib/'$LIB'/primus}
# On some distributions, e.g. on Gentoo, libnvidia-tls.so is not available
# in default search paths. Add its path manually after the primus library
case $PRIMUS_libGLa in
/usr/lib*/nvidia-310-updates*|'') # nvidia is used by default
PRIMUS_libGL=${PRIMUS_libGL}:${PRIMUS_libGLa///libGL.so.1}
;; esac
# Mesa drivers need a few symbols to be visible
# export PRIMUS_LOAD_GLOBAL=${PRIMUS_LOAD_GLOBAL:-'libglapi.so.0'}
# Need functions from primus libGL to take precedence
export LD_LIBRARY_PATH=${PRIMUS_libGL}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
# And go!
exec "$@"
我的系统
Lenovo ideapad Y580
Ubuntu 13.04
Intel Core i7
nVidia GTX660M
当我跑步时光学球体我得到这个输出:
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GTX 660M/PCIe/SSE2
150.527939 frames/sec - 167.989179 Mpixels/sec
当我运行 vblank_mode=0 optirun -b primus glxspheres 时,我得到
292.591142 frames/sec - 326.531714 Mpixels/sec
使用我的 nvdia
但是当我跑步时primusrun glxspheres我明白了
Polygons in scene: 62464
Visual ID of window: 0x20
Xlib: extension "NV-GLX" missing on display ":0".
Context is Indirect
OpenGL Renderer: Mesa DRI Intel(R) Ivybridge Mobile
63.910723 frames/sec - 71.324367 Mpixels/sec
我还尝试在 Steam 中设置 vblank_mode=0 optirun -b primus %command%,但无法打开任何游戏(TF2 和 Trine 2)。文章说我应该更新 primusrun 以使用 nvidia-experimental-310,但我将其替换为 nvidia-310-updates,因为这些是存在的文件夹。
答案1
好吧,我从未修复过这个问题,也没有primusrun
使用 Nvidia 卡。不过,使用启动器二进制文件并不是必需的primusrun
。
我现在用 Steam 运行我的游戏
optirun -b primus %command%
在里面LAUNCH OPTIONS
如果您想在 Nvidia 卡上运行 Big Picture,您可以这样做: http://bartinger.at/run-steam-big-picture-on-an-optimus-card/
optirun -b primus steam -bigpicture
从命令行
编辑:我正在使用 nvidia-331 驱动程序。我的pastebin 上的 bumblebee 配置。希望对大家有帮助。