I just bought the new Razer Blade, which comes with an NVidia 660m GTX and an integrated Intel HD 4000 chipset (Ivy Bridge). Assuming it followed the same pattern as the MacBook Pro that I own, I tried getting the dedicated NVidia chip set up to run Xorg on. I'd then worry about getting the Intel chip enabled later. Ironically, the only chip I could get recognized was the Intel chip... The NVidia kernel module could not find any NVidia hardware.
Enter Optimus... I was somewhat puzzled by my Gentoo experience on this laptop and started looking around on the internet. I had read about this laptop featuring 'Optimus' but I somewhat wrote it off as a buzzword. The Wikipedia page however started to change my perception a little. It appears that the two GPUs have a symbiotic relationship, as opposed to the 'friendly' relationship they had in older laptops. The dedicated GPU can not function without the integrated GPU! The dedicated GPU renders into the integrated GPU's frame-buffer when active. This allows for a combined final result where only part of the screen is rendered by a dedicated GPU.
As I looked back at the somewhat confused output from the NVidia kernel module I wondered how many properties I would have to add to my xconfig file to get this all to work. Only to then realize that all the configuration in the world wouldn't help with my kernel module. I headed back to Google and ended up at the Bumblebee project. It's an opensource attempt to get the Optimus technology to function on Linux. Reading a bit more on the forums there I learned that NVidia has no intention to support Optimus with the proprietary NVidia Linux drivers... It managed to get them the finger from Linus.
So, the approach to getting a laptop with Optimus technology to run Xorg is to configure Xorg with the Intel GPU and then use Bumblebee to get the dedicated GPU activated. The only way to leverage the dedicated GPU at that point is to launch applications with Bumblebee's 'optirun' executable which will then render the application's graphical output into the integrated GPU's frame-buffer. While I applaud the technology in principle, I'm very disappointed with the total lack of support from a Linux perspective.
The open-source Nouveau driver will probably be the first to support this infrastructure. I'm unsure whether the APIs of DRM Prime and the DMABUF back-end are GPL-only. If not, the official nVidia driver might support this in the future. From what I've heard (but no official sources) nVidia is exploring the possibilities of supporting this the DMABUF backend in their official driver.
[Comment edited on Saturday 29 December 2012 14:17]
Nvidia is working on getting optimus working with the closed source linux driver though.
Comments are closed