Unable to select one of the provided GLCapabilities

Hello,

I have developped an application with JOGL wich works fine under windows. I am trying to use it on solaris throught an XClient (Xming) and i have the following exception:

Exception in thread “Thread-30” javax.media.opengl.GLException: Unable to select one of the provided GLCapabilities
at javax.media.opengl.DefaultGLCapabilitiesChooser.chooseCapabilities(DefaultGLCapabilitiesChooser.java:218)
at com.sun.opengl.impl.x11.X11GLDrawableFactory.chooseGraphicsConfiguration(X11GLDrawableFactory.java:190)
at javax.media.opengl.GLCanvas.chooseGraphicsConfiguration(GLCanvas.java:520)
at javax.media.opengl.GLCanvas.(GLCanvas.java:131)
at javax.media.opengl.GLCanvas.(GLCanvas.java:90)
at animation3D.com.ComGLCanvas.(ComGLCanvas.java:42)
at animation3D.com.ComGLCanvas.(ComGLCanvas.java:55)
at task.TaskJAnimation3D.getComGLLoadingCanvas(TaskJAnimation3D.java:336)
at task.TaskJAnimation3D.initializeDisplay(TaskJAnimation3D.java:147)

Here are the information indicated on the logging about the machine
Architecture : sparc sun4u
O.S. : SunOS 5.8 Generic_117350-51

I am using the following libraries solaris_sparc version 1.1.1 (last release build)

I have looked at the code of the DefaultGLCapabilitiesChooser class and the code which generate the exception is the following:

// Ready to select. Choose score closest to 0.
int scoreClosestToZero = NO_SCORE;
int chosenIndex = -1;
for (int i = 0; i < scores.length; i++) {
int score = scores[i];
if (score == NO_SCORE) {
continue;
}
// Don’t substitute a positive score for a smaller negative score
if ((scoreClosestToZero == NO_SCORE) ||
(Math.abs(score) < Math.abs(scoreClosestToZero) &&
((sign(scoreClosestToZero) < 0) || (sign(score) > 0)))) {
scoreClosestToZero = score;
chosenIndex = i;
}
}
if (chosenIndex < 0) {
throw new GLException(“Unable to select one of the provided GLCapabilities”);
}

here is the code used to generate the canvas:
GL gl = gLDrawable.getGL();

	textures.loadTextures();

	// enables clearing values for the color buffers
	gl.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
	// select smooth shading
	gl.glShadeModel(GL.GL_SMOOTH);
	// enables clearing of the depth buffer
	gl.glClearDepth(1.0);         
	// enables depth testing
	gl.glEnable(GL.GL_DEPTH_TEST);
	// the type of depth test to do
	gl.glDepthFunc(GL.GL_LEQUAL);
	// really nice perspective calculations
	gl.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);

	// enables double buffering
	gl.glEnable(GL.GL_DOUBLEBUFFER);

	// enables antialiasing 
	gl.glEnable(GL.GL_LINE_SMOOTH);
	
	// enables lighting
	gl.glEnable(GL.GL_LIGHTING);
	// enables color material
	gl.glEnable(GL.GL_COLOR_MATERIAL);
	// enables texturing
	gl.glEnable(GL.GL_TEXTURE_2D);		
	
	// Start initialization with kernel
	((DataJAnimation3DXML)dataXml).getAnimation3D(false);

	// switch load and display glcanvas
	comGLLoadingCanvas.getAnimator().stop();
	comGLLoadingCanvas.setVisible(false);
	comGLDisplayCanvas.setVisible(true);
	pack();

	// animation3D will run
	statusField.setText(ComResources.translateText(LanguageConstant.ANIMATION_STATUS) + " : "
			+ ComResources.translateText(LanguageConstant.ANIMATION_RUNNING));

	// animation3D is running, we can modify the light
	comJToolBarAnimation3D.getComJSliderLight().setEnabled(true);

	// now allowance to move the camera
	mouseController.attach(gLDrawable);

thanks for the help