Hi Tomaz,
Bumblebee maintainer and nvidia-driver co-maintainer here (although to
be fair w.r.t. nvidia-driver, Andreas does most of the work there :P
); sorry for the late reply!
To the best of my understanding, what you're seeing (and I'll
elaborate further below with inline replies to the other parts of your
bug report) are probably not inconsistencies, but different methods of
enabling Optimus functionality on Linux, admittedly none of which are
seamless as with Windows. Arch Linux's wiki article on Optimus [1]
describes the current options pretty well (I suggest at least reading
the summary), i.e.
1) nouveau-only: PRIME GPU offloading using nouveau [2]
2) nvidia-only: nvidia's more recent implementation [3], also packaged
as nvidia-prime [4] in Ubuntu
3) nouveau or nvidia: bumblebee
...all of which have their own benefits and drawbacks.
It's worth pointing out that in Debian, only option 3 is packaged (as
bumblebee, bbswitch, and primus); options 1 and 2 should be possible,
but involve manual configuration. There's a request for nvidia-prime
to be packaged in Debian [5], but I simply haven't had time to get
around to it. The package in Ubuntu does not seem to be readily
backport-able to Debian, unfortunately.
That's probably nvidia-prime; I actually wasn't aware that the
nvidia's installer configures that automatically (but see [3] if you
want to do it yourself). I'll point out that this doesn't offer
transparent GPU switching; in order to switch between having your main
X display be driven by either your Intel or nvidia GPU, you need to
kill your current X session and start a new one. This also partially
defeats one of the supposed benefits of Optimus, i.e. that your nvidia
GPU is powered down when not in use to save battery life on your
laptop; with nvidia-prime, with your nvidia GPU enabled, it remains
enabled and powered on until you end your current X session, as
opposed to e.g. bumblebee.
Yes, without any X server configuration (either done by yourself or
apparently by nvidia's installer), you'll be using your intel GPU to
drive your primary display, and that requires mesa's libGL
implementation rather than nvidia's. This is the ideal configuration
if you can disable your nvidia GPU via a BIOS setting and choose not
to use your nvidia GPU.
And of course bumblebee is also a viable option; this allows you to
run applications using your nvidia GPU on-demand, and bumblebee will
automatically toggle your nvidia GPU on and off as necessary (this is
actually done by bbswitch), but you have to specify which applications
you want using optirun (everything uses your Intel GPU by default).
Note that bumblebee may not offer the best performance compared to
nvidia-prime (it works essentially by intercepting GLX calls and
redirecting GL rendering to an invisible, secondary X display, then
copying everything back to the primary X display, from what I
understand).
In summary, there's no perfect solution, although it would be nice if
nvidia-prime was packaged for Debian...it's on my todo list, but I
totally wouldn't mind if someone beats me in packaging it for Debian.
:)
Regards,
Vincent
[1] https://wiki.archlinux.org/index.php/NVIDIA_Optimus
[2] http://nouveau.freedesktop.org/wiki/Optimus/
[3] http://us.download.nvidia.com/XFree86/Linux-x86/319.12/README/randr14.html
[4] https://launchpad.net/ubuntu/+source/nvidia-prime
[5] http://lists.alioth.debian.org/pipermail/pkg-nvidia-devel/2014-November/010814.html