Optirun usa Nvidia, Primusrun usa cartão Intel

2

Eu quero rodar jogos no Ubuntu com o Steam. Eu instalei o Bumblebee, o Primus e o driver nVidia padrão (304). Eu li que o driver 310 dá um enorme aumento de desempenho, então eu queria tentar isso. Eu instalei o nvidia-experimental-310 & amp; nvidia-settings-310 e configurado bumblebee.conf Na parte inferior ele aponta que eu tenho que editar / usr / bin / primusrun para usar o 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 "$@"

Meu sistema

Lenovo ideapad Y580
Ubuntu 13.04
Intel Core i7
nVidia GTX660M

Quando executo optirun glxspheres , recebo esta saída:

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

Quando executo vblank_mode = 0 optirun -b primus glxspheres, obtenho

292.591142 frames/sec - 326.531714 Mpixels/sec

com minha nvdia

No entanto, quando eu corro glxspheres primusrun , obtenho

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

Eu também tentei definir vblank_mode = 0 optirun -b primus% command% no Steam que não abre nenhum jogo (TF2 & Trine 2). O artigo diz que eu deveria atualizar o primusrun para usar o nvidia-experimental-310, mas substituí-lo por nvidia-310-updates porque essas são as pastas que existem.

    
por Dominic Bartl 15.07.2013 / 22:37

1 resposta

4

Ok, então eu nunca consertei e não usei primusrun para usar a placa Nvidia. No entanto, não é necessário usar o binário do primusrun launcher.

Agora corro meus jogos do Steam com

optirun -b primus %command%

no LAUNCH OPTIONS

Se você quer rodar o Big Picture no seu cartão Nvidia, você pode fazer isso: link

optirun -b primus steam -bigpicture

Na linha de comando

Edit: Estou usando o driver nvidia-331. Minha configuração do bumblebee em pastebin . Espero que ajude alguém.

    
por Dominic Bartl 27.10.2013 / 13:21