Hello, an appa that works correctly con nvidia grpahics card (under archlinux) does not with an Amd RX580, it dies with the following error dump (the final part of it):
AWT-EventQueue-0-SharedResourceRunner: EGLSurface : EGLSurface[ displayHandle 0x7fc644db81b0 , surfaceHandle 0x0 , size 64x64 , UOB[ OWNS_SURFACE | WINDOW_INVISIBLE | SURFACELESS ] , EGLGraphicsConfiguration[DefaultGraphicsScreen[EGLGraphicsDevice[type .egl, v1.5.0, connection :0, unitID 0, handle 0x7fc644db81b0, owner true, ResourceToolkitLock[obj 0x5a005e17, isOwner true, <28a3c8e9, 7b0b8ea7>[count 2, qsz 0, owner <AWT-EventQueue-0-SharedResourceRunner>]]], idx 0], eglConfigHandle 0x7fc6280a8900, eglConfigID 0x12, requested GLCaps[rgba 5/5/5/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, one, mono , hw, GLProfile[GLES2/GLES2.sw], on-scr[.]], chosen GLCaps[egl cfg 0x12, vid 0x21: rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono , hw, GLProfile[GLES2/GLES2.sw], on-scr[.], [0x4d: GL, GLES1, GLES2, GLES3, VG]]] , surfaceLock <3ce2d8ee, 6fd17473>[count 0, qsz 0, owner <NULL>] , GenericUpstreamSurfacelessHook[pixel 64x64] , upstreamSurface false ] [2]: jogamp.opengl.egl.EGLDrawable.destroyHandle(EGLDrawable.java:89) [3]: jogamp.opengl.GLDrawableImpl.setRealized(GLDrawableImpl.java:196) [4]: jogamp.opengl.egl.EGLDrawableFactory$SharedResourceImplementation.mapAvailableEGLESConfig(EGLDrawableFactory.java:752) [5]: jogamp.opengl.egl.EGLDrawableFactory$SharedResourceImplementation.createEGLSharedResourceImpl(EGLDrawableFactory.java:613) [6]: jogamp.opengl.egl.EGLDrawableFactory$SharedResourceImplementation.createSharedResource(EGLDrawableFactory.java:516) [7]: jogamp.opengl.SharedResourceRunner.run(SharedResourceRunner.java:353) [8]: java.lang.Thread.run(Thread.java:748) AWT-EventQueue-0-SharedResourceRunner: EGLDrawable.setRealized(false): NOP - EGLSurface[ displayHandle 0x7fc644db81b0 , surfaceHandle 0x0 , size 64x64 , UOB[ OWNS_SURFACE | WINDOW_INVISIBLE | SURFACELESS ] , EGLGraphicsConfiguration[DefaultGraphicsScreen[EGLGraphicsDevice[type .egl, v1.5.0, connection :0, unitID 0, handle 0x7fc644db81b0, owner true, ResourceToolkitLock[obj 0x5a005e17, isOwner true, <28a3c8e9, 7b0b8ea7>[count 2, qsz 0, owner <AWT-EventQueue-0-SharedResourceRunner>]]], idx 0], eglConfigHandle 0x7fc6280a8900, eglConfigID 0x12, requested GLCaps[rgba 5/5/5/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, one, mono , hw, GLProfile[GLES2/GLES2.sw], on-scr[.]], chosen GLCaps[egl cfg 0x12, vid 0x21: rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono , hw, GLProfile[GLES2/GLES2.sw], on-scr[.], [0x4d: GL, GLES1, GLES2, GLES3, VG]]] , surfaceLock <3ce2d8ee, 6fd17473>[count 0, qsz 0, owner <NULL>] , GenericUpstreamSurfacelessHook[pixel 64x64] , upstreamSurface false ] EGLDrawableFactory.MapGLVersions: mapSuccess true, mappedToDefaultDevice false EGLDrawableFactory.MapGLVersions: defDevice : EGLGraphicsDevice[type .egl, v1.5.0, connection :0, unitID 0, handle 0x7fc644db81b0, owner true, ResourceToolkitLock[obj 0x5a005e17, isOwner true, <28a3c8e9, 7b0b8ea7>[count 1, qsz 0, owner <AWT-EventQueue-0-SharedResourceRunner>]]] EGLDrawableFactory.MapGLVersions: adevice : EGLGraphicsDevice[type .egl, v1.5.0, connection :0, unitID 0, handle 0x7fc644db81b0, owner true, ResourceToolkitLock[obj 0x5a005e17, isOwner true, <28a3c8e9, 7b0b8ea7>[count 1, qsz 0, owner <AWT-EventQueue-0-SharedResourceRunner>]]] EGLDrawableFactory.MapGLVersions: eglDevice : EGLGraphicsDevice[type .egl, v1.5.0, connection :0, unitID 0, handle 0x7fc644db81b0, owner true, ResourceToolkitLock[obj 0x5a005e17, isOwner true, <28a3c8e9, 7b0b8ea7>[count 1, qsz 0, owner <AWT-EventQueue-0-SharedResourceRunner>]]] EGLDrawableFactory.MapGLVersions: context ES1: true, quirks [] EGLDrawableFactory.MapGLVersions: context ES2: true, quirks [] EGLDrawableFactory.MapGLVersions: context ES3: true, quirks [] EGLDrawableFactory.MapGLVersions: context GLn: true, quirks [] EGLDrawableFactory.MapGLVersion.map 0 SharedResourceRunner.run(): READY - AWT-EventQueue-0-SharedResourceRunner SharedResourceRunner.doAndWait() END init: EGLGraphicsDevice[type .egl, v1.5.0, connection :0, unitID 0, handle 0x7fc644db81b0, owner true, ResourceToolkitLock[obj 0x5a005e17, isOwner false, <28a3c8e9, 7b0b8ea7>[count 0, qsz 0, owner <NULL>]]], release: null - AWT-EventQueue-0 SharedResourceRunner.getOrCreateShared() EGLGraphicsDevice[type .egl, v1.5.0, connection :0, unitID 0, handle 0x7fc644db81b0, owner true, ResourceToolkitLock[obj 0x5a005e17, isOwner false, <28a3c8e9, 7b0b8ea7>[count 0, qsz 0, owner <NULL>]]]: success - AWT-EventQueue-0 GLProfile.init map .egl_:0_0, desktopCtxUndef false, esCtxUndef false GLProfile.init map *** no mapping for GL4bc on device .egl_:0_0 Exception in thread "AWT-EventQueue-0" java.lang.InternalError: XXX0 profile[1]: GL3bc -> profileImpl GL4bc !!! not mapped at com.jogamp.opengl.GLProfile.computeProfileMap(GLProfile.java:2071) at com.jogamp.opengl.GLProfile.initProfilesForDeviceCritical(GLProfile.java:1954) 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.security.AccessController.doPrivileged(Native Method) at com.jogamp.opengl.GLProfile.initSingleton(GLProfile.java:216) at com.jogamp.opengl.GLProfile.getDefaultDevice(GLProfile.java:2027) at com.jogamp.opengl.awt.GLJPanel.<init>(GLJPanel.java:363) at com.jogamp.opengl.awt.GLJPanel.<init>(GLJPanel.java:337) at com.jogamp.opengl.awt.GLJPanel.<init>(GLJPanel.java:325) at muvisetup.SceneOGLMag.<init>(SceneOGLMag.java:50) at muvisetup.MUVISetup.initOGLComponents(MUVISetup.java:250) at muvisetup.MUVISetup.<init>(MUVISetup.java:215) at muvisetup.MUVISetup$33.run(MUVISetup.java:2575) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Any clue on how to fix this ? All others app that use opengl are working correctly using the accelerated driver. Thanks in advance, Giuseppe |
Administrator
|
Hi
You have to use a profile supported by your graphics card and your driver. All drivers don't support all profiles. The graphics card AMD Radeon RX580 should support OpenGL 4.5, the forward compatible profile should work but I've never tested it with the backward compatible profile. Which driver do you use? Please be a lot more accurate. Do you use Mesa? Telling that other OpenGL softwares work doesn't mean that JOGL is to blame.
Julien Gouesse | Personal blog | Website
|
This post was updated on .
Sorry if a made that impression, I'm not here to blame JOGL at the contrary, I appreciate it much, I'm only giving informations to describe my environment and that puntualization was due solely to prove that the driver is working. BTW I'm using the open source driver (amdgpu) that comes with my distro (arch linux). It uses mesa, querying with glxinfo I get: Extended renderer info (GLX_MESA_query_renderer): Vendor: X.Org (0x1002) Device: AMD Radeon (TM) RX 480 Graphics (AMD POLARIS10 / DRM 3.18.0 / 4.13.3-1-ARCH, LLVM 5.0.0) (0x67df) Version: 17.2.1 Accelerated: yes Video memory: 8143MB Unified memory: no Preferred profile: core (0x1) Max core profile version: 4.5 Max compat profile version: 3.0 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.1 OpenGL vendor string: X.Org OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (AMD POLARIS10 / DRM 3.18.0 / 4.13.3-1-ARCH, LLVM 5.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.2.1 OpenGL core profile shading language version string: 4.50 As you stated in your reply the card I have is 4.5 compliant. I can change the profile if this could help, how can I accomplish this ? Is there a tutorial on how to do it ? Thanks, Giuseppe |
I tryied to add:
super(new GLCapabilities(GLProfile.get(GLProfile.GLXX))); into the constructor of the class that inehrits GLJpanel. The problem is always there, I tried with all available profiles., am I missing something ? Giuseppe |
After further investigation I saw that the problem was related with Mesa switching the naming convention for Amd cards from Gallium to AMD and found the solution in the post previous to mine.
I patched the jogl as suggested there and now is working. Thanks to all. Giuseppe |
Administrator
|
Actually, it's me who should thank you. We really have to fix it in the next maintenance release. Please can you assist us in order to get a clean fix with no regression?
Julien Gouesse | Personal blog | Website
|
Of course, let me know how can I assist you to fix this and I will try to do it. Giuseppe |
Administrator
|
Thank you Giuseppe. We have to find a non ambiguous mean of detecting your case to apply the right renderer quirk without risking to break AMD/ATI hardware using completely different drivers. Please can you get the detailed debug logs and put them into a brand new bug report?
http://jogamp.org/wiki/index.php/Jogl_FAQ#Detailed_Debug_Log
Julien Gouesse | Personal blog | Website
|
Hello, I did what requested but apparently my login at this site is not active at the bugzilla page, do I need to register somewhere else to submit a BUG to this forum via the bugzilla page at https://jogamp.org/bugzilla/enter_bug.cgi ? Giuseppe |
Administrator
|
Please send me an email so that I can create a bugzilla account for you. We had a lot of problems with spam bots in the past :s
http://jogamp.org/wiki/index.php/Maintainer_and_Contacts#Julien_Gouesse
Julien Gouesse | Personal blog | Website
|
Hello,
bug submitted, hopes this can help. In case you need further assistance let me know. If nedded I can open an account on my machine for you. And BTW I send a BIG thanks to all the developers involved for the great jogamp package. Bye, Giuseppe |
Administrator
|
Hi
The second suggestion you did in the other thread seems to be viable to me, please can you test it and confirm that it works? https://jogamp.org/bugzilla/show_bug.cgi?id=1357#c5
Julien Gouesse | Personal blog | Website
|
I just started seeing the same issue after upgrading Ubuntu 17.04 to 17.10 and also using the apdgpu drivers. Any idea when the fix on bugzilla will make it into a released version? Any other workarounds for the time being? If you guys need any other help or testing I'd be happy to be of assistance as well.
- Stephen |
FYI, I built 2.3.2 with the patch above and it looks like things are working again. Though, an official build on maven central would be super helpful.
Thanks, for the fix! - Stephen |
Administrator
|
You should ask it to rmk0 on our IRC channel. Yes of course it would be helpful.
Julien Gouesse | Personal blog | Website
|
This post was updated on .
In reply to this post by gst0098
Thank you for GLContextImpl.class at https://jogamp.org/bugzilla/show_bug.cgi?id=1357#c5, Giuseppe and Julien.
---------------------- FAILURE FROM IDE: Exception in thread "AWT-EventQueue-0" java.lang.InternalError: XXX0 profile[1]: GL3bc -> profileImpl GL4bc !!! not mapped ... ---------------------- SOLUTION: (1.) I replaced GLContextImpl.class in: Binary file /opt/java/jogamp-all-platforms/jar/jogl-all-mobile.jar Binary file /opt/java/jogamp-all-platforms/jar/jogl-all-android.jar Binary file /opt/java/jogamp-all-platforms/jar/jogl-all.jar Binary file /opt/java/jogamp-all-platforms/jar/atomic/jogl.jar Binary file /opt/java/jogamp-all-platforms/jar/jogl-all-noawt.jar + (2.) per https://jogamp.org/bugzilla/show_bug.cgi?id=1357#c5 I added few characters into GLContextImpl.java in /opt/java/jogamp-all-platforms/jogl-java-src.zip The file in question is located in .jar(s) always here /jogamp/opengl/GLContextImpl.class, in .zip here /jogamp/opengl/GLContextImpl.java resp. And it works then. Thank you! |
Administrator
|
There is already a fat JAR with this fix as I said here:
http://forum.jogamp.org/how-can-I-build-jogl-2-3-3-and-when-is-it-due-for-release-tp4038662p4038675.html You're welcome.
Julien Gouesse | Personal blog | Website
|
Until Bugzilla comes back, could the source of this patch be made available, please?
thanks andy |
Administrator
|
https://github.com/sgothel/jogl/pull/105/files
Julien Gouesse | Personal blog | Website
|
Has anyone had any success using the latest Ubuntu and AMD drivers and RX Vega and a GL4bc or GL4 profile? I tried the fat jar on a whim to no avail, and suspect I need a rather different fix...
Ubuntu 18.04.1 LTS dpkg -l amdgpu: amdgpu 18.20-606296 amd64 OpenGL vendor string: Advanced Micro Devices, Inc. OpenGL renderer string: Radeon RX Vega OpenGL core profile version string: 4.6.13529 Core Profile Context OpenGL core profile shading language version string: 4.50 ... OpenGL version string: 4.5.13529 Compatibility Profile Context OpenGL shading language version string: 4.50 OpenGL context flags: (none) OpenGL profile mask: compatibility profile ... Thanks in advance for any advice on what to do in GLProfile/GLContext/GLContextImpl (or elsewhere)! - Mark |
Free forum by Nabble | Edit this page |