Setting up jME 2.0.1 from GoogleCode

I tried to set up Eclipse (Galileo) to use the jME 2.0.1 snapshot build obtainable from http://code.google.com/p/jmonkeyengine/downloads/list, using the instructions from the Wiki: http://www.jmonkeyengine.com/wiki/doku.php/downloading_and_installing_jme_2_from_googlecode. Unluckily, the Wiki entry seems to be outdated.



Step 12 says I should point Eclipse to jME_2.0.jar, the closest guess seemed to be lib/jme.jar, but that jar is mentioned in step 20/21 and using it twice would seem stupid.

Step 18 says to use lib/natives as the native library location, but that doesn't exist. I guess I should use lib/lib/lwjgl/native/windows, but it might also be lib/lib/swt/windows.



Maybe someone can help me out and update the Wiki accordingly.

I got it to work now by just adding all jars (except lib/lib/jme-colladabinding-src.jar) in the lib-tree. I set the native library only for the lwjgl libraries.



But I think there's still something wrong:

  1. jmetest.TutorialGuide.HelloWorld throws an exception when starting into LWJGL windowed mode, but manages to start:

09.04.2010 13:47:21 com.jme.app.BaseGame start
INFO: Application started.
09.04.2010 13:47:21 com.jme.system.PropertiesGameSettings <init>
INFO: PropertiesGameSettings created
09.04.2010 13:47:21 com.jme.system.PropertiesGameSettings load
INFO: Read properties
09.04.2010 13:47:24 com.jme.system.PropertiesGameSettings save
INFO: Saved properties
09.04.2010 13:47:24 com.jme.app.BaseSimpleGame initSystem
INFO: jME version 2.0 Stable (r4093)
09.04.2010 13:47:24 com.jme.input.joystick.DummyJoystickInput <init>
INFO: Joystick support is disabled
09.04.2010 13:47:24 com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
09.04.2010 13:47:24 com.jme.renderer.lwjgl.LWJGLRenderer <init>
INFO: LWJGLRenderer created. W: 640 H: 480   Version: 2.1.0
09.04.2010 13:47:24 com.jme.app.BaseSimpleGame initSystem
INFO: Running on: MTXPARHD
Driver version: 6.13.1.1691
Matrox Graphics Inc. - Matrox ICD for Parhelia - 1.3
09.04.2010 13:47:24 com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
09.04.2010 13:47:24 com.jme.util.lwjgl.LWJGLTimer <init>
INFO: Timer resolution: 1000 ticks per second
09.04.2010 13:47:24 com.jme.scene.Node <init>
INFO: Node created.
09.04.2010 13:47:24 com.jme.scene.Node <init>
INFO: Node created.
09.04.2010 13:47:24 com.jme.scene.Node <init>
INFO: Node created.
09.04.2010 13:47:24 com.jme.scene.Node attachChild
INFO: Child "Graph node" attached to this node "Stats node"
09.04.2010 13:47:24 com.jme.renderer.lwjgl.LWJGLTextureRenderer <init>
WARNUNG: FBO not supported.
09.04.2010 13:47:24 com.jme.system.lwjgl.LWJGLDisplaySystem createTextureRenderer
INFO: FBO not supported, attempting Pbuffer.
09.04.2010 13:47:24 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer setMultipleTargets
INFO: Copy Texture Pbuffer supported!
09.04.2010 13:47:24 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer <init>
INFO: Creating Pbuffer sized: 1024 x 512
09.04.2010 13:47:25 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer initCamera
INFO: Init RTT camera
09.04.2010 13:47:25 com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
09.04.2010 13:47:25 com.jme.scene.Node <init>
INFO: Node created.
09.04.2010 13:47:25 com.jme.scene.Line <init>
INFO: Line created.
09.04.2010 13:47:25 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer setupTexture
INFO: setup tex2: 1024,512
09.04.2010 13:47:25 com.jme.scene.Node attachChild
INFO: Child "lineGraph" attached to this node "Graph node"
09.04.2010 13:47:25 com.jme.scene.Node attachChild
INFO: Child "f4" attached to this node "Graph node"
09.04.2010 13:47:25 com.jme.renderer.lwjgl.LWJGLTextureRenderer <init>
WARNUNG: FBO not supported.
09.04.2010 13:47:25 com.jme.system.lwjgl.LWJGLDisplaySystem createTextureRenderer
INFO: FBO not supported, attempting Pbuffer.
09.04.2010 13:47:25 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer setMultipleTargets
INFO: Copy Texture Pbuffer supported!
09.04.2010 13:47:25 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer <init>
INFO: Creating Pbuffer sized: 1024 x 128
09.04.2010 13:47:25 class com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer initPbuffer()
SCHWERWIEGEND: Exception
org.lwjgl.LWJGLException: Could not create Pbuffer
   at org.lwjgl.opengl.WindowsPbufferPeerInfo.nCreate(Native Method)
   at org.lwjgl.opengl.WindowsPbufferPeerInfo.<init>(WindowsPbufferPeerInfo.java:47)
   at org.lwjgl.opengl.WindowsDisplay.createPbuffer(WindowsDisplay.java:587)
   at org.lwjgl.opengl.Pbuffer.createPbuffer(Pbuffer.java:247)
   at org.lwjgl.opengl.Pbuffer.<init>(Pbuffer.java:229)
   at org.lwjgl.opengl.Pbuffer.<init>(Pbuffer.java:200)
   at com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer.initPbuffer(LWJGLPbufferTextureRenderer.java:796)
   at com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer.<init>(LWJGLPbufferTextureRenderer.java:174)
   at com.jme.system.lwjgl.LWJGLDisplaySystem.createTextureRenderer(LWJGLDisplaySystem.java:333)
   at com.jme.util.stat.graph.AbstractStatGrapher.<init>(AbstractStatGrapher.java:68)
   at com.jme.util.stat.graph.TabledLabelGrapher.<init>(TabledLabelGrapher.java:87)
   at com.jme.util.stat.graph.GraphFactory.makeTabledLabelGraph(GraphFactory.java:120)
   at com.jme.app.BaseSimpleGame.setupStatGraphs(BaseSimpleGame.java:729)
   at com.jme.app.BaseSimpleGame.initGame(BaseSimpleGame.java:526)
   at com.jme.app.BaseGame.start(BaseGame.java:74)
   at HelloWorld.main(HelloWorld.java:13)
