Can't find a valid pixelformat on platforms that CAN run swing JMESwingTest

Hi,



The application I'm working on mixes a jME window in a Swing UI. On some platforms (most notably Windows notebooks running integrated Intel graphics chips. The machine I'm currently troubleshooting has Mobile Intel 945GM Express), my application won't render - the AWTGLCanvas encounters the following exception:



Pixel format not accelerated

Pixel format not accelerated

Unhandled exception occurred, skipping paint(): org.lwjgl.LWJGLException: Could

not find a valid pixel format

org.lwjgl.LWJGLException: Could not find a valid pixel format

        at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method)

        at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.java:52)

        at org.lwjgl.opengl.WindowsAWTGLCanvasPeerInfo.doLockAndInitHandle(WindowsAWTGLCanvasPeerInfo.java:59)

        at org.lwjgl.opengl.PeerInfo.lockAndGetHandle(PeerInfo.java:85)

        at org.lwjgl.opengl.AWTGLCanvas.paint(AWTGLCanvas.java:286)

        at sun.awt.RepaintArea.paintComponent(Unknown Source)

        at sun.awt.RepaintArea.paint(Unknown Source)

        at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)

        at java.awt.Component.dispatchEventImpl(Unknown Source)

        at java.awt.Component.dispatchEvent(Unknown Source)

        at java.awt.EventQueue.dispatchEvent(Unknown Source)

        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

        at java.awt.EventDispatchThread.run(Unknown Source)



Before I create the canvas, I do


DisplaySystem.getDisplaySystem("lwjgl").initForCanvas( 640, 480 );



To create the canvas, I call

DisplaySystem.getDisplaySystem("lwjgl").createCanvas( 640, 480 );



All this is exactly the same as occurs in jmetest.JMESwingTest. I can run JMESwingTest on this laptop just fine. However my application does not. Note that this only occurs on *some* video cards - another laptop running Windows XP with an ATI X1600 card works just fine. nVidia cards too are ok. This seems to crop up most often on notebooks running integrated Intel graphics chips. In some cases messing about with drivers seems to solve this problem. However, I'd like to see if there's any way of fixing this problem - or at least have my application behave like JMESwingTest.

Any help would be greatly appreciated.