The right tool to use: XGetImage or Compositing or something else entirely

Philip Lawatsch philip at lawatsch.at
Wed Feb 23 11:24:31 PST 2011


Hi,

I'm trying to get some direction / advice on how to proceed. I'm not
an experienced X developer (at least not with the raw x11 libs), so
I'm thankful for any advice.

What I'm trying to do is write some support to use an nvidia "optimus"
system under linux (basically one has two graphics cards, but only one
of the is connected to physical displays).
I've already written a prototype that can do (almost) everything I
want but am looking at ways to speed things up.

The way  I've done it is to start two x servers at the same time, one
using the intel driver, and one using the binary nvidia driver. Then
my prototype / hack connects to both x servers, does XGetImage(nvidia,
root_window) and XPutImage(intel, some_fullscreen_window). Then I
start some normal desktop environment on the nvidia server and 'work'
there, whilst getting my output via the display connected to the intel
one.

This however is way too inefficient on my laptop (getting around 40fps
with 100% cpu usage).

So, any suggestions / advice / best practices (other than not buying
hardware like that) for how I should try to speed that up?


kind regards



More information about the xorg mailing list