Features

Download

Online

Gallery

Blog

  Index  | Recent Threads  | List Attachments  | Help  | Search
 Welcome Guest  |  Register  |  Login
Login Name  Password
 

Sweet Home 3D Forum



No member browsing this thread
Thread Status: Active
Total posts in this thread: 10
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 2040 times and has 9 replies Next Thread
arm64appcompatguy
Newbie




Joined: Jun 8, 2018
Post Count: 7
Status: Offline
Reply to this Post  Reply with Quote 
SH3D on Windows 10 on ARM works using DirectX

Hi,

I'm one of the Microsoft employees tasked with getting various apps to work well on Windows 10 on ARM. Sweet Home 3D is on my list.

One of the unfortunate limitations of the current ARM64 Windows devices is that they have no OpenGL support in their drivers. This means that the amazing Windows installer provided by Sweet Home 3D works fine, but the application tends to either crash on start or leave the rendering area blank. Because of this I added an app compat shim to block the current major revision of the installer from running.

Not satisfied with this, I went digging on the forum and found this wonderful post:
http://www.sweethome3d.com/support/forum/viewthread_thread,6818_offset,7

The instructions there for using the JAR version of the program with -Dj3d.rend=d3d work beautifully, and Sweet Home 3D actually performs quite well under our emulation.

I hope this helps someone out. Sweet Home 3D is really a neat product.

