I have been struggling with this for several weeks, and I have tried multiple versions of linux and multiple install methods to try and make this work, but to no avail until tonight. I figured I would post a guide for anyone who happens to be in the same position as me, because good information on this topic is little, hard to find, and mixed with a bunch of useless information (at least in my case).
To start off, I am on a Lenovo T530 running Optimus. I despise Optimus personally, if I hadn't wanted a dedicated graphics card in my computer I would not have ordered/paid for a dedicated graphics card in my computer (laptop really, but beyond the point). Whenever I changed the settings in the bios from Optimus to Discrete (the dedicated card), Linux would refuse to boot (even in recovery). I know that I am not the only one who has this issue, so as I said, I am posting the first complete guide (as far as I know) about making work (in my case).
Just a disclaimer, I am fairly new to Linux, I honestly don't know how and/or why this works, but I do know that it does.
Also keep in mind that I originally typed what is below this out in an email for a coworker who has the same laptop I do (work laptops), that's why I have very lenovo T530 specific instructions in there for some steps, just disregard those if you have a different optimus machine.
So here we go:
sudo apt-get install nvidia-current
sudo nano /etc/default/grub - change the line reading GRUB_CMDLINE_LINUX_DEFAULT from "quiet splash" to "noapic". Ctrl+O, enter, Ctrl+X (or alternatively change it to "quiet splash noapic")
sudo shutdown -r now
press enter as laptop boots, press F1 to enter bios. Go to configure and go to display, and set graphics card to discrete and OS detection to disabled. (this is, of course, only for the Lenovo T530 Users, and maybe other lenovo users whose bios work the same way)
At this point, you will boot into linux just fine. The only problem you will find you may have is that you can not change the brightness no matter what you do, which is obviously going to be a huge issue when it comes to battery discharge. This is how you fix it.
if you see an xorg.conf file, then do:
sudo cp xorg.conf xorg.back_conf_up
if you see what I saw, which was no xorg.conf, but an xorg.conf.failsafe, do:
sudo cp xorg.conf.failsafe xorg.conf
sudo cp xorg.conf.failsafe xorg.back_conf_up (just to be safe)
sudo gedit xorg.conf
Replace Section "device" to EndSection with:
VendorName "NVIDIA Corporation"
Option "RegistryDwords" "EnableBrightnessControl=1"
Option "OnDemandVBlankInterrupts" "1"
Option "Coolbits" "1"
sudo shutdown -r now
Go into bios and double check that graphics card is set as discrete.
When grub starts, press "e" when you are over linux and you will see the boot commands.
Make sure that you see noapic in the second to last line.
You are all set. You are now running a real graphics card inside of linux rather than being stuck with a POS intel integrated and software that pretends to load balance but doesn't seem to actually do it (yes I tried bumblebee like I was supposed with the fresh linux install and everything, I did not like how it worked, namely because I didn't really see a difference anywhere. Whereas now I see a huge difference).
Just to be safe, after all is set go to terminal and run:
sudo inxi -Gx
it should say:
Graphics: Card: NVIDIA Device 0def bus-ID: 01:00.0 X.org: 1.11.3 driver: nvidia tty size: 80x24 Advanced Data: N/A for root
Congrats, you have successfully enabled your discrete card on your Linux install.
Best part is in Mint Linux with Cinnamon I was getting complete lockups once every fifteen minutes or so, but since I have switched to the discrete card I've been perfect.