Can't start sweethome3d on Linux

This topic has been viewed 9131 times and has 7 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
simona70
Posts: 13
Joined: Sat Sep 15, 2012 2:31 pm
Contact:

Can't start sweethome3d on Linux

Post by simona70 »

Intel z270, i7-7700K, Linux 4.13 (4.13.8-1-zen), arch linux distro, Sapphire NITRO+ RADEON RX 580 Special Edition 8G GDDR5, amdgpu driver, 16gb ddr4, de KDE. system full updated, Linux-zen kernel.

Extended renderer info (GLX_MESA_query_renderer):
Vendor: X.Org (0x1002)
Device: Radeon RX 580 Series (AMD POLARIS10 / DRM 3.18.0 / 4.13.8-1-zen, LLVM 5.0.0) (0x67df)
Version: 17.2.2
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: Radeon RX 580 Series (AMD POLARIS10 / DRM 3.18.0 / 4.13.8-1-zen, LLVM 5.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.2.2
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

I get the splash screen and then nothing happens.
Running from a console, I can see the error messages/call stack.
I especially notice:
Exception in thread "main" java.lang.InternalError: XXX0 profile[1]: GL3bc -> profileImpl GL4bc !!! not mapped

Full call stack from error:
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.java:1843)
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(GraphicsConfigTemplate3D.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 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)
User avatar
hansmex
Posts: 4027
Joined: Sat Sep 26, 2009 11:36 am
Country: Netherlands

Re: Can't start sweethome3d on Linux

Post by hansmex »

The Linux version comes with a startup-script called Java-1.5 or something similar. Use that script to start SH3D.
Hans

new website - under constuction
hansdirkse.info
simona70
Posts: 13
Joined: Sat Sep 15, 2012 2:31 pm
Contact:

Re: Can't start sweethome3d on Linux

Post by simona70 »

Sorry.... in my aur arch linux sweethome3d package I don't find any java script (there is a .desktop ...). Anyone can publish this script content?
User avatar
hansmex
Posts: 4027
Joined: Sat Sep 26, 2009 11:36 am
Country: Netherlands

Re: Can't start sweethome3d on Linux

Post by hansmex »

#!/bin/sh

# Retrieve Sweet Home 3D directory
PROGRAM=`readlink "$0"`
if [ "$PROGRAM" = "" ]; then
PROGRAM=$0
fi
PROGRAM_DIR=`dirname "$PROGRAM"`

# Run Sweet Home 3D
exec "$PROGRAM_DIR"/jre8/bin/java -Xmx1024m -classpath "$PROGRAM_DIR"/lib/SweetHome3D.jar:"$PROGRAM_DIR"/lib/Furniture.jar:"$PROGRAM_DIR"/lib/Textures.jar:"$PROGRAM_DIR"/lib/Examples.jar:"$PROGRAM_DIR"/lib/Help.jar:"$PROGRAM_DIR"/lib/iText-2.1.7.jar:"$PROGRAM_DIR"/lib/freehep-vectorgraphics-svg-2.1.1b.jar:"$PROGRAM_DIR"/lib/sunflow-0.07.3i.jar:"$PROGRAM_DIR"/lib/jmf.jar:"$PROGRAM_DIR"/lib/batik-svgpathparser-1.7.jar:"$PROGRAM_DIR"/lib/j3dcore.jar:"$PROGRAM_DIR"/lib/j3dutils.jar:"$PROGRAM_DIR"/lib/vecmath.jar:"$PROGRAM_DIR"/jre8/lib/javaws.jar -Djava.library.path="$PROGRAM_DIR"/lib -Dcom.eteks.sweethome3d.applicationId=SweetHome3D#Installer com.eteks.sweethome3d.SweetHome3D -open "$1"
Hans

new website - under constuction
hansdirkse.info
simona70
Posts: 13
Joined: Sat Sep 15, 2012 2:31 pm
Contact:

[solved] Re: Can't start sweethome3d on Linux

Post by simona70 »

Solved.Thanks.
It's Archlinux packet in [Community] that is buggy. Original java packet in SweetHome3D site is ok.
richardlyons
Posts: 6
Joined: Tue Jan 23, 2018 8:31 pm
Country: France

[solved] Re: Can't start sweethome3d on Linux

Post by richardlyons »

I was thrilled to find this script, as I had the same problem on Arch Linux. I had to change "readlink" to "realpath" but SH3D then loaded. Very disappointed that it is not in fact doing any 3D. The bottom right panel remains blank and the plan shows a jumble of white rectangles where furniture and other items should be. Such a pity not to be able to run this application.
richardlyons
Posts: 6
Joined: Tue Jan 23, 2018 8:31 pm
Country: France

[solved] Re: Can't start sweethome3d on Linux

Post by richardlyons »

In the start script above, it probably depends on your shell, but may be necessary to replace (in line 4) the deprecated "readlink" with "realpath" to get the intended result.
richardlyons
Posts: 6
Joined: Tue Jan 23, 2018 8:31 pm
Country: France

Re: [solved] Re: Can't start sweethome3d on Linux

Post by richardlyons »

Further explanation of the problem using SH3D on Arch Linux.

Installation of the package available for the distro results in only the splash screen. Using the start script is difficult because the libraries listed are located in different directories. It may be possible to edit the script. I have not tried as I am unsure how to select compatible versions.

Installing from the SweetHome3D site, it is easy to edit the script to start the program, but the 3D rendering fails. The following errors are generated (it looks as though the first few lines are critical):

Code: Select all

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:758)
        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:731)
        at java.awt.EventQueue$4.run(EventQueue.java:729)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
        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
Post Reply New Topic

Who is online

Users browsing this forum: No registered users and 1 guest