Just yesterday morning we reported on hybrid graphics coming to Linux in a crude form
, which allowed dual-GPU notebook systems to switch between the onboard GPUs via a kernel patch but what made it crude was that it wasn't seamless switching within the running X.Org Server (it won't be this way for some time) and it didn't actually turn off the other GPU when the other one was in use. In the past 24 hours, however, David Airlie has published three new versions of this Linux kernel patch.
The second version of Airlie's "switcheroo" code as it's called brought support for powering up and powering down the GPUs. For Intel GPUs this means putting it in a D3 suspended state while for Mobility Radeon GPUs it actually cuts the power to the graphics processor so that it is completely off. The third version of switcheroo then brought reworked probing methods so that no DMI list is used but now looks for an ATPX method. The fourth (and final, for now) version of this patch delivers on compatibility with more systems. Turning on and off the unused GPU is as easy as writing "ON" or "OFF" to /sys/kernel/debug/vgaswitcheroo/switch
The fourth version of David Airlie's switcheroo patch can be found in his FreeDesktop.org folder
. Additionally, he has provided new comments on this work via his blog
. Right now this code supports ATI/ATI and Intel/ATI GPU combos, but David mentions on his blog that the Nouveau driver should already be detecting the DSM method that it likely uses for the NVIDIA GPU switching, so it really shouldn't be too difficult to wire it up.