Optirun 使用 Nvidia,Primusrun 使用 Intel 卡

Optirun 使用 Nvidia,Primusrun 使用 Intel 卡

我想在 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 配置。希望对大家有帮助。

相关内容