How To Make NVIDIA’s Optimus Work on Linux


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


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


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


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.

How Does Optimus Work? - Nvidia Optimus: What You Need to ...
9 Feb 2010 ... Nvidia launches its Optimus technology, designed to make switching ... We
explain the technology, test how well it works, and tells you what it ...,2817,2358928,00.asp

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


Next, run glxspheres with optirun:

optirun glxspheres

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


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.

  1. Thanks,
    this is very interesting!

  2. So cool! i will try it!

  3. 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. More like how to make Nvidia Optimus work on Ubuntu…

  5. 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. 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. 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. 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’ ?

    How to make Nvidia Optimus GT540m work on ubuntu 12.10? - Ask ...
    13 Jan 2013 ... I've already tried to follow literally everything on ask ubuntu and similar websites
    but still I cannot manage my graphic card: If I look under ...

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

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

    Disable nVidia Optimus (and only use nVidia card) [Solved ...
    I recently got a laptop with an nVidia GTX mobile graphics card. ... be done I
    would be ok with just getting the Optimus software to work properly.

  11. @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. 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!

How to Make Perfect Oven Baked Chicken Nuggets
In response to a question on our page from Amy, we searched for ways to make the ultimate baked chicken nugget recipe. The recipe we came up with underwent extensive lab testing, panel tasting (my wife being the panel), and more testing (in other words, we'd never made chicken nuggets, much less the baked kind, so this one took some trial and error).