Available GLVersions not set for EGLGraphicsDevic

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Available GLVersions not set for EGLGraphicsDevic

fredand44
Hello guys,
I have an old project that uses Java3D. It is a java app that renders some 3D graphics.
I have built it with the jars for 1.6 from:
https://gouessej.wordpress.com/2012/08/01/java-3d-est-de-retour-java-3d-is-back/#download

It works fine from my laptop with Linux Mint.

But when I start it on my Raspberry PI 4 with OS Raspbian I get this error:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/home/albin/H%c3%a4mtningar/object3Dcreator-app-1.0.0-jar-with-dependencies.jar) to method sun.awt.AppContext.getAppContext()
WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread "AWT-EventQueue-0" java.lang.InternalError: Available GLVersions not set for EGLGraphicsDevice[type .egl, v1.4.0, connection decon, unitID 0, handle 0x7b3030, owner true, NullToolkitLock[obj 0x1a66d50]]
at com.jogamp.opengl.GLProfile.initProfilesForDeviceCritical(GLProfile.java:1952)
at com.jogamp.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1875)
at com.jogamp.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1842)
at com.jogamp.opengl.GLProfile.access$000(GLProfile.java:80)
at com.jogamp.opengl.GLProfile$1.run(GLProfile.java:230)
at java.base/java.security.AccessController.doPrivileged(Native Method)

Do you guys have any clue why this occur on the PI?
Could the solution be that I should move to Java3D 1.7?
 
Best regards
Fredrik
Reply | Threaded
Open this post in threaded view
|

Re: Available GLVersions not set for EGLGraphicsDevic

gouessej
Administrator
Hello

Maybe Xerxes knows what to do, he has some experience with the Raspberry PI. Please note that JOGL works correctly with the Raspberry PI 2 and 3 as far as I know. Supporting the Raspberry PI 4 is a work in progress:
http://forum.jogamp.org/JOGL-support-for-VideoCore-6-with-Raspberry-PI-4-td4040046.html
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Available GLVersions not set for EGLGraphicsDevic

Xerxes Rånby
This post was updated on .
In reply to this post by fredand44
To use JOGL on Raspberry Pi 4 you need to use the latest build:
https://jogamp.org/deployment/archive/master/?C=M;O=D <- list of all latest jogl builds
https://jogamp.org/deployment/archive/master/gluegen_916-joal_642-jogl_1483-jocl_1122/fat/jogamp-fat.jar

Older builds such as the 2.3.2 release only work if you remove the broadcom drivers from the system.
You can try:
mv /opt/vc /opt/vc-removed

Raspberry PI 4 behave as a generic Linux X11 system with Mesa3D drivers.
We had to refine autodetect logic to disable use of the Broadcom specific driver initialization. By removing /opt/vc then old jogamp builds will think it is on a generic Linux X11 system. The latest Jogl build can fingure that out by itself.

When I test on Raspberry Pi 4 then my /boot/config.txt contains
[pi4]
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

[all]
dtoverlay=vc4-fkms-v3d
These config lines configure the board and enable the Mesa3D OpenGL drivers to be present for the dynamic linker when using Raspbian

Xerxes
Reply | Threaded
Open this post in threaded view
|

Re: Available GLVersions not set for EGLGraphicsDevic

fredand44
Hello Xerxes,
Thanks alot!
I can confirm it works when I followed your instructions.

There was one execption but I think that might be a bug in my app. I will look into that.

How ever there were a couple of warningas as well at start up:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/home/albin/H%c3%a4mtningar/object3Dcreator-app-1.0.0-jar-with-dependencies.jar) to method sun.awt.AppContext.getAppContext()
WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

How ever the best solution is probably to upgrade. I will try it out asap.
Best regards
Fredrik


From: Xerxes Rånby [via jogamp] <ml+[hidden email]>
Sent: Wednesday, October 23, 2019 3:22:09 PM
To: fredand44 <[hidden email]>
Subject: Re: Available GLVersions not set for EGLGraphicsDevic
 
To use JOGL on Raspberry Pi 4 you need to use the latest build:
https://jogamp.org/deployment/archive/master/?C=M;O=D
https://jogamp.org/deployment/archive/master/gluegen_916-joal_642-jogl_1483-jocl_1122/fat/jogamp-fat.jar

Older builds such as the current release only work if you remove the broadcom drivers from the system.
You can try:
mv /opt/vc /opt/vc-removed

Xerxes



If you reply to this email, your message will be added to the discussion below:
http://forum.jogamp.org/Available-GLVersions-not-set-for-EGLGraphicsDevic-tp4040111p4040116.html
To unsubscribe from Available GLVersions not set for EGLGraphicsDevic, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: Available GLVersions not set for EGLGraphicsDevic

Xerxes Rånby
fredand44 wrote
Hello Xerxes,
Thanks alot!
I can confirm it works when I followed your instructions.

There was one execption but I think that might be a bug in my app. I will look into that.

How ever there were a couple of warningas as well at start up:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javax.media<http://javax.media>.j3d.JoglPipeline (file:/home/albin/H%c3%a4mtningar/object3Dcreator-app-1.0.0-jar-with-dependencies.jar) to method sun.awt.AppContext.getAppContext()
WARNING: Please consider reporting this to the maintainers of javax.media<http://javax.media>.j3d.JoglPipeline
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

This warning is produced by java11. Future java versions may remove the posibility to use this kind of reflection access that jogl and java3d depend on for AWT interoperability.

Java3D needs some fixes for java11 to get rid of those warnings in j3d.JoglPipeline. Possibly a rewrite to switch window toolkit from AWT (AWT depend on functionality inside the jdk) to NEWT (NEWT only depent on functionality provided by  jogamp)

We have a source code branch for jogl under testing that adress similar java11 issues
http://forum.jogamp.org/java11-release-progress-thread-also-review-td4039948.html

There is no build yet with those java11 patches in place.