David Airlie Announces "Reverse Optimus" Multi-GPU

Written by Michael Larabel in Hardware on 7 January 2013 at 10:20 AM EST. 13 Comments
HARDWARE
David Airlie has announced work on "Reverse Optimus", which is a new approach he's taking for poking laptops with multiple GPUs, namely the NVIDIA Optimus laptops with a discrete NVIDIA GPU and integrated Intel graphics.

While there's been progress made in bettering the support for NVIDIA Optimus hardware under Linux, it's still far from perfect. Additionally, hitting the milestone of being able to switch compositors on-the-fly is going to require a lot more work. However, David Airlie has hacked together "Reverse Optimus" as a stop-gap measure.

David Airlie announced Reverse Optimus on his blog. He describes this concept as, "The intel still renders the compositor, however it can use the nvidia to output slaved pixmaps. This is totally the opposite of how the technology was meant to be used, and it introduces another copy. So the intel driver now copies from its tiled rendering to a shared linear rendering (just like with USB GPUs), however since we don't want nouveau scanning out of system RAM, the nouveau driver then copies the rendering from the shared pixmap into the nvidia VRAM object. So we get a double copy, and we chew lots of power, but hey you can see stuff. Also the slave output stuff sucks for synchronisation so far, so you will also get tearing and other crappyness."

While this implementation isn't the best, he's looking at possibly upstreaming the work. "There is also a secondary problem with the output configuration. Some laptops (Lenovo I have at least), connect DDC lines to the Intel GPU for outputs which are only connected to the nvidia GPU, so when I enable the nvidia as a slave, I get some cases of double monitor reporting. This probably requires parsing ACPI tables properly like Windows does, in order to make it not do that. However I suppose having two outputs is better than none :-) So I've gotten this working today with two intel/nvidia laptops, and I'm contemplating how to upstream it, so far I've just done some hackery to nouveau, that along with some fixes in intel driver master, and patch to the X server (or Fedora koji 1.13.1-2 server) makes it just work."

Read more on David Airlie's blog.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week