I am successful in using the NVidia GPU together with bumblebee to get 3D acceleration on the internal screen.
My problem is to connect an external monitor. The laptop is equipped with a Thunderbolt port which also acts as a mini DisplayPort (as far as I understand). It works fine under Mac OS X.
In my last attempt, I have:
installed kernel 3.11 (from Debian backports)
installed the nvidia 331.20 proprietary drivers through the Debian packages
Note that in this attempt no X server is running on the GPU, I expect nvidia-config to not need it to detect the monitor (which is an Apple LED Cinema by the way, but I’ve tried with a VGA monitor and a DP-VGA adapter too).
I thought the macs had a set-up similar to optimus on my Thinkpad W530. I think the external ports are physically only connected to the NVidia card. Your X has started using the intel card/driver. So X is only able to drive the internal screen.
Bumblebee or prime is not going to help you here. It can currently only be used to render via the discrete GPU onto a display/port connected the intel card
You need to load the nvidia driver and set-up X (xorg.conf) to use your nvidia card. Have you tried running nvidia-xconfig, copying the generated config file to /etc/X11/xorg.conf or /etc/X11/xorg.conf.d/whatever.conf? X should start from the nvidia card (and drain your battery) this way and you will be able to drive your external screen(s).
Be aware though, you can not also drive the internal screen this way if in “optimus” mode, because it is allocated to the intel card. Make sure an external display is connected when starting x with the nvidia card.
My config looks like this, when I want to drive the external screens:
Yes, I also think the Display Port is connected to the nvidia card, and that’s the reason why I am writing to this forum :-). The point is that the external screen is not detected by nvidia-config…