Hybrid Graphics In Ubuntu Are Still Lackluster
Notebooks with "hybrid graphics" -- two GPUs that come down to a low-power integrated graphics processor and a high-performance discrete graphics processor with being able to dynamically switch between GPUs based upon performance/power needs -- has long been a problem for Linux. It wasn't until recently that the Linux stack has had rudimentary hybrid graphics support via PRIME / DRI2 offloading, but still it doesn't handle the dynamic power management at the moment, there isn't any easy-to-use configuration interface, and all bugs have yet to be ironed out.
Ubuntu classifies the support in the current Ubuntu 12.10 release as, "DRI2 offloading implemented in 12.10 does not work properly. Performance is poor and most things will not render." Fortunately, they have been discussing some improvements for Ubuntu 13.04 in terms of Hybrid Graphics / Optimus.
Canonical hasn't done much upstream to further this area aside from small contributions by Maarten Lankhorst, but discussed today at the Ubuntu Developer Summit in Copenhagen was how to handle exposing the hybrid graphics settings to users.
While ideally the user-experience should be fully transparent with not needing to worry about setting up a different GPU to peg, there are some limitations like currently not being able to switch running applications from one GPU to another, driver issues, etc. Ubuntu developers are talking of possibly profiling applications and to effectively flag applications that should run on a high-performance GPU or not -- likely though a static list of binaries, albeit it would be far from exhaustive and not cover all scenarios with there being many different hybrid GPU configurations.
Aside from a possible automatic "balanced" approach, developers also discussed merging some override capabilities into a "power applet" or through the Ubuntu system settings for being able to either force the dedicated GPU always-on or always-off. There was also talk of allowing packaged applications to specify where they prefer running on the high-performance GPU or not through a string within the program's desktop file, which would then set the necessary environment variable within Unity.
Coming from upstream Linux developers, namely David Airlie, should be PRIME power management support for the Linux 3.8 kernel to conserve power for the unused GPU and on-the-fly GPU switching might come to X.Org Server 1.14.
Another big problem that remains is that the hybrid graphics support will not work with the proprietary AMD Catalyst and NVIDIA Linux graphics drivers since most kernel developers don't want non-GPL drivers using DMA-BUF. NVIDIA is trying to support it but ends up being blocked by the DMA-BUF symbols being for GPL-only use. It's probably unlikely this will be resolved prior to Ubuntu 13.04.