09.04.2010 13:47:25 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer initPbuffer
WARNUNG: Failed to create Pbuffer.
org.lwjgl.LWJGLException: Could not create Pbuffer
   at org.lwjgl.opengl.WindowsPbufferPeerInfo.nCreate(Native Method)
   at org.lwjgl.opengl.WindowsPbufferPeerInfo.<init>(WindowsPbufferPeerInfo.java:47)
   at org.lwjgl.opengl.WindowsDisplay.createPbuffer(WindowsDisplay.java:587)
   at org.lwjgl.opengl.Pbuffer.createPbuffer(Pbuffer.java:247)
   at org.lwjgl.opengl.Pbuffer.<init>(Pbuffer.java:229)
   at org.lwjgl.opengl.Pbuffer.<init>(Pbuffer.java:200)
   at com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer.initPbuffer(LWJGLPbufferTextureRenderer.java:796)
   at com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer.<init>(LWJGLPbufferTextureRenderer.java:174)
   at com.jme.system.lwjgl.LWJGLDisplaySystem.createTextureRenderer(LWJGLDisplaySystem.java:333)
   at com.jme.util.stat.graph.AbstractStatGrapher.<init>(AbstractStatGrapher.java:68)
   at com.jme.util.stat.graph.TabledLabelGrapher.<init>(TabledLabelGrapher.java:87)
   at com.jme.util.stat.graph.GraphFactory.makeTabledLabelGraph(GraphFactory.java:120)
   at com.jme.app.BaseSimpleGame.setupStatGraphs(BaseSimpleGame.java:729)
   at com.jme.app.BaseSimpleGame.initGame(BaseSimpleGame.java:526)
   at com.jme.app.BaseGame.start(BaseGame.java:74)
   at HelloWorld.main(HelloWorld.java:13)
