Not sure about X Windows, but you can paint on X Pixmaps using QPixmap::fromX11Pixmap(id,
QPixmap::ExplicitlyShared) and painting on it.
Will drawing on it update pixmap on X server side, or will this be a new QPixmap (a copy) when i draw on it?