Steam for Linux

Steam for Linux

Steam for Linux > NVidia Graphics Cards > Trådoplysninger
 Denne tråd er blevet fastgjort, så den er sikkert vigtig
Frank 18. dec 2012 kl. 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 or
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.
Sidst redigeret af Frank; 8. jan 2013 kl. 11:42
< >
Viser 1-15 af 26 kommentarer
bundyo 18. dec 2012 kl. 14:26 
I want to chime in with some primusrun tips I've posted in another thread:
clarcharr 18. dec 2012 kl. 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. dec 2012 kl. 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.
Sidst redigeret af Limbo; 19. dec 2012 kl. 1:29
nia40m 21. dec 2012 kl. 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. Can anybody advice me something?
Sidst redigeret af nia40m; 21. dec 2012 kl. 9:31
flesk 21. dec 2012 kl. 21:05 
Try "vblank_mode=0 primusrun glxgears".
nia40m 22. dec 2012 kl. 4:54 
WOW!! Thanks! It's work) One more thing, can I do something to use this property by default?
ZiggySpelldust 22. dec 2012 kl. 5:57 
I used the first option (setting OPTIMUS_PREFIX and using launch options) and this fixed may 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.
Sidst redigeret af ZiggySpelldust; 22. dec 2012 kl. 7:20
flesk 22. dec 2012 kl. 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. dec 2012 kl. 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
Sidst redigeret af JHermz; 24. dec 2012 kl. 14:22
edwardjamming 4. jan 2013 kl. 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 kl. 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.
Sidst redigeret af Limbo; 4. jan 2013 kl. 7:00
edwardjamming 5. jan 2013 kl. 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 kl. 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 kl. 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 kl. 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.
< >
Viser 1-15 af 26 kommentarer
Per side: 15 30 50

Steam for Linux > NVidia Graphics Cards > Trådoplysninger