3D part not loading anymore

This topic has been viewed 2686 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
zsxdcfgvbjhjkl
Posts: 3
Joined: Thu Feb 13, 2025 1:22 pm
Country: Netherlands

3D part not loading anymore

Post by zsxdcfgvbjhjkl »

I created several files to redo a room and I'm suddenly unable to see the 3D part. I've been able to get it to show up once today but after that, nothing. When I start it directly from the terminal, I see this:

Code: Select all

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)
	at com.eteks.sweethome3d.swing.HomeComponent3D.createComponent3D(Unknown Source)
	at com.eteks.sweethome3d.swing.HomeComponent3D.access$300(Unknown Source)
	at com.eteks.sweethome3d.swing.HomeComponent3D$1.ancestorAdded(Unknown Source)
	at com.eteks.sweethome3d.swing.HomeComponent3D$2.componentResized(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.componentResized(Unknown Source)
	at java.desktop/java.awt.Component.processComponentEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
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$300(Unknown Source)
	at com.eteks.sweethome3d.swing.HomeComponent3D$1.ancestorAdded(Unknown Source)
	at com.eteks.sweethome3d.swing.HomeComponent3D$2.componentResized(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.componentResized(Unknown Source)
	at java.desktop/java.awt.Component.processComponentEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
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$300(Unknown Source)
	at com.eteks.sweethome3d.swing.HomeComponent3D$1.ancestorAdded(Unknown Source)
	at java.desktop/javax.swing.AncestorNotifier.fireAncestorAdded(Unknown Source)
	at java.desktop/javax.swing.AncestorNotifier.componentShown(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.componentShown(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.componentShown(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.componentShown(Unknown Source)
	at java.desktop/java.awt.Component.processComponentEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Window.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
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$300(Unknown Source)
	at com.eteks.sweethome3d.swing.HomeComponent3D$1.ancestorAdded(Unknown Source)
	at com.eteks.sweethome3d.swing.HomeComponent3D$2.componentResized(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.componentResized(Unknown Source)
	at java.desktop/java.awt.Component.processComponentEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
CPU: i5-7500t
On chip GPU
OS: manjaro
sjb007
Posts: 300
Joined: Tue May 18, 2021 1:49 pm

Re: 3D part not loading anymore

Post by sjb007 »

Have you rebooted? It is sometimes possible for the gfx/opengl driver stack to get into a broken unrecoverable state that can only be fixed with a full reboot.
zsxdcfgvbjhjkl
Posts: 3
Joined: Thu Feb 13, 2025 1:22 pm
Country: Netherlands

Re: 3D part not loading anymore

Post by zsxdcfgvbjhjkl »

I have now rebooted, but that's not working.

glxinfo | grep OpenGL

Code: Select all

OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 630 (KBL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.3.4-arch1.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.3.4-arch1.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.3.4-arch1.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

journalctl -p err -b

Code: Select all

Feb 14 10:40:58  kernel: x86/cpu: SGX disabled by BIOS.
Feb 14 10:41:07  rsyslogd[878]: $WorkDirectory: /var/spool/rsyslog can not be accessed, probably does not exist - directive ign>
Feb 14 10:41:08  kernel: CIFS: VFS: Error connecting to socket. Aborting operation.
Feb 14 10:41:08  kernel: CIFS: VFS: cifs_mount failed w/return code = -101
Feb 14 10:41:08  kernel: CIFS: VFS: Error connecting to socket. Aborting operation.
Feb 14 10:41:08  kernel: CIFS: VFS: cifs_mount failed w/return code = -101
Feb 14 10:41:11  dbus-broker-launch[1407]: Ignoring duplicate name 'org.freedesktop.Notifications' in service file '/usr/share/>
Feb 14 10:41:11  dbus-broker-launch[1407]: Ignoring duplicate name 'org.freedesktop.FileManager1' in service file '/usr/share//>
Feb 14 10:41:11  dbus-broker-launch[1407]: Ignoring duplicate name 'org.freedesktop.Notifications' in service file '/usr/share/>
Feb 14 10:41:15  lightdm[1462]: gkr-pam: unable to locate daemon control file
Feb 14 10:41:15  dbus-broker-launch[1509]: Ignoring duplicate name 'org.freedesktop.Notifications' in service file '/usr/share/>
Feb 14 10:41:15  dbus-broker-launch[1509]: Ignoring duplicate name 'org.freedesktop.FileManager1' in service file '/usr/share//>
Feb 14 10:41:15  dbus-broker-launch[1509]: Ignoring duplicate name 'org.freedesktop.Notifications' in service file '/usr/share/>

I just reinstalled mesa and did a reboot, no luck
sjb007
Posts: 300
Joined: Tue May 18, 2021 1:49 pm

Re: 3D part not loading anymore

Post by sjb007 »

Do you know which version of java and java3d you are using?

Try both

Code: Select all

SweetHome3D
and

Code: Select all

SweetHome3D-Java3D-1_5_2
to launch from the command line. Does one of those work?

Check that SweetHome3D is using the included java runtime, and that it hasn't had a packager innocently trying to use the system installed version of java. (Depends on how SH3D was installed.) Examine the

Code: Select all

SweetHome3D
script, and check the PROGRAM_DIR variable is resolving to the included runtime java executable.
zsxdcfgvbjhjkl
Posts: 3
Joined: Thu Feb 13, 2025 1:22 pm
Country: Netherlands

Re: 3D part not loading anymore

Post by zsxdcfgvbjhjkl »

That send me into a bit of a rabbit hole. Turns out that for a reason I don't understand, sweethome3d from the repository automatically installs jre11-openjdk 11.0.26-u4-1. After tinkering with it, I was able to fix the problem by forcing sweethome3d to use jdk-openjdk 23.0.2.u7-1 by changing the desktop entry to this:

Code: Select all

[Desktop Entry]
Version=1.0
Type=Application
Name=Sweet Home 3D
Comment=An interior design application
Exec=env JAVA_HOME=/usr/lib/jvm/java-23-openjdk SWEETHOME3D_JAVA3D=1.6 sweethome3d
Icon=sweethome3d
Categories=Office;Java;
StartupWMClass=com-eteks-sweethome3d-SweetHome3D
MimeType=application/x-sweethome3d
~
sjb007
Posts: 300
Joined: Tue May 18, 2021 1:49 pm

Re: 3D part not loading anymore

Post by sjb007 »

Don't take offense if I'm dumbing this down too far, just trying to edumacate ya! [;)]

If you get SH3D direct from the Download link, it includes it's own java that is known to work pretty reliably.

If you are installing SH3D from your distribution, they will strip out things that they think are wasteful. i.e. If every application includes their own java runtime, that's a lot of bloat. So in packaging the app for the distribution they strip out software components that they already have a version of, and make the component a dependency of the app.

Most of the time, this is fine. However Java + OpenGL + Gfx drivers on Linux seems to be quite fragile. Hence why in this particular case it would be better if distro packagers didn't faff around with the packaging. This tendency is why I only use the package provided on the SH3D site.
Post Reply New Topic

Who is online

Users browsing this forum: No registered users and 1 guest