Skip to content

Releases: winters791/ArmSector

ArmSector 1.1.0

Choose a tag to compare

@winters791 winters791 released this 16 Oct 08:10

Fixes a loading hang with mods that ship .webp images, such as MagicLib. If ArmSector 1.0.0 froze your game while it was loading, this release is the fix.

The game's WebP image library (webp-imageio) contains only an Intel copy of its native code. In native mode the arm64 Java couldn't load it, so the first .webp texture stopped the loading thread. No error appeared anywhere visible, because it was printed only to the console, which Finder hides.

What's new

  • WebP support for arm64: libwebp-imageio.dylib built from source (webp-imageio 0.1.6, the game's version, with libwebp 1.6.0, for macOS 11 and later). The launcher puts it first on the classpath in native mode; the game's jar isn't changed. It decodes pixel-identical to the original Intel library.
  • In native mode, Java errors that never reach starsector.log now go to Starsector.app/logs/starsector-stderr.log. Please include that file when you report a problem.
  • Upgrading: run the new install.sh over 1.0.0. It rebuilds the launcher from the original it saved the first time and keeps your USE_NATIVE_ARM64 setting. uninstall.sh removes everything, including the new native/macosx-arm64-cp folder.
  • The installer only refuses while Starsector is running from the install it's changing, so a second copy of the game can stay open.

Tested on a copy of the game: an M3 Mac, macOS 27.2, Starsector 0.98a-RC8 with a Zulu 17 pack.

  • Starting with LazyLib and MagicLib reaches the main menu in native mode (about 8 s, versus 17 s under Rosetta on this machine) and with USE_NATIVE_ARM64=0.
  • The LWJGL smoke test, the 1x-surface probe and the WebP probe all pass.
  • Fresh install, upgrade from 1.0.0, reinstall and uninstall all leave the launcher as expected; uninstall restores it byte-for-byte.

Install (requirements unchanged: an Apple Silicon Mac and Starsector 0.98a with a Java 17 community pack): quit Starsector, extract ArmSector-1.1.0.zip, and in Terminal run bash install.sh from the extracted folder. Details are in the README.

Assets

File SHA-256
ArmSector-1.1.0.zip 5eb88a04d0ec646ac0bf9b22ea8290bee8130d27249eb8e7b3f445e24b5f2dfb
openal-soft-1.23.1-lwjgl-0d5d3ad-source.tar.gz 66371f6bb25ff91c87f1480c4e80ec774f35c69b6ba1bd1877a2e980f94a6792

The second file is the source of the bundled OpenAL Soft (LGPL). Licenses for everything in the zip, including webp-imageio (Apache 2.0) and libwebp (BSD), are in its LICENSES/ folder.

This is an unofficial fan project, not affiliated with Fractal Softworks. The zip contains no Starsector files.

ArmSector 1.0.0

Choose a tag to compare

@winters791 winters791 released this 15 Oct 20:31

ArmSector runs Starsector natively on Apple Silicon Macs (M1 or newer), so the game no longer goes through Rosetta.

  • No Rosetta: an arm64 Java 17 (Eclipse Temurin, trimmed with jlink) runs the game, with LWJGL 2.9.3 and OpenAL Soft built for arm64.
  • JVM settings for Apple Silicon: native mode uses the G1 garbage collector and drops the Java pack's x86 tuning (compiler directives that kept combat code away from the optimizing compiler, a near-constant GC mode, and pre-touching the whole heap).
  • Fullscreen that lets you leave: Cmd+Tab and Mission Control work while the game is fullscreen.

Requirements: an Apple Silicon Mac and Starsector 0.98a with a Java 17 community pack already applied. The plain official download isn't supported yet.

Install: quit Starsector, extract ArmSector-1.0.0.zip, and in Terminal run bash install.sh from the extracted folder. Then start the game as usual. To switch back to Rosetta, set USE_NATIVE_ARM64=0 in the launcher. To remove ArmSector, run bash uninstall.sh. The README has the details, including a manual install.

Tested on one setup so far: an M3 Mac running macOS 27.2 with Starsector 0.98a-RC8 and a Zulu 17 pack. Reports from other Macs are welcome; please open an issue.

Known limits:

  • On notched MacBooks, the notch hides a strip at the top of the screen in fullscreen.
  • Mods that ship Intel-only native libraries can't load them.
  • Rendering is unchanged: the game still uses OpenGL, which macOS runs on Metal. There's no MetalFX.

This is an unofficial fan project, not affiliated with Fractal Softworks. The zip contains no Starsector files.

Assets

File SHA-256
ArmSector-1.0.0.zip 4f051cf69ea010c9795a6576849e3169bc3f570c007b2302dce7c9bf3327eb72
openal-soft-1.23.1-lwjgl-0d5d3ad-source.tar.gz 66371f6bb25ff91c87f1480c4e80ec774f35c69b6ba1bd1877a2e980f94a6792

The second file is the source of the bundled OpenAL Soft (LGPL). Licenses for everything in the zip are in its LICENSES/ folder. liblwjgl.dylib rebuilds byte-for-byte from source with rebuild-kit/rebuild.sh.