09.04.2010 13:47:25 com.jme.scene.Node <init>
INFO: Node created.
09.04.2010 13:47:25 com.jme.scene.Node attachChild
INFO: Child "labelGraph" attached to this node "Graph node"
09.04.2010 13:47:25 com.jme.scene.Node attachChild
INFO: Child "My box" attached to this node "rootNode"
09.04.2010 13:47:28 com.jme.app.BaseSimpleGame cleanup
INFO: Cleaning up resources.
09.04.2010 13:47:28 com.jme.app.BaseGame start
INFO: Application ending.


2) jmetest.TutorialGuide.HelloWorld crashes completely when starting in LWJGL fullscreen mode:

09.04.2010 13:45:16 com.jme.app.BaseGame start
INFO: Application started.
09.04.2010 13:45:17 com.jme.system.PropertiesGameSettings <init>
INFO: PropertiesGameSettings created
09.04.2010 13:45:17 com.jme.system.PropertiesGameSettings load
INFO: Read properties
09.04.2010 13:45:19 com.jme.input.joystick.DummyJoystickInput <init>
INFO: Joystick support is disabled
09.04.2010 13:45:19 com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
09.04.2010 13:45:20 com.jme.system.lwjgl.LWJGLDisplaySystem getValidDisplayMode
INFO: Selected DisplayMode: 320 x 200 x 16 @75Hz
09.04.2010 13:45:20 com.jme.system.PropertiesGameSettings save
INFO: Saved properties
09.04.2010 13:45:20 com.jme.app.BaseSimpleGame initSystem
INFO: jME version 2.0 Stable (r4093)
09.04.2010 13:45:20 com.jme.system.DisplaySystem getDisplaySystem
WARNUNG: SystemProvider already set
09.04.2010 13:45:20 com.jme.system.lwjgl.LWJGLDisplaySystem getValidDisplayMode
INFO: Selected DisplayMode: 320 x 200 x 16 @75Hz
09.04.2010 13:45:21 com.jme.renderer.lwjgl.LWJGLRenderer <init>
INFO: LWJGLRenderer created. W: 320 H: 200   Version: 2.1.0
09.04.2010 13:45:21 com.jme.app.BaseSimpleGame initSystem
INFO: Running on: MTXPARHD
Driver version: 6.13.1.1691
Matrox Graphics Inc. - Matrox ICD for Parhelia - 1.3
09.04.2010 13:45:21 com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
09.04.2010 13:45:21 com.jme.util.lwjgl.LWJGLTimer <init>
INFO: Timer resolution: 1000 ticks per second
09.04.2010 13:45:21 com.jme.scene.Node <init>
INFO: Node created.
09.04.2010 13:45:21 com.jme.scene.Node <init>
INFO: Node created.
09.04.2010 13:45:21 com.jme.scene.Node <init>
INFO: Node created.
09.04.2010 13:45:21 com.jme.scene.Node attachChild
INFO: Child "Graph node" attached to this node "Stats node"
09.04.2010 13:45:21 com.jme.renderer.lwjgl.LWJGLTextureRenderer <init>
WARNUNG: FBO not supported.
09.04.2010 13:45:21 com.jme.system.lwjgl.LWJGLDisplaySystem createTextureRenderer
INFO: FBO not supported, attempting Pbuffer.
09.04.2010 13:45:21 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer setMultipleTargets
INFO: Copy Texture Pbuffer supported!
09.04.2010 13:45:21 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer <init>
INFO: Creating Pbuffer sized: 512 x 256
09.04.2010 13:45:22 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer initCamera
INFO: Init RTT camera
09.04.2010 13:45:22 com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
09.04.2010 13:45:22 com.jme.scene.Node <init>
INFO: Node created.
09.04.2010 13:45:22 com.jme.scene.Line <init>
INFO: Line created.
09.04.2010 13:45:22 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer setupTexture
INFO: setup tex2: 512,256
09.04.2010 13:45:22 com.jme.scene.Node attachChild
INFO: Child "lineGraph" attached to this node "Graph node"
09.04.2010 13:45:22 com.jme.scene.Node attachChild
INFO: Child "f4" attached to this node "Graph node"
09.04.2010 13:45:22 com.jme.renderer.lwjgl.LWJGLTextureRenderer <init>
WARNUNG: FBO not supported.
09.04.2010 13:45:22 com.jme.system.lwjgl.LWJGLDisplaySystem createTextureRenderer
INFO: FBO not supported, attempting Pbuffer.
09.04.2010 13:45:22 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer setMultipleTargets
INFO: Copy Texture Pbuffer supported!
09.04.2010 13:45:22 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer <init>
INFO: Creating Pbuffer sized: 512 x 64
09.04.2010 13:45:22 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer initCamera
INFO: Init RTT camera
09.04.2010 13:45:22 com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
09.04.2010 13:45:22 com.jme.scene.Node <init>
INFO: Node created.
09.04.2010 13:45:22 com.jme.renderer.lwjgl.LWJGLPbufferTextureRenderer setupTexture
INFO: setup tex3: 512,64
09.04.2010 13:45:22 com.jme.scene.Node attachChild
INFO: Child "labelGraph" attached to this node "Graph node"
09.04.2010 13:45:22 com.jme.scene.Node attachChild
INFO: Child "My box" attached to this node "rootNode"
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0b9aaad1, pid=4264, tid=5964
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode)
# Problematic frame:
# C  [MTXOGL.DLL+0x1aad1]
#
# An error report file with more information is saved as hs_err_pid4264.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#



