You need to get the current framebuffer pointer every time you're about to render.
Can I not set the frame buffer pointer to use double-buffering?
A pointer is nothing but an integer that refers to a memory location. All you can do is make it point somewhere and read where it's pointing to. That's it.
I'm asking if can you tell the X API to change its rendering pointer to a different address. To quote Wikipedia, "The page-flip is typically accomplished by modifying the value of a pointer to the beginning of the display data in the video memory." How do you accomplish this with X?