bbswitch is a kernel module which automatically detects the required ACPI calls for two kinds of Optimus laptops. It has been verified to work with “real” Optimus and “legacy” Optimus laptops.
kernel-headers
and kernel-devel
are needed to install bbswitch with dkms. Now, installing with dkms ensures that bbswitch is going to survive future kernel upgrades.
sudo yum install kernel-headers kernel-devel dkms
Download the latest stable version of bbswitch, extract, and install with dkms.
wget https://github.com/downloads/Bumblebee-Project/bbswitch/bbswitch-0.5.tar.gz tar -xf bbswitch-0.5.tar.gz cd bbswitch-0.5 sudo make -f Makefile.dkms
The nouveau driver needs to be unloaded before bbswitch can be loaded. If nouveau driver is being used somewhere, then the way around is to blacklist nouveau, and rebuild initramfs.
A simple lsmod can reveal if nouveau driver is being used:
lsmod | grep nouveau
You can also try unloading nouveau:
sudo modprobe -r nouveau
If the above fails, we are heading over to blacklisting nouveau and rebuilding initramfs.
su -c "echo 'blacklist nouveau' >> /etc/modprobe.d/disable-nouveau.conf" sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img sudo dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r)
If all goes well, reboot.
Nouveau driver can now be easily removed and bbswitch can be loaded once the system has restarted.
sudo modprobe -r nouveau sudo modprobe bbswitch
Once, bbswitch is loaded, disabling and enabling the graphics card is just a walk in the park:
sudo tee /proc/acpi/bbswitch <<< OFF # disable sudo tee /proc/acpi/bbswitch <<< ON # enable
Verifying the status of the card is as easy as:
cat /proc/acpi/bbswitch