I've been using the Java2D OpenGL pipeline + JOGL 1.1.1a for about 18 months on a project where I do things like put GLJPanels in JInternalFrames and overlay other semi-transparent JInternalFrames over top of them. So far it's all been working great both on Windows and Linux with NVIDIA graphics cards.
A couple of weeks ago NVIDIA released a new 260.xx series of drivers - 260.19.12 is the latest version for Linux and Ubuntu 10.10 comes with 260.19.06 now. This series of drivers significantly breaks the Java2D OpenGL pipeline. I get empty windows unless I set -Dsun.java2d.opengl.fbobject=false now, and the X server often crashes when a Java app using the OpenGL pipeline is closed. I posted a thread describing all this on the NVIDIA nvnews.net forum here: http://www.nvnews.net/vbulletin/showthread.php?t=156264 I think I've made some headway on the X server crashing problem, it seems any application creates a pbuffer and then exits has a good chance of crashing the X server with the 260.xx drivers. The other thing I've noticed of course is JOGL is no longer an officially supported Sun project, and development of JOGL 2 has been taken over by jogamp.org. They are releasing snapshot versions but in their current versions GLJPanel is "quite broken" (quoting a forum post) - I can confirm this is true, even when not using the Java2D OpenGL pipeline. It seems the only working ways to use JOGL 2 at this point is to use a GLCanvas with Swing/AWT, or to use their new NEWT GLWindow. Neither of these is a great option for integration with Swing components (particularly transparent swing components) - even with the new heavyweight/lightweight mixing improvements in 6u12 putting a semi-transparent lightweight component over a heavyweight component (ie GLCanvas) does not allow the heavyweight component to show through (http://java.sun.com/developer/technicalArticles/GUI/mixing_components/index.html). So all of this leaves me a bit uncertain about the future of the Java2D OpenGL pipeline + JOGL for OpenGL/Swing integration. From what I've read it seems folks like Chris Campbell (and probably others) did significant work with NVIDIA and ATI to try to get all the pieces actually working with their drivers. In this blog post Chris mentions a "basic acceptance test suite" for driver vendors to run to make sure the OpenGL pipeline works with new driver version (http://webcache.googleusercontent.com/search?q=cache:1wKVEmLPky8J:www.java.net/blog/2006/07/21/five-more-easy-pieces+5+more+easy+pieces+java2d&cd=1&hl=en&ct=clnk&gl=us). Unfortunately based on the 260.xx series it seems NVIDIA doesn't care to run this any more. Anyone have any thoughts on all this? Is anybody at Oracle still working on OpenGL in Java? Is the future of OpenGL/Swing integration really as dire as I am afraid it might be? Thanks, Aaron Riekenberg