Sweethome3d on Linux works for me with Mesa 19.3.3, but fails with the following exception when upgrading to Mesa 20.0.2:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.eteks.sweethome3d.SweetHome3DBootstrap.main(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
at javax.media.j3d.GraphicsConfigTemplate3D.isGraphicsConfigSupported(GraphicsConfigTemplate3D.java:348)
at com.eteks.sweethome3d.j3d.Component3DManager.createGraphicsConfigurationTemplate3D(Unknown Source)
at com.eteks.sweethome3d.j3d.Component3DManager.<init>(Unknown Source)
at com.eteks.sweethome3d.j3d.Component3DManager.getInstance(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.addComponent3DRenderingErrorObserver(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.init(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.main(Unknown Source)
... 5 more
Caused by: com.jogamp.opengl.GLException: Profiles [GL4bc, GL3bc, GL2, GLES1] not available on device null
at com.jogamp.opengl.GLProfile.get(GLProfile.java:1039)
at com.jogamp.opengl.GLProfile.get(GLProfile.java:1050)
at com.jogamp.opengl.GLProfile.getMaxFixedFunc(GLProfile.java:803)
at javax.media.j3d.JoglPipeline.initialize(JoglPipeline.java:131)
at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:92)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:858)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:267)
... 12 more</clinit></init>
This is on openjdk version 8u242-b08. Anything I can do to get this to work on Mesa 20?
I found a 'hello world' jogl project (https://github.com/raboof/jogl-hello-world) and it gives:
An exception occured while executing the Java class. Profile GL2 is not available on null, but: [GLProfile[GL4ES3/GL4.hw], GLProfile[GL2ES2/GL4.hw], GLProfile[GL4/GL4.hw], GLProfile[GL4/GL4.hw], GLProfile[GL3/GL4.hw], GLProfile[GL2GL3/GL4.hw]]
Not sure if that's any help?
Please be sure to use the release available at https://sourceforge.net/projects/sweethome3d/files/SweetHome3D/SweetHome3D-6.3/
and if the script
SweetHome3Dcontained in the archive doesn't work, try the scriptSweetHome3D-Java3D-1_5_2.Thanks for the quick reply! Indeed SweetHome3D-Java3D-1_5_2 works!
I'm not sure I understand what's going on though. Should I encourage the nixos packagers to package SweetHome3D-Java3D-1_5_2 instead of SweetHome3D? Or can both be needed depending on the system?
Sorry, it's difficult to say, it probably depends on user's configuration.