Skip to content

rebar 0.7.0

Choose a tag to compare

@OverlordDev OverlordDev released this 07 Nov 22:53
· 16 commits to main since this release

New in 0.7.0

iOS apps and games

  • Unity iOS games run: Shadow Fight 2 (2.46) and Subway Surfers (3.71), decrypted IPAs, open a window and play under rebar-ios (Metal through the NVIDIA driver). The launcher recognises such apps (their executable only loads UnityFramework) and starts them in a host bundle.
  • Fixes on the way: the app's own back-deployed libswift*.dylib are replaced by the host's; -[NSBundle principalClass] of an arm64 bundle; a stand-in AVAudioSession (the Catalyst one waits for an XPC reply that never comes here); the display surface Unity reads at start; the garbage collector of il2cpp (thread_get_state of other guest threads is answered from their guest CPU); variadic +[NSString localizedStringWithFormat:], -initWithFormat:locale:, CFStringAppendFormat; a mach-exception wait that could hang a game for good; swift_dynamicCastMetatype result no longer cut to a byte.
  • Xcode 26.3 (arm64) opens a project under rebar (36 s -> 15 s), Swift/ObjC runtime fixes (Bool results, native Strings, protocol mirroring, plug-in loading); see XCODE_KNOWN_ISSUES.md. IntelliJ IDEA 2025.3, Firefox, VLC, Audacity 4, Wireshark, darktable and MuseScore start with windows and no faults.

Speed

  • JIT: FP comparison flags stay in the x86 flags, cheaper NaN fix-up, smarter flag liveness (a return after a frame restore does not keep NZCV alive), cheaper qsort/bsearch comparator calls. Node / CPython / Godot loops 3-6 % faster, scalar FP micro benchmark 9.2 -> 7.2 ns, qsort kernel 14x -> 8.8x native. Details, ratios to native and the next steps: PERF_REPORT.md; tools: tools/perf/.
  • jit-selftest works on macOS 26 again.

Known

  • Host macOS 26.7.2: run_tests.sh 170 pass / 5 fail (four 4-pixel GUI layout differences and the jit_cache threshold).
  • Several games together or Shadow Fight alone can crash now and then inside the NVIDIA Metal driver (nvmtl_prepare_submission_copies), not in rebar.
  • Xcode: the editor needs ~2.5 minutes of SDK symbol loading after the first Swift file is opened.

Install

  • Rebar-launcher: Rebar.app. Unzip, move to Applications, open. If macOS says the app is damaged: xattr -dr com.apple.quarantine /Applications/Rebar.app.
  • rebar (command line): keep the files of the folder together, run ./rebar path/to/arm64/binary [args...]; iOS apps: python3 tools/ipa.py run App.ipa (needs rebar-ios and librebar_sec.dylib next to rebar).

Build from source: ./build.sh.