GLCapabilitiesChooser / visual selection problems

Is anyone using the GLCapabilitiesChooser interface, in other words, implementing it and creating a custom selection algorithm?

Unfortunately it’s become apparent that there are some design flaws in how and when JOGL chooses its OpenGL pixel formats / visuals. Recently I’ve tried to address these flaws with an incompatible API change to the GLCapabilitiesChooser interface but found after making this change that there were still flaws remaining.

At this point it isn’t completely clear to me how to allow the user to provide input into this part of the OpenGL context creation process; note that to the best of my knowledge no other library even makes an attempt to do so. It would probably be simpler if we eliminated the GLCapabilitiesChooser interface, at least temporarily, until the root problem of visual selection has been solved correctly.

Are there any serious objections to this proposal? If so, could you please describe how you’re using the GLCapabilitiesChooser? Thanks.

Maybe this is wrong use of GLCapabilitiesChooser, but I planned to use this interface to enforce JOGL to use visual index specified in configuration file of my app during the installation time.

Another use shortly discussed in one of Xith3D forum threads was enforcing JOGL to use non-hardware-accelerated mode.

I see the probelsm not in the concept of GLCapabilitiesChooser, but in the algorithm of how it chooses the “best match”. As far as I can not suggest better algorithm for that, I assume that one implemented now is good enough (actually, works in most cases). Majority of problems I had with choosing visual were a) on Linux, b) caused by improper settings in desired GLCapabilities.

Yuri