Dec 13, 2012

openSUSE Forums: Nvidia Optimus with Bumblebee and Primus Tips

openSUSE Forums
openSUSE Forums
Nvidia Optimus with Bumblebee and Primus Tips
Dec 13th 2012, 13:27

### Background ###

As many of you know Bumblebee is the current workaround for using Nvidia optimus with linux. At the heart of bumblebee has been VirtualGL which is now being superseded by Primus.

If you have Bumblebee you'll know that to use your discrete card you need to invoke "optirun <application>" from the command line and then after a short wait your application runs using the VirtualGL backend. Unfortunately the VirtualGL backend does not play nice with some applications, particularly Wine and Crossover. Primus is the replacement of optirun and it all it means to the end user is that instead of using optirun you now invoke an app with "primusrun <application>".

I highly recommend (as do the developers of Bumbleebee) primus over VirtualGL because there are a host of benefits. My favorite benefit is that it works perfectly with wine and Crossover meaning I can play my Windows games on my discrete card instead of having to use my integrated one and has substantially better performance too. Here is a post by the Bumblebee Project on G+: https://plus.google.com/102207276811...ts/ic3AJRKf2VF

### Installation ###

A fine, upstanding member of out community has already made a repo for us with OBS. software.opensuse.org:

*Install the 32bit version if running a 64bit OS along with the 64bit one as you need it for Wine/Crossover as they are 32bit. I recommend a reboot after install Primus but I don't think it is essential.

Now if you try run something with primusrun you'll get an error something like primus:
Code:

fatal: failed to load any of the libraries: /usr/$LIB/nvidia-bumblebee/libGL.so.1 ...
Don't worry, the fix is super easy! All you need to do is copy a few folders and you are done.

From a terminal run:

Code:

sudo mkdir /usr/lib/nvidia-bumblebee
sudo cp /usr/lib/nvidia/* /usr/lib/nvidia-bumblebee
sudo mkdir /usr/lib64/nvidia-bumblebee/
sudo cp /usr/lib64/nvidia/* /usr/lib64/nvidia-bumblebee

Again you might need to reboot. You could always do this with dolphin in super-user mode and just copy paste the files in the same folder and just specify "nvidia-bumblebee" as the folder name. I would highly recommend this to most users as its harder to make a mess up.

### Testing ###
Code:

vblank_mode=0 primusrun glxspheres
It should give something like this:
Code:

:~> vblank_mode=0 primusrun  glxspheres                                                                           
Polygons in scene: 62464                                                                                                           
ATTENTION: default value of option vblank_mode overridden by environment.                                                           
ATTENTION: default value of option vblank_mode overridden by environment.                                                           
Visual ID of window: 0x96                                                                                                           
ATTENTION: default value of option vblank_mode overridden by environment.                                                           
ATTENTION: default value of option vblank_mode overridden by environment.                                                           
ATTENTION: option value of option vblank_mode ignored.                                                                             
Context is Direct                                                                                                                   
OpenGL Renderer: GeForce GT 550M/PCIe/SSE2                                                                                         
primus: sorry, not implemented: glXUseXFont                                                                                         
236.366525 frames/sec - 263.785042 Mpixels/sec                                                                                     
241.331845 frames/sec - 269.326339 Mpixels/sec                                                                                     
240.886716 frames/sec - 268.829575 Mpixels/sec                                                                                     
241.437659 frames/sec - 269.444427 Mpixels/sec                                                                                     
239.505292 frames/sec - 267.287906 Mpixels/sec

In comparison, optirun gives:

Code:

:~> vblank_mode=0 optirun glxspheres                                                                             
Polygons in scene: 62464                                                                                                           
Visual ID of window: 0x21                                                                                                           
Context is Direct                                                                                                                   
OpenGL Renderer: GeForce GT 550M/PCIe/SSE2
110.628062 frames/sec - 123.460917 Mpixels/sec
122.449406 frames/sec - 136.653538 Mpixels/sec
133.291433 frames/sec - 148.753240 Mpixels/sec
133.511781 frames/sec - 148.999148 Mpixels/sec
134.822179 frames/sec - 150.461552 Mpixels/sec

### Summary ###

This will not bork your system and is really worth your time if you're a Nvidia Optimus/Bumblebee user. The improvement in performance alone is worth checking out while the greater flexibility with Wine/Crossover is a real bonus for gamers.

Hope this helps!

### Tip ###

To launch a crossover app like steam with primusrun try:

Code:

primusrun /opt/cxoffice/bin/wine --bottle "<name of bottle>" --cx-app <name of application>
E.g.
Code:

primusrun /opt/cxoffice/bin/wine --bottle "Steam" --cx-app steam.exe
### Disclaimer ###

If this breaks your system, deletes data or irrecoverably ruins your digital life then I am not to be held responsible as you took these steps yourself and should always double check everything you do. Try at your own risk!

You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions

No comments: