I have monitor connected to notebook and I work on two monitors as one big desktop in linux.
If I open terminal on first screen (notebook) and start sweethome3d in terminal it starts on first screen and works fine.
If I move terminal to second screen (external monitor) and start sweethome3d in terminal it starts on second screen and works all except 3D view and there is error in terminal:
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:85)
at javax.swing.AncestorNotifier.componentShown(AncestorNotifier.java:192)
at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:180)
at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:179)
at java.awt.Component.processComponentEvent(Component.java:6221)
at java.awt.Component.processEvent(Component.java:6169)
at java.awt.Container.processEvent(Container.java:2045)
at java.awt.Window.processEvent(Window.java:1876)
at java.awt.Component.dispatchEventImpl(Component.java:4750)
at java.awt.Container.dispatchEventImpl(Container.java:2103)
at java.awt.Window.dispatchEventImpl(Window.java:2518)
at java.awt.Component.dispatchEvent(Component.java:4576)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
at java.awt.EventQueue.access$400(EventQueue.java:96)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.awt.EventQueue$2.run(EventQueue.java:629)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
at java.awt.EventQueue$3.run(EventQueue.java:645)
at java.awt.EventQueue$3.run(EventQueue.java:643)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
System: Linux Mint 13
SweetHome3D: 3.7 (portable and installed from repository)
Java: 1.6.0
This issue should have been fixed in version 4.3
Hi,
Still have above error:
./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)
at com.eteks.sweethome3d.j3d.Component3DManager.getOnscreenCanvas3D(Unknown Source)
java version: 1.6.0_45 / 64 bit
SweetHome: 4.3
Linux 3.8.0-35-generic #50-Ubuntu
Try install libqt4-opengl:amd64, it works for me.
I'm getting this too. 3d view works fine until I use an external monitor.
Sweethome 5.3
Java version 1.8.0_151 / 64 bit / 1.7 GB max
Java 3D version 1.5.2
I have libqt4-opengl installed.
Linux 4.9.0-3-amd64 Debian 4.9.30-2+deb9u5
Seems okay under (ugh, impossible to correctly copy text from the "About" window)...
Version 6.1.2
Java version 1.8.0_202 - 64bit - 0.1 / 1.8GB
Java 3D version 1.6.1
Same error for me, with 2 monitors, if I try to open 3d view on another monitor than the one where SH3D works.
I use gentoo, nvidia, , and SH3D 6.0
Same problem on Ubuntu 18.04 LTS:
Version 5.7
Java version 10.0.2 / 64 bit / 1.9 GB max Java 3D version 1.5.2
Seems okay under (ugh, impossible to correctly copy text from the "About" window)...
Version 6.1.2
Java version 1.8.0_202 - 64bit - 0.1 / 1.8GB
Java 3D version 1.6.1
Thanks for your feedback William
I have the same problem (2 monitors connected to a arch linux desktop):
I restarted the computer (since it had gone through an Arch-linux continuous update recently, I suspected that the potentially updated drivers may need the restart to kick in. ) Then it worked. (Though I see 3d view only in the main window and not in a separate window.)
This is still an issue in Ubuntu 21.04 (version 6.4.2).