Experimental Apple Silicon test build based on 2.6.0 and the consolidated macOS port from #798. This replaces test1 for package startup testing. Requires an M1 or newer Mac, macOS 26 or newer and Rosetta 2.
What changed
- Fixed the bundled KosmicKrisp ICD manifest to use
./libvulkan_kosmickrisp.dylib, relative to the manifest rather than a system library search. - Added the relative
libvulkan.dylibandlibvulkan.1.dylibaliases required by the renderer's dynamic Vulkan loader. Both point to the versioned loader included inside the app. - Made packaging stop if the required Vulkan loader or KosmicKrisp driver is missing.
- Added a regression test and a macOS smoke test against the final mounted DMG. The smoke test loads both loader names under Rosetta, creates a Vulkan instance with Metal surface extensions and checks loaded library origins with Vulkan and dyld overrides cleared.
- Preserved the experimental Apple Silicon port, runtime settings and credits to Fleurat (#798), nizwar (#510) and Incognito-Coder (#469). Thanks to Lucas-Kobayashi for the startup report and moamlmushtaq for investigating and testing the two packaging fixes.
How to test
- Close the launcher and game. Download
spartanport-macos.dmg, open it and replace the old application in Applications with the newSpartanPort.app. ReadREADME-macOS.txtinside the disk image. Please use the unmodified application for the first test; no manual driver-path edits, library links, Homebrew or system Vulkan installation should be needed. - Use your own compatible game files. Start at 720p, with engine frame rate and frame limit both set to 60 FPS.
- Check whether the game starts past the Vulkan window error from test1. Then test cinematics, gameplay, audio, keyboard/controller input, saving/loading and scene transitions.
- Export the log from the launcher. Report results in #798 with the
macos-v2.6.0-apple-silicon-test2tag, Mac model, RAM, macOS version, game title ID/update, FPS and scene tested, controller and any problems. Please report successful startup too.
Saves, settings and logs remain in ~/Library/Application Support/SpartanPort. Replacing the application preserves that folder; back up saves before testing.
Known issues
- Gameplay, FPS, scene transitions and physical controllers on this new package still need player testing. The earlier M4 report concerned test1 with local changes and does not validate this DMG.
- Apple Silicon and macOS 26 or newer only. Intel Macs, Sonoma and other older macOS versions, MetalFX and the alternate MoltenVK path are outside this package.
- The application is signed ad hoc and is not notarized with an Apple Developer ID. macOS may block its first launch; see the installation notes inside the DMG.
Validation so far
- Added the packaging regression before implementation and confirmed it failed without the fix.
- Passed the macOS 26 CI on the release source commit: runtime build, 12 native tests and the no-MSAA test.
- Python suite: 556 tests run, 50 skipped, no failures. Skipped tests are not counted as validated behavior.
- Generated the app and DMG. The existing packaging checks verified x86-64 runtime libraries, dependency relocation, redistribution boundaries and ad hoc code signatures.
- Mounted the final DMG read-only, verified the app signature again and passed all 8 package tests. Under Rosetta, both
libvulkan.dylibandlibvulkan.1.dylibloaded the bundled loader and KosmicKrisp driver and created a Vulkan 1.3 instance with Metal surface extensions. The test rejected non-system libraries outside the bundle, with Vulkan/dyld environment overrides cleared and an isolated temporary home. - Downloaded the CI artifact and independently checked the DMG SHA-256 and
source-commit.txtagainst the exact source commit. - Source:
eb5b29d565ef2e9facb668c8f00f9233b1a2b343onfix/macos-test2-vulkan, based on the test1 PR head76830ef10f99cf5ca26f0cd2e41a4ab83207ae5f. - Build and test evidence: macOS workflow, attempt 3. The first two attempts of this run could not acquire a hosted macOS ARM64 runner; the successful attempt rebuilt and tested this exact source.
- Not validated here: game startup through the full launcher/game flow, gameplay, FPS, scene transitions and physical controllers on this new package. The isolated Vulkan instance test does not validate those behaviors.
SHA-256 of spartanport-macos.dmg: 3fcaadd85b055b1db6068e4d3fe569e2e87942846466014cd06efd6145b39a80.
You need your own game files. None are included.