JMonkey Detect the Wrong OpenGl Version

You know, i was wrong of not trying to force the version. The reason i was so stubborn about it is simple, It was never the case for over 10 years. I look into the forum before asking and couldn’t see any post but this one when doing some google search. Renderer and GPU Capabilities

I stayed on version 3.5.2 for a long time because of all the issue i had with 3.6.1
If you don’t use the SDK, there seem to be an issue with the jme3-lwjgl, it keep asking for missing dependency. Took me a while to figure you had to import the Lwjgl3.

Failed to execute goal on project XXX The following artifacts could not be resolved: org.jmonkeyengine:lwjgl-platform:jar:2.9.5 (absent): Could not find artifact org.jmonkeyengine:lwjgl-platform:jar:2.9.5 in mvnrepository (https://repo1.maven.org/maven2/) -> [Help 1]

I have JCenter in my repositories and it still doesn’t find it.

Line 210 of LwjglContext in jme3-lwjgl3


But this code doesn’t look to make a Compatibility profile. It look like it get the actual Capabilities of the machine when no argument is given.
I suspect that the Capabilities coming out of here without argument should give this list of boolean with every supported version on the current machine. So this is where the AppSettings should get the supported version of OpenGL by default. (GLCapabilities.java)
https://www.cs.unh.edu/~cs770/lwjgl-javadoc/lwjgl-opengl/org/lwjgl/opengl/GL.html
image

When my game come out (In 20 years) i wouldn’t want the user to be force into a context but to chose the context his machine can handle. Then i can show the proper Options in the option menu. Like Tessellation should be a Flag option if the capabilities are present. Right now, the engine force 1 static Version in the AppSettings or in the Main when you create the settings. So unless the user can input an Argument (Which isn’t user friendly) My game is stuck with whatever Game API support it was set.
Before it use to be, Get Highest supported Version for my machine.

This cause a big regression in Flexibility.

I really believe the change to force OpenGL 3.2 is bad, also i really want to understand what you mean by
“compatibility profile” to me what you did is force everyone with a better OpenGL in “compatibility profile” instead of having the Native supported Profile for each computer.

I read a bit the Change comment in Git Hub and all i see is a Mac OS bug, If this is a bug for them, then wouldn’t it be better to tell Apple to fix the bug? Also if you run a Desktop with Mac Os (With incompatible parts) it might the issue for the compatibility profile you see. Just like Linux, not all part have a support at the moment. Debian 12(They remove my GPU support thought) is doing great for me, but when i was using Debian 8 it was a complete different story.

Also i am talking about Future API support by the engine. It should never force a Context on anyone at any moment. You never know what Nvidia or AMD will pullout next.

I wont argue anymore on this thread, but this is what i believe. The code might not need to be rollback, but i think it shouldn’t have any default OpenGL and should have a Minimum Requirement OpenGL value instead. With a way to identify the Highest API version available from the Capabilities instead.