web-dev-qa-db-ja.com

OptirunはNvidiaを使用し、PrimusrunはIntelカードを使用します

Steamを使用してUbuntuでゲームを実行したい。 BumblebeeとPrimus、およびデフォルトのnVidiaドライバー(304)をインストールしました。 310ドライバーがパフォーマンスを大幅に向上させることを読んだので、試してみたかったです。 nvidia-experimental-310とnvidia-settings-310をインストールし、構成しました bumblebee.conf 一番下で、編集する必要があると彼は指摘しています/ usr/bin/primusrunnvidia-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

optirun glxspheresを実行すると、次の出力が得られます。

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)。記事では、nvidia-experimental-310を使用するようにprimusrunを更新する必要がありますが、nvidia-310-updatesはそれらが存在するフォルダーであるため、nvidia-310-updatesに置き換えました。

2
Dominic Bartl

わかりましたので、私はそれを決して修正せず、Nvidiaカードを使用するためにprimusrunしませんでした。ただし、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の設定 。私はそれが誰かを助けることを願っています。

4
Dominic Bartl