If in your notebook is it impossible to turn Intel Graphics / Optimus off in the BIOS then try this procedure for install nvidia driver:
1) First uninstall nvidia driver if installed in fedora 17 from rpmfusion (akmod-nvidia, kmod-nvidia,kmod-nvidia-PAE...) or manual installation (bumblebee 3.0 script install new nvidia driver)
2) blacklist nouveau in /etc/modprobe.d/blacklist.conf
3) move old initramfs
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
4) recreate initramfs without nouveau
dracut /boot/initramfs-$(uname -r).img $(uname -r)
5) From http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora17/x86_64
(for 64 bit) install
VirtualGL, bbswitch ,bumblebee,primus rpm ( and acpi-handle-hack rpm, only for Lenovo ideapad Y470/Y480/Y570/Y580 or Toshiba Satellite P870 )
6) On fedora 17, type this command as root:
yum -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora17/noarch/bumblebee-nonfree-release-1.0-1.noarch.rpm
(from tutorial http://techies.ncsu.edu/wiki/bumblebee-nvidia
7) Install bumblebee-nvidia rpm from yum (or yumex)
8 ) Reboot pc, now bumblebee-nvidia script compile nvidia driver for kernel in use.
9)Now optimus is ok
10) Usage (from tutorial https://wiki.archlinux.org/index.php/Bumblebee
The command line programm optirun shipped with bumblebee is your best friend for running applications on your Optimus NVIDIA card.
Test Bumblebee if it works with your Optimus system:
If it succeeds and the terminal you are running from mentions something about your NVIDIA - Optimus with Bumblebee is working!
$ optirun [options] <application> [application-parameters]
Start Firefox accelerated with Optimus:
Start Windows applications with Optimus:
$ optirun wine <windows application>.exe
Use NVIDIA Settings with Optimus:
$ optirun nvidia-settings -c :8
For a list of options for optirun run:
You can configure the behaviour of Bumblebee to fit your needs. Fine tuning like speed optimization, power managment and other stuff can be configured in /etc/bumblebee/bumblebee.conf
12) Optimizing Speed
Bumblebee renders frames for your Optimus NVIDIA card in an invisible X Server with VirtualGL and transports them back to your visible X Server.
Frames will be compressed before they are transported - this saves bandwith and can be used for speedup optimization of bumblebee:
To use an other compression method for a single application:
$ optirun -c <compress-method> application
The method of compres will affect performance in the GPU/GPU usage. Compressed methods (such as jpeg) will load the CPU the most but will load GPU the minimum necessary; uncompressed methods loads the most on GPU and the CPU will have the minimum load possible.
Compressed Methods are: jpeg, rgb, yuv
Uncompressed Methods are: proxy, xv
To use a standard compression for all applications set the VGLTransport to <compress-method> in /etc/bumblebee/bumblebee.conf
Note: CPU frequency scaling will affect directly on render performance
13) kernel upgrade with bumblebee
Bumblebee-nvidia script compile nvidia kernel module for new kernel. Is not necessary reinstall bumblebee for kernel upgrade
14) Bumblebee FAQ (from https://github.com/Bumblebee-Project/Bumblebee/wiki/FAQ
Why do I get a much lower FPS with optirun glxgears in comparison with just glxgears?
Because glxgears is not a benchmarking tool. Try optirun glxspheres instead. For improving the FPS, you could try other transport methods for now, e.g. optirun -c yuv glxspheres. Consult the manual page of optirun for all options. If you get an error mumbling about RGB, pbuffers or NV-GLX, you have likely messed up the installation of the proprietary driver (i.e. nvidia).
15) The Future: Bumblebee-Project + Primus
Primus, developed by Alexander Monakov, brings better performance and less power consumption when using Bumblebee, by replacing VirtualGL (might be integrated into Bumblebee in the future)
- Less overhead (better framerates) and cleaner solution (no networking or compression involved at all)
- Only uses/starts secondary GPU for OpenGL parts of applications - everything else remains on your main GPU (power savings)
- Fixes the "bug" that causes Bumblebee to shut down the GPU too early sometimes
How it works
Bumblebee uses VirtualGL to copy the image generated by the second (faster) GPU to your display. VirtualGL was intended for use over a network though, so it takes a great many steps to enable this (compression, sending the image over a network link, decompression, etc).
Primus doesn't perform all these "extra" steps, instead taking a more direct route (copying the rendered image in memory to the other GPU, then displaying there). In theory this should get you better performance as well as better compatibility. Running applications will "see" the OpenGL implementation of your real hardware, nothing virtual is presented to them.
60.826453 frames/sec - 67.882321 Mpixels/sec
$ vblank_mode=0 optirun glxspheres
139.898553 frames/sec - 156.126785 Mpixels/sec
$ vblank_mode=0 primusrun glxspheres
290.799630 frames/sec - 324.532388 Mpixels/sec
Manual Installation and faq
If primus rpm does not work then uninstall and performs a manual Installation
You can install it separately AFTER bumblebee
download, build from source and install then use the included primusrun script instead of optirun.
Keep your bumblebee daemon/settings as they have been for optirun, no need to change anything - just replace "optirun" by "primusrun".