Doesn't work for you painting on the root directly as an usual window?
haven't tried that, but I think you are allowed to use the "normal" xlib routines to draw on it like it were another, non-root, window.
There is a very simple example in:
http://zez.org/article/articleprint/87/The only thing you may need to change in that example is the creation of an application window, you don't need it so you can try to paint directly on the root.
I repeat I haven't tried that, but it should work