So after a lengthy process of many different methods I finally stumbled upon one that works:
This is for a fresh install of Linux Mint 17.1 (Rebecca)
- update completely
sudo apt-get update
& sudo apt-get upgrade
Add 'nomodeset' to the grub loader i.e. sudo nano /etc/default/grub
should look like this:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
GRUB_CMDLINE_LINUX=""
install bumblebee bumblebee-nvidia bbswitch-dkms primus through synaptic package manager because there are dependancies for these three that didn't show up on the apt-get call
sudo apt-get install libcuda1-331 libvdpau1 nvidia-331 nvidia-331-uvm nvidia-libopencl1-331 nvidia-opencl-icd-331 nvidia-settings screen-resolution-extra
gksudo gedit /etc/bumblebee/bumblebee.conf
Change:
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=
to:
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia
Also change:
## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-current
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-current:/usr/lib32/nvidia-current
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
to:
## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-331
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-331:/usr/lib32/nvidia-331
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-331/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
Finally save the file, reboot and then test vblank_mode=0 glxgears
you should get a high frame rate using the dedicated graphics chip.
You can also run programs with the dedicated graphics using optirun <application>