Linux Mint – Installing Bumblebee for NVIDIA Optimus on Lenovo Y580

LM_beeFrom what I had previously read, it took a lot of special hacks and workarounds to get NVIDIA’s Optimus running correctly on the Lenovo Y580 (and other similar laptops) using the Bumblebee project. This was applicable only to the Linux 3.2 kernel. However, I just upgraded my kernel to 3.11, which is supposed to work with Bumblebee using just the standard installation. It does, but there are still a few quirks that needed to be addressed. Here are the instructions for installing and using Bumblebee for the Lenovo laptops.

  1. First, you need to remove old Nvidia drivers and any other attempts to install bumblebee. Remove these by executing the command below (and including any other nvidia-### and nvidia-###-updates driver versions that you might also have installed):
    sudo apt-get purge nvidia-319 nvidia-319-updates nvidia-304 nvidia-304-updates bumblebee-nvidia nvidia-current nvidia-settings nvidia-current-updates bbswitch-dkms bbswitch-source bumblebee nvidia-settings-304 nvidia-settings-304-updates nvidia-settings-319 nvidia-settings-319-updates primus
  2. After that, run the following commands:
    Add the appropriate repositories.sudo add-apt-repository ppa:bumblebee/stable
    sudo add-apt-repository ppa: ubuntu-x-swat/x-updates
    sudo apt-get update
  3. Install bumblebee and nvidia-bumblebee.sudo apt-get install nvidia-bumblebee bumblebee
  4. Restart computer.
  5. If autostarting bumblebeed service isn’t working, then create file /etc/init/bumblebeed.override, containing the following 2 lines (per on (runlevel [2345])
    stop on (runlevel [016])
  6. After finishing all of the steps above, you can run an application with the NVIDIA card enabled by running the commmand "optirun <application-to-run>". For example, to run Chrome with the NVIDIA card enabled, you would run the following from the command prompt:optirun google-chrome

You can check if the GPU is enabled (ON) or disabled (OFF) by running the following command:cat /proc/acpi/bbswitch

Here are useful links where I found portions of the answer needed, which I’ve compiled into the post above.

Linux manual pages for commands used: