I've been browsing the web for information regarding muxless graphics (aka Optimus) with new NVIDIA discrete graphics chips. The results have been alright, however I feel like there is a lack of aggregation of this information.
My setup is the following:
MSI GT70 laptop with,
Ivy Bridge i7-3610QM cpu with HD4000 iGPU (integrated GPU), and
nvidia GTX 675m dGPU (discrete GPU)
Currently with the latest nvidia binary blob and bumblebee, I get the following error when I try to use 'optirun'
This shows you that the issue is a little more deep than just nvidia not providing support. It seems like some changes are needed to Xorg in order to allow this kind of thing to work.
[ERROR]Cannot access secondary GPU - error: [XORG] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0
[ERROR]Aborting because fallback start is disabled.
In fact it seems that the way a lot of laptops like mine with gtx 6xx discrete chips are wired, is for the dgpu to copy it's rendered image into the memory of the igpu on intel's chip. This is new, and there will need to be some software changes in linux before proper drivers can be written. There is already progress being made though on both fronts it seems!
In the kernel world, there is 'DMA-BUF', which would be the ideal case. This way NVIDIA could do something much closer to what is happening on windows. However there are the much heard of conflicts with the closed-source nature of NVIDIA's software.
Another way is being pursued by david airlie in the form of enhancements to the xorg server and freedesktop drivers to allow gpu offloading, which he is calling PRIME. here, here, and here.
I'm sitting here eager to test new software to get this stuff working however I'm not sure what is current or if anyone has tried various things before, so I'm creating this thread for this purpose. If anybody has any information about new software please post it here. I should mention that I would like to try the prime notes mentioned here like this guy, however I get the following error when cloning the mesa git tree he has.
So, I'm waiting until something I can test is ready.
matthew@sibelius:~/Sources$ git clone git://people.freedesktop.org/~airlied/mesa mesa_prime
Cloning into 'mesa_prime'...
remote: Counting objects: 496561, done.
remote: error: unable to find 536cb264f64e90e4123ad30b4cf0a155244c0eb0
remote: error: unable to find 77ed5b4ff21d5a99313380db94ff58b6d2a0be6a
remote: error: unable to find a91bdb3499de0eef0197803410a19f53f70cad51
remote: Compressing objects: 100% (91027/91027), done.
remote: fatal: unable to read 536cb264f64e90e4123ad30b4cf0a155244c0eb0
remote: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: index-pack failed
I will edit this post to make it more readable and contain more information such as links as they become available. Hopefully soon I will be able to post how to get it working.