Thanks!
[Jun 8, 2018 7:17:01 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 6732
Status: Offline
Reply to this Post  Reply with Quote 
Re: SH3D on Windows 10 on ARM works using DirectX

Thanks for your tests smile

The DirectX version of Java 3D requires to run Sweet Home 3D in 32 bit.
Isn't it a problem under ARM64?
Did you run Sweet Home 3D with its JAR Executable version or from the installer running with /j3d.version=1.5.2 /os.arch=x86 flags and a SweetHome3D.l4j.ini file containing DirectX properties placed in Sweet Home 3D installation folder?
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
[Jun 8, 2018 10:37:08 PM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
arm64appcompatguy
Newbie




Joined: Jun 8, 2018
Post Count: 7
Status: Offline
Reply to this Post  Reply with Quote 
Re: SH3D on Windows 10 on ARM works using DirectX

Glad I can help :)

ARM64 Windows has 32-bit Intel/AMD CPU emulation software. This allows it to run normal 32-bit Java programs quite well.

Sadly, in all of my research and experimentation I did not see those installer flags and I'm not sure what to put in the INI. I'll work on that since the EXE installer is quite preferable to what I got working!

My steps:

  • Install a 32-bit x86 JRE (like Oracle's Java SE JRE)
  • Use the downloads page to download the "Sweet Home 3D executable jar"
  • Invoke the JRE on the JAR file with D3D options:
    java -Dj3d.rend=d3d -jar SweetHome3D-5.7.jar


[Jun 11, 2018 8:43:04 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
arm64appcompatguy
Newbie




Joined: Jun 8, 2018
Post Count: 7
Status: Offline
Reply to this Post  Reply with Quote 
Re: SH3D on Windows 10 on ARM works using DirectX

I was able to use the normal Windows installer just like you suggested:

  • Download (but don't run!) Windows installer from the downloads page.
  • Follow the instructions on the page you listed to install with J3D 1.5.2
  • Create a text file next to SweetHome3D.exe named SweetHome3D.l4j.ini with these contents:
    -Dj3d.rend=d3d

  • Start Sweet Home 3D normally


Would you be OK with the OS compatibility layer automatically adding the needed installer arguments and INI entry on ARM64? This wouldn't be applied once the version exceeds, say, 5.7.

I still haven't figured out how to get High DPI support working right using the INI file. The INI entries suggested in the FAQ have no effect and don't seem to track changes in the OS' DPI settings.
[Jun 12, 2018 1:11:38 AM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 6732
Status: Offline
Reply to this Post  Reply with Quote 
Re: SH3D on Windows 10 on ARM works using DirectX

Actually, I think that the list of properties in the SweetHome3D.l4j.ini should be a little longer:
-Dj3d.rend=d3d
-Dsun.java2d.d3d=true
-Dsun.java2d.noddraw=false
-Dsun.java2d.ddoffscreen=true
-Dsun.java2d.ddscale=true
but maybe -Dj3d.rend=d3d is enough in your case...

Would you be OK with the OS compatibility layer automatically adding the needed installer arguments and INI entry on ARM64?
As it's possible to test ARM64 architecture in Inno Setup, it should be even possible to change the installer in such a way that when running under ARM64, it will install by default Sweet Home 3D in 32 bit with Java 3D 1.5.2 and j3d.rend property set to d3d.

I still haven't figured out how to get High DPI support working right using the INI file. The INI entries suggested in the FAQ have no effect
Do you mean you tried to add the following properties:
-Dcom.eteks.sweethome3d.resolutionScale=2.5
-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
-Dswing.plaf.metal.controlFont=Dialog-11
-Dswing.plaf.metal.userFont=SansSerif-11
-Dswing.plaf.metal.systemFont=SansSerif-11
to SweetHome3D.l4j.ini file?
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
[Jul 6, 2018 1:45:33 PM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
arm64appcompatguy
Newbie




Joined: Jun 8, 2018
Post Count: 7
Status: Offline
Reply to this Post  Reply with Quote 
Re: SH3D on Windows 10 on ARM works using DirectX

Hi again!

While -Dj3d.rend=d3d gets it minimally working in the ARM64 case, I defer to your judgement.

Getting the installer to automatically set it up right would be magnificent. The less the OS does special, the better! If you go this route, please post here when the new installer is up. :)

As for high-DPI, yes, I believe that was the combination of settings I tried...but I'll try again. It's been a while. (This is plain high-DPI trouble, not ARM64-specific, so I'm not particularly worried about it myself.)
[Jul 19, 2018 8:42:34 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
arm64appcompatguy
Newbie




Joined: Jun 8, 2018
Post Count: 7
Status: Offline
Reply to this Post  Reply with Quote 
Re: SH3D on Windows 10 on ARM works using DirectX

Confirmed: those settings don't fix high-dpi issues in SH3d on ARM64.
[Jul 19, 2018 9:43:50 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
arm64appcompatguy
Newbie




Joined: Jun 8, 2018
Post Count: 7
Status: Offline
Reply to this Post  Reply with Quote 
Re: SH3D on Windows 10 on ARM works using DirectX

I hope you'll excuse that last response; my testing environment was not sane and the standard entries work magnificently. More in a moment.
[Jul 19, 2018 11:37:42 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
arm64appcompatguy
Newbie




Joined: Jun 8, 2018
Post Count: 7
Status: Offline
Reply to this Post  Reply with Quote 
Re: SH3D on Windows 10 on ARM works using DirectX

So, until the installer is fixed, here's how to get Sweet Home 3D working on Windows 10 on ARM:

  • Make sure you are running the latest Windows updates.
  • If you have already installed Sweet Home 3D, uninstall it. (Start -> Settings -> Apps -> Sweet Home 3D -> Uninstall)
  • Download and save the Sweet Home 3D installer file. (for example, SweetHome3D-5.7-windows.exe)
  • Right-click on the Start button and select Run.
  • Type the location and name of the installer file, then add "/os.arch=x86 /j3d.version=1.5.2". (Downloads\SweetHome3D-5.7-windows.exe /os.arch=x86 /j3d.version=1.5.2)
  • Once the installer has finished, open Explorer and find SweetHome3D.exe. ("C:\Program Files (X86)\Sweet Home 3D\SweetHome3D.exe")
  • Create a file next to it named "SweetHome3d.l4j.ini".
  • Open the new file and add this text to it (might have to run Notepad as Administrator):
    -Dj3d.rend=d3d
    -Dsun.java2d.d3d=true
    -Dsun.java2d.noddraw=false
    -Dsun.java2d.ddoffscreen=true
    -Dsun.java2d.ddscale=true
    -Dcom.eteks.sweethome3d.resolutionScale=2.5
    -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
    -Dswing.plaf.metal.controlFont=Dialog-11
    -Dswing.plaf.metal.userFont=SansSerif-11
    -Dswing.plaf.metal.systemFont=SansSerif-11

    (This tells Sweet Home 3D to work with the limited OpenGL support and sweet high-DPI screens these devices come with.)
  • Save and close the file.
  • Launch Sweet Home 3D like normal.

Hopefully that gets you rolling!
[Jul 19, 2018 11:49:52 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 6732
Status: Offline
Reply to this Post  Reply with Quote 
Re: SH3D on Windows 10 on ARM works using DirectX

I integrated your proposal in the version 6.0 Beta 12 found here.
Could you test it please?
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
----------------------------------------
[Edit 1 times, last edit by Puybaret at Sep 24, 2018 1:08:16 AM]
[Sep 23, 2018 2:13:26 PM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
[ Jump to Last Post ]
Show Printable Version of Thread  Post new Thread

    Get Sweet Home 3D at SourceForge.net. Fast, secure and Free Open Source software downloads
   
© Copyright 2006-2019 eTeks - All rights reserved