Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Caused by: com.jogamp.opengl.GLException: Unable to determine GraphicsConfiguration #249

Open
MeachamusPrime opened this issue Jul 29, 2022 · 3 comments

Comments

@MeachamusPrime
Copy link

Prerequisites

Description

Default Worldwind setup with Java 17 runtime crashes on run.
Note: "Caused by: com.jogamp.opengl.GLException: Unable to determine GraphicsConfiguration"

Steps to Reproduce

  1. Run "run-demo.bat"

Expected behavior:
Beautiful demo of Worldwind displays and I interact with it in geodetic bliss.

Actual behavior:
.\run-demo.bat
Running gov.nasa.worldwindx.examples.ApplicationTemplate
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at gov.nasa.worldwindx.examples.ApplicationTemplate.start(Unknown Source)
at gov.nasa.worldwindx.examples.ApplicationTemplate.main(Unknown Source)
Caused by: com.jogamp.opengl.GLException: Unable to determine GraphicsConfiguration: WindowsWGLGraphicsConfiguration[DefaultGraphicsScreen[WindowsGraphicsDevice[type .windows, connection decon, unitID 0, handle 0x0, owner false, NullToolkitLock[obj 0xbd45969]], idx 0], pfdID 10, ARB-Choosen true,
requested GLCaps[rgba 8/8/8/8, opaque, accum-rgba 0/0/0/0, dp/st/ms 24/0/0, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]],
chosen GLCaps[wgl vid 10 arb: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/0, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]]]
at jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:182)
at com.jogamp.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:424)
at com.jogamp.opengl.awt.GLCanvas.chooseGraphicsConfiguration(GLCanvas.java:1513)
at com.jogamp.opengl.awt.GLCanvas.addNotify(GLCanvas.java:609)
at java.desktop/java.awt.Container.addNotify(Container.java:2804)
at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4839)
at java.desktop/java.awt.Container.addNotify(Container.java:2804)
at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4839)
at java.desktop/java.awt.Container.addNotify(Container.java:2804)
at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4839)
at java.desktop/java.awt.Container.addNotify(Container.java:2804)
at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4839)
at java.desktop/javax.swing.JRootPane.addNotify(JRootPane.java:729)
at java.desktop/java.awt.Container.addNotify(Container.java:2804)
at java.desktop/java.awt.Window.addNotify(Window.java:791)
at java.desktop/java.awt.Frame.addNotify(Frame.java:495)
at java.desktop/java.awt.Window.pack(Window.java:829)
at gov.nasa.worldwindx.examples.ApplicationTemplate$AppFrame.initialize(Unknown Source)
at gov.nasa.worldwindx.examples.ApplicationTemplate$AppFrame.(Unknown Source)
... 7 more

Reproduces how often:
100% of the time, it fails every time.

Operating System and Version

Windows 11, Version 10.0.22000 Build 22000

Additional Information

None

@MeachamusPrime
Copy link
Author

Further investigation showed that the problem did not occur in Java 15, so I expect Java 16 introduced the change that has caused it.

@Jerhamre
Copy link

Think its a known bug with JOGL
jzy3d/jogl#4

running the JVM with the following arguments should fix the problem

--add-exports java.base/java.lang=ALL-UNNAMED
--add-exports java.desktop/sun.awt=ALL-UNNAMED
--add-exports java.desktop/sun.java2d=ALL-UNNAMED

@tobidelbruck
Copy link

this fixed it for me with jogl 2.5.0 and java 17, thanks!

tobidelbruck pushed a commit to SensorsINI/jaer that referenced this issue Dec 20, 2023
* JOGL (jogamp) is no longer obtained from maven because the 2.5.0 maven
deploy is broken for getting the actual jars and native code.
Finally found a single fat jar with all of gluegen/jogl in it in
https://jogamp.org/deployment/v2.5.0/fat/

* Had to fix a few things in code to make things work with java 17
under windows; see javafx classes for Point2D that are in javafx.* source
packages (obtaining the complete unbound javafx is broken under maven
at least for me).

* It is necessary to set some cryptic flags to the VM on startup; see
NASAWorldWind/WorldWindJava#249
for " running the JVM with the following arguments should fix the problem

--add-exports java.base/java.lang=ALL-UNNAMED
--add-exports java.desktop/sun.awt=ALL-UNNAMED
--add-exports java.desktop/sun.java2d=ALL-UNNAMED
"

* Info: a jogl TextRenderer that is created outside of graphics context
breaks; change other code that does it to lazily create these inside the 
annotator if this comes up again.

* It will be necessary to fix the windows launcher and the linux/mac shell scripts
for the new jogl jar that was added and to add the correct VM switches.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants