The root of the problem is optimus..
Your h/w has hybrid graphics which is not supported directly by nVidia yet..
You would have had to use Bumblebee to dynamically load/switch between nVidia & intel iGFX.
You do not manually load the nVidia driver with Bumblebee..
As for your problem
What did the trick for me was, what linux4me advised here. Especially this line:
That did the trick, after that all the drivers installed fine. Windows look fine, panel and launcher are back, and I have my 1920x1080 back.sudo apt-get install linux-headers-generic
I did some research on what are header files and why should we install them. Normally header files are only needed at compile time, and the executable (binary) does not need them after that. But Nvidia happens to be an exception to this rule: I quote
sourceNVidia is different because what they do is provide a binary chunk of proprietary code (pre-compiled but not runnable without some additional system-specific code) wrapped in some open source code that you must compile for your machine in order to use the driver. This way, NVidia can use the same core code for their Windows and Linux drivers, and just wrap the core in platform-specific code that hooks the driver into the OS. That's why installing the NVidia proprietary driver needs the kernel headers to be installed in order to compile (but the driver core itself is still proprietary and is actually pre-compiled platform-
I am quite sure you can solve the problem the same way as I had exactly the same symtoms. But of course Optimus will not work, so batterylife won't be as good as in Windows.
Many thanks to linux4me