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.
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.
France
Joined: Nov 7, 2005
Post Count: 9417
Status:
Offline
Re: SH3D on Windows 10 on ARM works using DirectX
Thanks for your tests
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
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!
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.
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:
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.)
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):
France
Joined: Nov 7, 2005
Post Count: 9417
Status:
Offline
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]