ver 5.7 on Linux "Can't create graphics environment"

This topic has been viewed 7721 times and has 5 replies
Thread status: Active
Still a problem with your graphic card? [img]http://www.sweethome3d.com/images/flags/en_small.gif[/img]
Post Reply New Topic
richardlyons
Posts: 6
Joined: Tue Jan 23, 2018 8:31 pm
Country: France

ver 5.7 on Linux "Can't create graphics environment"

Post by richardlyons »

Installed 5.7 from the tgz 'SweetHome3D-5.7-linux-x64.tgz' and happily the program opens via 'SweetHome3D-Java3D-1_5_2', and runs 2D layout.

However there is no 3D rendering, and the following errors are logged on startup

Code: Select all

$ /opt/SweetHome3D-5.7/SweetHome3D-Java3D-1_5_2
Java 3D: implicit antialiasing enabled
amdgpu_parse_asic_ids: Cannot parse ASIC IDs: Ressource temporairement non disponible
Exception in thread "AWT-EventQueue-0" javax.media.j3d.IllegalRenderingStateException: Can't create graphics environment for Canvas 3D
        at com.eteks.sweethome3d.j3d.Component3DManager.getCanvas3D(Unknown Source)
        at com.eteks.sweethome3d.j3d.Component3DManager.getOnscreenCanvas3D(Unknown Source)
        at com.eteks.sweethome3d.swing.HomeComponent3D.createComponent3D(Unknown Source)
        at com.eteks.sweethome3d.swing.HomeComponent3D.access$200(Unknown Source)
        at com.eteks.sweethome3d.swing.HomeComponent3D$1.ancestorAdded(Unknown Source)
        at javax.swing.AncestorNotifier.fireAncestorAdded(AncestorNotifier.java:86)
        at javax.swing.AncestorNotifier.componentShown(AncestorNotifier.java:193)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:180)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:179)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:179)
        at java.awt.Component.processComponentEvent(Component.java:6365)
        at java.awt.Component.processEvent(Component.java:6313)
        at java.awt.Container.processEvent(Container.java:2237)
        at java.awt.Window.processEvent(Window.java:2025)
        at java.awt.Component.dispatchEventImpl(Component.java:4889)
        at java.awt.Container.dispatchEventImpl(Container.java:2295)
        at java.awt.Window.dispatchEventImpl(Window.java:2746)
        at java.awt.Component.dispatchEvent(Component.java:4711)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
        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.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
        at java.awt.EventQueue$4.run(EventQueue.java:733)
        at java.awt.EventQueue$4.run(EventQueue.java:731)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
        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)
It is a generic AMD 64-bit box running Arch Linux. (The distro packaged version is only ver 5.6, and in any case does not run.)

Is this sufficient info to identify the problem?
TIA
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: ver 5.7 on Linux "Can't create graphics environment"

Post by Puybaret »

And how works [font=courier new]SweetHome3D[/font] script?
Emmanuel Puybaret, Sweet Home 3D creator
richardlyons
Posts: 6
Joined: Tue Jan 23, 2018 8:31 pm
Country: France

Re: ver 5.7 on Linux "Can't create graphics environment"

Post by richardlyons »

@Puybaret:
The Sweethome3D script opens only the splash screen and stops (as before, with 5.6).

Code: Select all

$ /opt/SweetHome3D-5.7/SweetHome3D
amdgpu_parse_asic_ids: Cannot parse ASIC IDs: Ressource temporairement non disponible
Exception in thread "main" 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:1924)
        at com.jogamp.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1875)
        at com.jogamp.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.j3)
        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.getProfileMap(GLProfile.java:2297)
        at com.jogamp.opengl.GLProfile.get(GLProfile.java:1021)
        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)
        at javax.media.j3d.GraphicsConfigTemplate3D.getBestConfiguration(GraphicTemplate3D.java:317)
        at java.awt.GraphicsDevice.getBestConfiguration(GraphicsDevice.java:207)
        at com.eteks.sweethome3d.j3d.Component3DManager.<init>(Unknown Source)
        at com.eteks.sweethome3d.j3d.Component3DManager.getInstance(Unknown Sour
        at com.eteks.sweethome3d.SweetHome3D.addComponent3DRenderingErrorObservewn Source)
        at com.eteks.sweethome3d.SweetHome3D.init(Unknown Source)
        at com.eteks.sweethome3d.SweetHome3D.main(Unknown Source)
richardlyons
Posts: 6
Joined: Tue Jan 23, 2018 8:31 pm
Country: France

Re: ver 5.7 on Linux "Can't create graphics environment"

Post by richardlyons »

SOLVED!:

I have just discovered the problem is caused by the fact I use a tiling window manager. Switching to icewm, for example, I get full 3D functionality.
User avatar
yatsek
Posts: 1
Joined: Fri Apr 09, 2021 3:43 pm
Country: Poland

Re: ver 5.7 on Linux "Can't create graphics environment"

Post by yatsek »

This post shows on top of Google search when looking for mentioned error - i.e:

Code: Select all

$ sweethome3d
Java 3D: implicit antialiasing enabled
Exception in thread "AWT-EventQueue-0" javax.media.j3d.IllegalRenderingStateException: Can't create graphics environment for Canvas 3D
        at com.eteks.sweethome3d.j3d.Component3DManager.getCanvas3D(Unknown Source)
....
This was not solved neither by using freshly downloaded version of SweetHome3D nor by running

Code: Select all

./SweetHome3D-Java3D-1_5_2
But what was VERY helpful was (found on some other place in this forum) to add:

Code: Select all

-Dcom.eteks.sweethome3d.j3d.useOffScreen3DView=true
in script [font=courier new]SweetHome3D[/font]
Gianca_UY
Posts: 1
Joined: Wed Aug 24, 2022 2:49 am

Re: ver 5.7 on Linux "Can't create graphics environment"

Post by Gianca_UY »

This post shows on top of Google search when looking for mentioned error - i.e:

Code: Select all

$ sweethome3d
Java 3D: implicit antialiasing enabled
Exception in thread "AWT-EventQueue-0" javax.media.j3d.IllegalRenderingStateException: Can't create graphics environment for Canvas 3D
        at com.eteks.sweethome3d.j3d.Component3DManager.getCanvas3D(Unknown Source)
....
This was not solved neither by using freshly downloaded version of SweetHome3D nor by running

Code: Select all

./SweetHome3D-Java3D-1_5_2
But what was VERY helpful was (found on some other place in this forum) to add:

Code: Select all

-Dcom.eteks.sweethome3d.j3d.useOffScreen3DView=true
in script [font=courier new]SweetHome3D[/font]
I've just registered to thank yatsek because this worked (on v6.6.2 just in case)!!

Code: Select all

-Dcom.eteks.sweethome3d.j3d.useOffScreen3DView=true
Post Reply New Topic

Who is online

Users browsing this forum: No registered users and 1 guest