SEARCH

How-To Geek

How To Make NVIDIA’s Optimus Work on Linux

image

Many new laptops come with NVIDIA’s Optimus technology – the laptop includes both a discrete NVIDIA GPU for gaming power and an onboard Intel GPU for power savings. The notebook switches between the two when necessary.

However, this isn’t yet well-supported on Linux. Linus Torvalds had some choice words for NVIDIA regarding Optimus not working on Linux, and NVIDIA is now currently working on official support.

However, if you have a laptop with Optimus support, you don’t have to wait for NVIDIA — you can use the Bumblebee project’s solution to enable Optimus on Linux today.

Image Credit: Jemimus on Flickr

Installing Bumblebee

We’ll be going over installation instructions for Ubuntu here. Installation on many other Linux distributions is fairly simple — you can find instructions on the Bumblee project’s website. The page includes instructions for Fedora, Debian, Arch, Mandriva, and Gentoo.

First, you’ll have to run the following command in a terminal window to add the Bumblebee project’s software repository to your Ubuntu system:

sudo add-apt-repository ppa:bumblebee/stable

image

Next, run the following command to download updated information about available packages:

sudo apt-get update

Run the following command to install Optimus support:

sudo apt-get install bumblebee bumblebee-nvidia

image

Restart your computer or log out and log back in after running this command.

image

Switching Between Integrated Graphics and NVIDIA

Your laptop will now use its integrated Intel graphics most of the time, cutting off power to the NVIDIA graphics card and improving your battery life.

When you want to run a program that takes advantage of your NVIDIA graphics, you’ll need to run it with the optirun command.

For example, if you want to run a game named game with NVIDIA graphics support, you’d run the following command in the terminal:

optirun game

While the game is running with the optirun command, the NVIDIA graphics will be enabled. When the game quits and optirun is no longer running, your notebook will switch to integrated graphics.

You should only use this command with games and other applications that require 3D graphics acceleration — don’t use it with an application that runs most of the time, such as your window manager, or you won’t see any power savings because the NVIDIA graphics will be in-use all of the time.

To test whether it’s working, you can try using the glxspheres graphics demo. First, run it without optirun:

glxspheres

Next, run glxspheres with optirun:

optirun glxspheres

You should see higher FPS with the second command, as it’s using your NVIDIA graphics.

image


NVIDIA will ideally bring official support that works out-of-the-box for everyone in the future, but Bumblebee is the best we can do for now.

Chris Hoffman is a technology writer and all-around computer geek. He's as at home using the Linux terminal as he is digging into the Windows registry. Connect with him on Google+.

  • Published 09/17/12

Comments (12)

  1. egisb

    Thanks,
    this is very interesting!

  2. Brian

    So cool! i will try it!

  3. Lee

    Wow, great timing. I just got a new laptop with Optimus graphics and will be installing Linux in a few days (I’m leaning towards Ubuntu because that’s what I have experience in, and my laptop is apparently really well supported with Ubuntu, but I might go with Sabayon). I booted off a Live disk and noticed that, when using DVI to connect to the docking station, I could only see my laptop’s screen. There was no way to switch to my external monitor. As it turns out, it’s because DVI only uses NVIDIA’s graphics, not the Intel graphics, so I had to switch to VGA (which I haven’t actually tested yet, I need to boot back onto my Ubuntu flash drive and install it).
    I was searching for a solution and saw mentions of Bumblebee but didn’t try it, so I’ll be sure to when I get it installed.

  4. EppsNL

    More like how to make Nvidia Optimus work on Ubuntu…

  5. UUUnicorn

    PLEASE DON’T think that it’s ONLY the Optimus that has been difficult with Linux–it’s ALSO the Ion graphics card restricted driver!

    I do know how to install the restricted driver in Linux–what I don’t know, however, is anything about any post-installation configuration work that I would have to do.

  6. Murphy

    Definitely I will try this soon on my new performance laptop. Also I would like to see some steps how to properly install ION driver for my nettop as it has some problems with a good acceleration of the flash.

  7. Paganel

    Great. However you have to start from an installed Linux, and it happens that with my Dell Vostro 3750, Ubuntu 12.04 LTS installation will abort because of the NVidia detection which isntalles the NVidia drivers.
    And if I try to install it in text mode, it aborts too.
    Given that on the Dell Vostro you cannot boot with the CD/DVD as AHCI and have to set the BIOS to IDE.
    Morality : Do not buy a Dell having an NVidia circuit, or do not run Linux. On my Vostro 3550 which has a Raedeon circuit, everything works perfectly.

  8. 0xRiddle

    I wonder , if I had vt-d (which I don’t ) and I installed bumblebee with the xen kernel ,would I be able then to passthrough my GPU to a VM .
    I know there are many factors to consider , but is even ‘doable’ ?

  9. Harm

    Isn’t it Nvidia’s task to fix Optimus-support under Linux?

  10. dh

    this thing screwed up my Linux-mint Cinnamon installation.. be careful ~ !

  11. rick

    @Harm

    I totally agree, IT IS “Nvidia’s task to fix Optimus-support under Linux?”
    I just wish AMD would hurry up and make/build their opensource driver to work beautifully in Linux.
    Then, I could just happily forget that “##!!$%-U Nvidia” ever existed.

  12. sodr

    bumbleecrap uses pbuffers and should therefore be shunned like the plague. if you are a read-only-user sure go for it. if you want to develop anything touching uptodate graphics forget about it!

Enter Your Email Here to Get Access for Free:

Go check your email!