I think these might be related to a faulty setup, but I'm not sure. Any help would be appreciated.

Seems to be a video driver issue.

What kind of gfx card do you have and did you try with newest drivers?

I've got some kind of onboard card here, Windows calls it 'Matrox Millenium P650 Low-profile PCI'. With the same drivers and 2.0, I had no issues, but I'll try updating them. Thanks for the tip.

New drivers actually solved the original problem, the HelloWorld app now runs fine.



BUT when I try to end it (with Escape), it crashes, creates a hs_err_pid*.log (see attachment, renamed so the forum lets me upload it), and reboots the computer. Happens with both the drivers from Windows Update as well as from the manufacturer's site.



The old behaviour was better, actually.

That's weird that they have that in an onboard configuration, as I once spent some time on a workstation that had an AGP version of it.



Are you saying that the card has OpenGL 2.0 support?  Matrox doesn't say anything about which version it supports just that it does

Well, the plug is parallel with the long side of the case, so I just assumed it's onboard. It might be an exotic layout, though - I can't really look into the case.



I'm not completely sure the card supports OpenGL 2.0, so I decided to give jME a try on it.

But if it doesn't, why does HelloWorld run fine and only crash on exit?



As a sidenote: the same configuration (Eclipse + jME 2.0.1 + Eclipse setup) runs fine on another machine (no crash, no Exception). Who can update the Wiki entry I mentioned in the starting post?

Nodwick said:
I'm not completely sure the card supports OpenGL 2.0, so I decided to give jME a try on it.
But if it doesn't, why does HelloWorld run fine and only crash on exit?


Yeah, I was secretly wondering the same thing  :?  What version of Java are you running?  There haven't been any known problems but I've personally had weird issues here and there fixed simply by swapping my JRE (Don't know if it meant a corrupted install or a bug).

Nodwick said:

As a sidenote: the same configuration (Eclipse + jME 2.0.1 + Eclipse setup) runs fine on another machine (no crash, no Exception). Who can update the Wiki entry I mentioned in the starting post?


Anyone can edit the wiki!  You're most welcome [and encouraged] to make an account and update wherever you see fit, we love that :)
sbook said:
Yeah, I was secretly wondering the same thing  :?  What version of Java are you running?  There haven't been any known problems but I've personally had weird issues here and there fixed simply by swapping my JRE (Don't know if it meant a corrupted install or a bug).
I'm using Java 1.6.0_03, simply for the reason that some machines that run my programs still use that and the users are too lazy to update. I'll try it with a more recent version in a parallel install.

sbook said:
Anyone can edit the wiki!  You're most welcome [and encouraged] to make an account and update wherever you see fit, we love that :)

But I do need a separate login (from the forum)?