How To Enable Nvidia Optimus Support On Linux
Nvidia Hybrid graphics are a notoriously sore subject for Linux users. Many Linux distributions don’t specifically outline how to enable support for Optimus. As a result, many laptop owners with both an Intel GPU and Nvidia GPU don’t have it enabled and don’t know the first thing about getting it working. As it turns out you can easily enable Nvidia Optimus support on Linux with a piece of software called Bumblebee.
Ubuntu
As far as enabling Nvidia Optimus support on Linux goes, Ubuntu users arguably have it the best. There’s no need to fiddle with third-party software sources, PPAs, downloadable Deb packages or anything of the sort. Instead, users just need to enable a proprietary Ubuntu software source (that Canonical maintains), install some packages, and restart your system.
The software sources that need to be enabled in order for Bumblebee to work on Ubuntu are Universe and Multiverse. To turn them on, open up a terminal and enter the following commands:
sudo apt-add-repository multiverse sudo apt-add-repository universe
Using apt-add-repository will instantly enable these software sources on your Ubuntu PC. Next, run the apt update command to check for any updates.
sudo apt update
After running an update check, you’ll need to install any software upgrades that appear. Installing these upgrades will ensure that Bumblebee runs at it’s best.
sudo apt upgrade -y
After upgrading your software, it’s safe to install Bumblebee.
sudo apt-get install bumblebee bumblebee-nvidia primus linux-headers-generic
When the installation completes, restart your Ubuntu PC. Upon logging back in, Nvidia Optimus support should be ready to go!
Debian
Much like Ubuntu, Debian users do not need to do any special tweaking to get Nvidia Optimus support. Instead, if you’d like your Intel/Nvidia hybrid laptop to work, it’s just a matter of installing a few packages.
Note: need to use Bumblebee with the Proprietary Nvidia driver? You’ll need to enable non-free and contrib in /etc/apt/sources.list, and install the Nvidia proprietary driver included in Debian first.
Bumblebee With Open Source Nvidia Drivers
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get upgrade -y sudo apt-get install bumblebee primus primus-libs:i386
Bumblebee With Proprietary Nvidia Drivers
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get upgrade -y sudo apt-get install bumblebee-nvidia primus primus-libs:i386
Once all the packages are installed, restart your Debian Linux PC, then log back in and Optimus support should work just fine!
Arch Linux
Getting Bumblebee on Arch Linux isn’t as simple as other Linux distributions. Instead of everything being pre-configured, you’ll need to do some manual setup. The first step is to install the necessary Bumblebee packages on Arch with Pacman.
Note: be sure to enable Multilib in /etc/pacman.conf before continuing, otherwise 32-bit applications will not work.
sudo pacman -S bumblebee mesa nvidia xf86-video-intel lib32-virtualgl lib32-nvidia-utils
Next, add your user to the Bumblebee system group.
su - gpasswd -a yourusername bumblebee
Enable the Bumblebee systemd service using systemctl.
systemctl enable bumblebeed.service
Finally, finish up the setup process by restarting your Arch Linux PC. When it finishes rebooting, Bumblebee and Nvidia Optimus will be working correctly!
Fedora
Unlike many other Linux distributions, Fedora doesn’t include Bumblebee in the main software sources. Instead, to enjoy Optimus support on the Fedora operating system, you’ll need to enable a few third-party software sources. To enable the software repos, open up a terminal and enter the following command.
sudo dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo
Now that the Negativo17 repo is enabled in Fedora, install the necessary Nvidia drivers:
sudo dnf install nvidia-driver kernel-devel akmod-nvidia dkms acpi
Next, enable the Bumblebee Copr repo.
sudo dnf copr enable chenxiaolong/bumblebee
Install the Bumblebee software in Fedora, using DNF.
sudo dnf install akmod-bbswitch bumblebee primus
Add your user to the Bumblebee group:
sudo gpasswd -a $USER bumblebee
Lastly, enable the Bumblebee systemd service, and disable the Nvidia fallback one.
sudo systemctl enable bumblebeed sudo systemctl disable nvidia-fallback
Finish up the process be rebooting your Fedora PC. When it comes back online, your Fedora Linux machine will have Optimus support!
Generic Instructions
Need Nvidia Optimus support on Linux but not running any of the distributions mentioned above? Your only option is to build everything from source. Start off by opening up a terminal and installing the latest Nvidia drivers for Linux. Then install the Wget tool, and use it to clone the latest Bumblebee code from the website.
wget bumblebee-project.org/bumblebee-3.2.1.tar.gz
Extract the Bumblebee Tar archive:
tar xf bumblebee-3.2.1.tar.gz
Run the configure script to generate Makefiles, and anything else necessary to build the software.
cd bumblebee* ./configure CONF_DRIVER=nvidia CONF_DRIVER_MODULE_NVIDIA=nvidia-current \ CONF_LDPATH_NVIDIA=/usr/lib/nvidia-current:/usr/lib32/nvidia-current \ CONF_MODPATH_NVIDIA=/usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules
Finally, compile the code and install it:
make sudo make install
Once Bumblebee is installed, refer to the official walkthrough page to learn how to get it working on your distribution.