Skip to main content

Better macOS launch implementation

on my 5k monitor on mac, had to launch the jar using my own flags as the image was still

Blurry & UI was to small.

"$("/usr/libexec/java_home" -v 25)/bin/java"
-Dsun.java2d.uiScale.enabled=true
-Dsun.java2d.uiScale=1.5
-Dawt.useSystemAAFontSettings=on
-Dswing.aatext=true
-Dprism.allowhidpi=true
-jar modeler.jar

also the included macos “macos-aarch64.zip“ & “macos-x64.zip” do not contain the jar for some reason & scripts dont work as well for me..

you could go through the extra process of using jpackage to package the app into a native macos app bundle, ofc using self self-signed certificate as a apple certs can get expensive..

or use this zsh script I have:
all current new mac’s use zsh by default.

https://gist.github.com/XxUnkn0wnxX/c6372b5cd30ca3b71c740e4ef7af78b9

should work for both arm & x64, just have it placed in the same folder as the jar.
Also, no need to bundle the jdk, just tell the user to install the jdk from java site or using macOS Homebrew of course.
you can modify the java home thing to whatever is needed..

1 comment

Log in to comment and vote

Comments1

  • satisfactorymodeler

    Team•

    Nov 6, 2025

    The jar is purposefully bundled separately from the jvm as the jvm is much larger and only ever needs to be downloaded once. This makes updating much quicker as it is a much smaller download. I supply the jvm for convenience and to ensure compatibility but you can use a different one if that works for you. I have no desire to bundle this in some silly apple format.

    I would recommend against using built in ui scaling and using those flags will give you a worse experience. I try very much to disable this where I can as all the built in scaling does is just enlarges it and makes everything blurry. The app comes with it’s own scaling which uses higher resolution images when enlarging instead of just making the existing ones larger and blurrier. You can find the ui scaling in the menu and you can use the scroll wheel to scale the model.

    Honestly I am surprised you took the time to figure out all these command flags before looking at the UI settings in the menu.