Steam for Linux

Steam for Linux

 This topic has been pinned, so it's probably important
Frank Dec 18, 2012 @ 12:35pm
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.
For the best integration with Steam, we recommend installing Primus for Bumblebee. For installation instrudctions, see 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 comamnd executes successfully: primusrun glxspheres.

There are two methods for using Optimus technology with Steam. The first method is the most efficient and involves modifying the /etc/environment file and the command line of games requiring advanced rendering support.
1. Open /etc/environment in your favorite editor.
2. Add a new variable with a value of primusrun (e.g. OPTIMUS_PREFIX=”primusrun”) and save your changes.
3. 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.
4. Click the SET LAUNCH OPTIONS... button and specify $OPTIMUS_PREFIX %command% for the command line.
5. Save your changes.
This method allows you to pick when the discrete NVidia GPU should be used on a per-game basis. Use of the OPTIMUS_PREFIX environment variable allows easy modification of the command in the future if changes happen in the underlying Bumblebee project.

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.
Last edited by Frank; Dec 18, 2012 @ 2:48pm
< >
Showing 1-15 of 46 comments
AnAkkk Dec 19, 2012 @ 1:39am 
It works with optirun, but not with primusrun:
/home/user/Steam/SteamApps/<account name>/Team Fortress 2/hl2.sh : ligne 72 : 3845 Erreur de segmentation (core dumped) ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

It looks like there is a problem with the way Steam launches the game. If I start it in a terminal with primusrun, it works fine.

EDIT:

https://github.com/Bumblebee-Project/Bumblebee/issues/280

According to primus developer, it just needs the latest version of primus which isn't available yet.

EDIT 2:
I compiled the new primus version and it works now. TF2 is still crashing with primus and multicore rendering though.
Last edited by AnAkkk; Dec 19, 2012 @ 2:55am
Notakas Dec 22, 2012 @ 6:23am 
I used with Trine 2 and it woked, thanks ^^
CyberXZT Dec 22, 2012 @ 10:19am 
Thanks!!!
bubblefix Dec 31, 2012 @ 3:16am 
I tried this but it don't work for me (i have only 10 - 29 FPS in the game)
I also tried to started steam with 'optirun steam' ... same effect.

When I try those other script (hl2-optirun.sh) I can start TF2 but when I try to connect to a server TF2 tells me that I'm not connected to my steam account. But I am connected with my steam account.
Djinn ** ᴬᴱ Jan 9, 2013 @ 3:49am 
when i try " primusrun glxspheres " , it says :

connect: No such file or directory
primus: fatal: failure contacting bumblebee daemon

How can i do to fix my problem ?
JohnCouteau Jan 10, 2013 @ 7:19am 
@Frank : Trine 2 is working great with primusrun, no performance issue and no crash, but in TF2 it crash if I launch it with primusrun and the multi-core option enabled...

Running it with optirun works, but optirun has some performance issues so it runs slower than primusrun without the multicore option.
Frank Jan 11, 2013 @ 12:53pm 
Originally posted by Anthony25:
@Frank : Trine 2 is working great with primusrun, no performance issue and no crash, but in TF2 it crash if I launch it with primusrun and the multi-core option enabled...

Running it with optirun works, but optirun has some performance issues so it runs slower than primusrun without the multicore option.
Have you tried checking the current issues[github.com] on the public steam-for-linux GitHub repo? If your issue doesn't exist, you can create a new one (there) with this information.
JohnCouteau Jan 12, 2013 @ 5:27am 
I created a new thread here : https://github.com/ValveSoftware/steam-for-linux/issues/672

Thank you
Jammyjamjamman Jan 12, 2013 @ 11:38am 
When I tried this method of using primusrun with amnesia, the game still used the Intel GPU. To fix this problem I had to edit run_steam.sh (can be found in .local/share/Steam/SteamApps/common/"Amnesia The Dark Descent") and then added "primusrun" in front of the line "./Launcher.bin64" (needs to be added in front of ./Launcher.bin for 32 bit systems)
Jammyjamjamman Jan 12, 2013 @ 12:19pm 
Also I can't guarantee my nvidia gpu is being used when I play Team Fortress 2 using this primusrun method. If someone could post how I can tell what gpu is being used when I'm playing TF2 I'd be very grateful.
bubblefix Jan 12, 2013 @ 12:26pm 
i tihink you can see it when you display your ingame FPS... if you see more then 30 FPS then it should work (more then 100 would be fine. I've this on my windows machine).

At my laptop it's still not working with optimus or primus. With primus the game hang.
I also tried to add vblank_mode=0 into library start options.
btw i use nvidia-experimental-310 driver.
Jammyjamjamman Jan 12, 2013 @ 2:05pm 
thanks. As far as I can see then the 1st method is still ends up with TF2 using Intel, as I get 20fps avg. When I primusrun steam though and run TF2 I get 15fps avg! If I use the Optirun HL2 script (with optirun replaced with primusrun) I get 40fps avg.

I have a hp dv7 7000 series with an nvidia 630m.
Currently I'm just using the 304 driver because when I used the 310 driver I ended up with loads of problems popping up, so I can't be of much help sorry. Also if you haven't already check this link out: http://www.webupd8.org/2012/12/use-nvidia-experimental-drivers-310.html
Hope this may be of some help, although if other programs run fine with primusrun/optirun I doubt it will.
Jammyjamjamman Jan 12, 2013 @ 2:18pm 
"When I try those other script (hl2-optirun.sh) I can start TF2 but when I try to connect to a server TF2 tells me that I'm not connected to my steam account. But I am connected with my steam account."

I had this problem In my older system (linuxmint 13). By naming the optirun script "hl2.sh" (or replacing the code in the orignal hl2.sh script with the optirun text) and running tf2 via the steam client fixed the problem for me.
bubblefix Jan 14, 2013 @ 3:11am 
looks like the same issue i have.
i also recognised that if you modify the hl2.sh script it will be replaced at the next start of the game. (correct me if i'm wrong).
I've already checked your link thx ;)
Other games work fine with pimus eg. Nexuiz with 180fps, Assoultcube with 200fps
bubblefix Jan 15, 2013 @ 12:54pm 
Looks like there is a other issue too.

The game stops with following error messages:
V8 error: Allocation failed - process out of memory (Not enough memory for deoptimization table). Current memory usage: 1176 MB1 0xa7d22599
2 0xa76c1858
3 0xa77061c9
4 0xa7706249
5 0xa78a73e7
6 0xa7703da1
7 0xa77041e0
8 0xa76cad3a
9 0xa7d22f12
10 0xa7d2309c
11 0xa7d2eb91
12 0xa7d0c4fe
13 0xa7f798cc
14 0xa7f72da3
15 0xa7f7c4e6
16 0xa7f73c2b
17 0xa7f679a8
18 0xa74b9ddd
19 0xa749154e
20 0xa7f67933
21 0xa7f8f236
22 0xa7fa5f63
23 0xa7f8f3b7
24 0xa7fa5c82
25 0xa74aa897
26 0xa75e70d8
27 0xa7639ebe
28 0xa7638116
29 0xa6f4c509
30 0xa6f51878
31 0xa6f51e40
Uploading dump (in-process) [proxy '']
/tmp/dumps/crash_20130115215207_1.dmp
success = yes
response: CrashID=bp-807c2355-af71-4b88-8f31-fec682130115
....../Team Fortress 2/hl2.sh: Zeile 72: 24398 memory access error

My system has 16GB ram and 150GB disk space for free and i've a nvidia gforce gtx 670m.
< >
Showing 1-15 of 46 comments
Per page: 1530 50