How about using a pbuffer? I think you'd find pretty broad support for that feature. I've saved large images from a pbuffer (4096 pixels wide).
Also you may need to increase the memory used by your JVM if you want to save large images. I use: java -Xms360m -Xmx360m ....
and of course your graphics card needs to have enough memory for a large pbuffer if you go that route.
And finally you can create really huge images by using glFrustum() to render the scene a piece at a time, save each screen image to a file, and then stitch the files together. It takes some work but I've used this technique to produce large hi-res prints from scenes. If you want code I can dig it up.