View Full Version : Fedora 18 - Disable Nvidia card (Optimus laptops)

16th March 2013, 06:52 PM
This is for Fedora 18, see next post for Fedora 19.

Nvidia optimus (on windows) allows the Nvidia GPU to take over when needed, and when it is not, the i3/i5/i7 GPU takes over and the Nvidia card shuts down to save power (This can double the battery life).
On Linux bumblebee is an attempt to allow all of these features. I am not bothered about them, I just want to power the Nvidia card off permanently; The intel GPU is powerful enough for my needs, and the more than doubled battery life is needed. (I was seeing 2:15 battery life with wireless off and nvidia card on to 6hrs with nvidia card off and wireless on, and 8:30 with nvidia card and wireless off.)

First things first, the disclaimer - may not work, may break something, no guarantees.

Unless you have the Nvidia drivers installed, start at step 1. If you have Nvidia drivers installed, start at step 0;

Known bug: Without nouveau installed I do not know how to get hibernate to work.
Fault with something else. Hibernate DOES with this set-up.

0. Unistall the Nvidia drivers
If you have the Nvidia drivers installed *I think* you need to reverse all of Leigh's instructions (like so: http://forums.fedoraforum.org/showpost.php?p=1342067&postcount=1006). You definitely need to un-install the Nvidia drivers, but I think you also need to run the last step again involving initramfs. So for those with nvidia drivers installed only start with:

yum erase *nvidia*;


mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nvidia.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)

Everyone else start here:

1. Install bbswitch:

yum -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora18/noarch/bumblebee-release-1.0-1.noarch.rpm
yum -y install bbswitch
Source: https://fedoraproject.org/wiki/Bumblebee

2. Disable nouveau:

grep -i "blacklist nouveau" /etc/modprobe.d/blacklist.conf 1>/dev/null \
|| echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
ln -s /etc/modprobe.d/blacklist.conf /usr/lib/modprobe.d/blacklist.conf

3. Enable bbswitch

echo -e "#load bbswitch \nbbswitch" >> /etc/modules-load.d/bbswitch.conf
echo -e "#options for bbswitch, disable it \noptions bbswitch load_state=0 unload_state=0" >> /etc/modprobe.d/bbswitch.conf

4. Restart
That should do it. Just restart and check that the card is switched off by doing:

5. Check it worked

cat /proc/acpi/bbswitch
if it is off you should see

0000:01:00.0 OFF
That is it. Any suggestions on anything I have done wrong, or anything that can be improved (including working hibernate) are welcome.

24th November 2013, 05:56 PM
Fedora 19 and 20:

1. Up date kernel and remove nouveau/nvidia:

yum -y update kernel*; yum -y erase *nouveau* *nvidia*;

2. Install bbswitch:
for fedora 19 do:

yum -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora19/noarch/bumblebee-release-1.1-1.noarch.rpm

for fedora 20 do:

yum -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora20/noarch/bumblebee-release-1.1-1.noarch.rpm

for fedora 19 and 20 do:

yum -y install bbswitch

3. blacklist nouveau and enable bbswitch on boot:

echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
ln -s /etc/modprobe.d/blacklist.conf /usr/lib/modprobe.d/blacklist.conf
echo -e "#load bbswitch \nbbswitch" >> /etc/modules-load.d/bbswitch.conf
echo -e "#options for bbswitch, disable it \noptions bbswitch load_state=0 unload_state=0" >> /etc/modprobe.d/bbswitch.conf

4. Reboot

5. Build initrd:

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-old.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)

7. Reboot

Test with:

cat /proc/acpi/bbswitch

which should show:

0000:01:00.0 OFF

27th November 2013, 12:57 PM
I thought it was going to be some boring old post, but it really compensated for my time. I will post a link to this page on my blog. I am sure my visitors will locate that extremely useful

OpeningTimesUK (http://www.openingtimesuk.com/openingtimes/primark-exeter/)