SEVERE: Cannot create window
java.lang.Error: Cannot create window: Could not find a valid pixel format
at com.jme.system.lwjgl.LWJGLDisplaySystem.initDisplay(Unknown Source)
at com.jme.system.lwjgl.LWJGLDisplaySystem.createWindow(Unknown Source)
at rik.jme.firstpersonbuilder.RikSimpleGame.initSystem(RikSimpleGame.java:243)
at com.jme.app.BaseGame.start(Unknown Source)
at rik.jme.firstpersonbuilder.FirstPersonBuilder.<init>(FirstPersonBuilder.java:1
10)
I remembered I had turned on antialiasing so I disabled it setting samples = 0.
I get past the "Could not find a valid pixel format" and get this:
org.lwjgl.opengl.OpenGLException: Invalid enum (1280)
at org.lwjgl.opengl.Util.checkGLError(Util.java:56)
at org.lwjgl.opengl.Display.update(Display.java:567)
at com.jme.renderer.lwjgl.LWJGLRenderer.displayBackBuffer(Unknown Source)
at com.jme.app.BaseGame.start(Unknown Source)
at rik.jme.firstpersonbuilder.FirstPersonBuilder.<init>(FirstPersonBuilder.java:110)
at rik.jme.firstpersonbuilder.FPB.main(FPB.java:23)
Software rendering is one of those "I've never seen it work properly, but that doesn't mean it can't." We don't officially claim to support it, but if lwjgl made the flag to work the same as hardware mode, it should. Does it work on your machine without the flag? (or does your test work on another machine if you are trying software mode to get around a low end card on yours)
What platform are you on? I doubt you'll get it to work under windows… There's some sort of OpenGL 1.1 (incomplete?) implementation, but I wouldn't know how to tell windows to use that (maybe by turning off all hardware accelration, but it probably requires that to create a window). Only other thing I can think of trying is letting windows use the standard SVGA driver.
On linux, maybe you can set up MESA without using any hardware accelerated drivers.
I'm not really planning to have the app running in software mode. I'm just trying to give the users information about what graphics card they have installed, in case they need to update it. I'm making these calls:
Problem is I can't make them if the window can't be created so it's a kind of "catch 22" situation. Therefore I want to be able to start the app in software mode so I can make those calls.
Since you just described the use case for what you'll need this for, these are useless steps, since they are some (severe) changes to settings of windows itself.