Mobile GPU Switching With X.Org & Linux?
Phoronix: Mobile GPU Switching With X.Org & Linux?
One of the most recent innovations on the mobile front has been integrating two graphics processors into a notebook but not for binding them together via SLI or CrossFire but for real-time GPU switching. This technology though isn't supported on Linux, at least not yet. Intel's Centrino 2 and AMD's Puma platforms support having an integrated graphics processor and discrete graphics processor...
I can honestly say that I'm looking forward to any evolution that results in higher quality X.org code.
I'm thinking (but this is just a feeling, and nothing more) that most of the gfx problems we are experiencing today are because we need X.org to do things it was never designed to do, and as a result, for the things we DO want from X.org, it has been poorly designed.
The ASUS N10 can do GPU switching between an onboard GMA945 (I think) and a GeForce 9300GM. There's a switch on the side to control it. I don't know how Vista handles the switch, but it'll be a great thing when Linux can handle it.
I plan to get the N10, as it will be one of the first 10" laptops with a discrete graphics chipset in it. I'll have no problem switching between the two by rebooting and hitting the switch, having perhaps executed a script beforehand which alters xorg.conf.
Originally Posted by Rhettigan
The way it works now is, flip the switch, you get a prompt saying that you have to reboot, upon next boot it uses the other gpu. Rinse and repeat as necessary. "Hot swapping" of the gpu's without reboot is not possible at this time.
A layout like this is really a far less elegant solution then just simply adjusting p-states of a GPU which doesn't require reboots. Nvidia even has a better solution (although not yet in linux) with their Hybrid-Power which as well does not require a reboot. The Asus dual GPU setup reminds me of a 1996ish botch job of a Voodoo 1 implementation which required a separate card to do 2d but even that did not require a switch to be thrown and rebooted.
So what does happen when you install a current Linux distribution on a notebook that has multiple GPUs? Does it chose one GPU at random? Or can I specify that Linux should always use the integrated Intel GMA?
I would be fine with this, because the Intel GMA would be enough for desktop effects on Linux. But to play games in Windows I would like to switch to the more powerful dedicated ATi/nVidia GPU.
I don't think on the fly switching nvidia vs intel driver is so easy. It might be possible when X is shutdown, the opengl and some other libs are replaced to match the next driver and then the old kernel modules are unloaded (and for intel loaded) and X is started again. Would like to know what would happen to the framebuffer... Switching between standard Xorg drivers should be more easy. As Xorg autodetects the needed driver now, maybe X kill is enough.