Steam for Linux

Steam for Linux

Steam for Linux > NVidia Graphics Cards > Szczegóły tematu
 Ten wątek został przypięty, więc pewnie jest ważny
Frank 18 grudnia 2012 o 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.
Ostatnio edytowany przez: Frank; 8 stycznia 2013 o 11:42
< >
Wyświetlanie 1-15 z 26 komentarzy
bundyo 18 grudnia 2012 o 14:26 
I want to chime in with some primusrun tips I've posted in another thread:
Clar 18 grudnia 2012 o 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 grudnia 2012 o 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.
Ostatnio edytowany przez: Limbo; 19 grudnia 2012 o 1:29
nia40m 21 grudnia 2012 o 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?
Ostatnio edytowany przez: nia40m; 21 grudnia 2012 o 9:31
flesk 21 grudnia 2012 o 21:05 
Try "vblank_mode=0 primusrun glxgears".
nia40m 22 grudnia 2012 o 4:54 
WOW!! Thanks! It's work) One more thing, can I do something to use this property by default?
jardun 22 grudnia 2012 o 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.
Ostatnio edytowany przez: jardun; 22 grudnia 2012 o 7:20
flesk 22 grudnia 2012 o 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 grudnia 2012 o 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
Ostatnio edytowany przez: JHermz; 24 grudnia 2012 o 14:22
edwardjamming 4 stycznia 2013 o 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 stycznia 2013 o 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.
Ostatnio edytowany przez: Limbo; 4 stycznia 2013 o 7:00
edwardjamming 5 stycznia 2013 o 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 stycznia 2013 o 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 stycznia 2013 o 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 stycznia 2013 o 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.
< >
Wyświetlanie 1-15 z 26 komentarzy
Na stronę: 15 30 50

Steam for Linux > NVidia Graphics Cards > Szczegóły tematu