Steam for Linux > NVidia Graphics Cards > Detalhes do tópico
Frank 18/dez/2012 às 12:34
Optimus and Steam for Linux
The latest client release includes support for using Optimus technology to run Steam client games. To take advantage of this you will need to install Bumblebee on your system. For installation instructions, see https://wiki.ubuntu.com/Bumblebee or http://www.webupd8.org/2012/11/primus-better-performance-and-less.html.
You can verify that Primus is properly installed on your system if the following command executes successfully: primusrun glxspheres.

There are two methods for using Optimus technology with Steam. The first method involves running Steam on the Intel GPU and only selected graphically intensive games on the discrete GPU. To make a game run using the discrete GPU, use these simple steps:
1. Select a game - that you want to run using your discrete Nvidia card - from the Library page of the Steam client, right-click, and select Properties.
2. Click the SET LAUNCH OPTIONS... button and specify primusrun %command% for the command line.
3. Save your changes.
This method allows you to pick when the discrete NVidia GPU should be used on a per-game basis.

The second method is not as efficient (in terms of power consumption) but quicker by running the Steam client and all games using Optimus. From the command line, enter primusrun steam instead of steam. This is inefficient because all games do not require the power of an NVidia card and power consumption is greatly increased during a Steam client/game session.
Última edição por Frank; 8/jan/2013 às 11:42
Exibindo comentários 115 de 23
< >
bundyo 18/dez/2012 às 14:26 
I want to chime in with some primusrun tips I've posted in another thread:
http://steamcommunity.com/app/221410/discussions/1/846939071143958280/
Ordi 18/dez/2012 às 16:56 
One thing to note about running primusrun steam: this is particularly desirable if you want to use Big Picture mode, considering how rendering at high resolutions on an Intel card for this may be a bit slow.
Limbo 19/dez/2012 às 1:26 
Thank you for this solution. This has just made life a lot better for me. Initial usage has shown that at least for me, it is better if I set the launch option as primusrun %command% or optirun %command% on a per game basis instead of using a global variable.
Cogs, for instance, fails to launch if I try launching it with primusrun, but it runs perfectly with optirun; while some of the other games seem to benefit from primusrun.
Última edição por Limbo; 19/dez/2012 às 1:29
nia40m 21/dez/2012 às 9:30 
Hi all. Wish you all happy armagedon:)
I have a trouble. When I launch "primusrun glxgears" I have the same results like with Intel card but with "optirun glxgears" the results ten times as much then with optirun. http://nia40m.narod2.ru/nv.jpg Can anybody advice me something?
Última edição por nia40m; 21/dez/2012 às 9:31
flesk 21/dez/2012 às 21:05 
Try "vblank_mode=0 primusrun glxgears".
nia40m 22/dez/2012 às 4:54 
WOW!! Thanks! It's work) http://nia40m.narod2.ru/pr.png One more thing, can I do something to use this property by default?
jardun 22/dez/2012 às 5:57 
I used the first option (setting OPTIMUS_PREFIX and using launch options) and this fixed may gameoverlayrenderer.so problem. Thanks!

Now how does one set the vblank_mode so that primus uses it automagically? Trying to set OPTIMUS_PREFIX="vblank_mode=0 primusrun" doesn't work.
Última edição por jardun; 22/dez/2012 às 7:20
flesk 22/dez/2012 às 8:55 
You don't have to set it to run games: primusrun should automagically figure out when to use your dedicated video card. That option is to force use of the Nvidia card while benchmarking.
JHermz 24/dez/2012 às 14:22 
I'm trying to install Primus on Debian and it compiles without errors, but when I use the command ./primusrun glxgears -info, my GPU is the Intel Integrated graphics instead of the Nvidia GPU. If I try to compile for multiarch (I'm on 64-bit), I get compilation errors saying it cant find -lX11. However, I have libx11-dev installed. Any thoughts? Also, I can't really find any resources about Primus; it seems to be much less popular than bbswitch. Is there a wiki or wiki article about it? Thanks
Última edição por JHermz; 24/dez/2012 às 14:22
edwardjamming 4/jan/2013 às 6:38 
I have a 64-bit Debian + Optimus. Steam runs fine on the Intel card, but I can't get to install the 32-bit libs to make Steam run on the discrete card.
I have multiarch support enabled, but when I try to install primus for 32-bit, it can't find the related packages: bbswitch-dkms:i386 and dmidecode:i386
Moreover, if I try to install dmidecode:i386 it removes the 64-bit version of all the bumblebee packages (bumblebee, bumblebee-nvidia, dmidecode, primus)
A similar thing happens if I try to install primus:i386.
Does anyone has the same issue? Is there anyone who managed to get Steam+Optimus towork on a 64-Bit Debian?
Limbo 4/jan/2013 às 6:58 
You don't have to install 32-bit packages on your 64-bit system. This is how it works -
Steam runs without optirun or primusrun, like any other normal software.
If you want a game to launch with primusrun or optirun, you right click on the game in your library, go to its properties, and set the option there for that game. For directions on what to do and how to do it, read the original post in this thread.
If you are more adventurous or certain games seem to work with just optirun while others seem to perform better with primusrun, then ask here how to set different games to launch with different methods (primusrun/optirun). I'm not writing a step-by-step here without the need for it so as to have more uniformity with what Valve wants. Experienced users can always try such things by themselves.
Última edição por Limbo; 4/jan/2013 às 7:00
edwardjamming 5/jan/2013 às 3:41 
Lock'n LOL, first of all, thanks for the answer.
So, I know I don't need to run the steam client on the discrete card and it already works fine on the intel one. Howver, the problem is that if I don't install the 32-bit version of the GL (and bumblebee) libraries I can't get any 32-bit exec to run on the discrete card. This includes some games. For example, in TF2 dir:
$ file hl2_linux
hl2_linux: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x1b8b47f3c85301ea4736591dd1338e9c5fca52c5, not stripped
According to it's implementation, the primusrun command rolls back to run a given exdcutable on the Intel card in case it fails to execute it on the discrete one. An that's what happens in my case with TF2 if I set up
primusrun %command%
in the launch properties of the game.
Limbo 5/jan/2013 às 3:47 
Did you try running it with optirun instead of primusrun? Granted, it supposedly has worse performance than primusrun. I've had more success making steam games run with optirun instead of primusrun on my 64-bit system.
edwardjamming 5/jan/2013 às 4:10 
So, no matter if I run TF2 with primusrun or optirun I get the same result: the game starts with a green screen; then, it turns into a black screen with some broken icons. From this, I assume that the game is still running on the Intel card. As a matter of fact, I get exactly the same thing if I run the game without specifying any launch option at all.
Limbo 5/jan/2013 às 4:11 
Time to file a bug-report, I guess. I don't think I can help you any further because its working without any issues for me.
Exibindo comentários 115 de 23
< >
Por página: 15 30 50