Skip to content

HyperBridge engine 0161 (MacRunner 1.0.8)

Choose a tag to compare

@t0b1kent t0b1kent released this 05 Oct 00:09
· 73 commits to main since this release

HyperBridge is MacRunner's CPU engine for Windows x86-64 and x86 programs on Apple Silicon through ARM64 Wine. It is built on FEX-Emu (MIT), with MacRunner's downstream patch series in fex/.

This build: engine 0161, shipped in MacRunner 1.0.8 on October 5, 2026. The files are copied without alteration from the notarized application. The release source archive includes the common chain, the separate WOW64 additions and the final 0160/0161 increments.

File in the archive Role SHA-256
engine/fex/aarch64-windows/xtajit64.dll ARM64EC, 64-bit x86 processes eb13ea53bf16c9a2153577a02b4ac07d77b3ae0332f905694cd593abc5551401
engine/fex/aarch64-windows/xtajit.dll WOW64, 32-bit x86 processes aef436aacd966ce9e55ccc1e68706f4af2d2192da923cf0ae17b682580742025
engine/fex/aarch64-unix/libarm64ecfex.so Signed host library for xtajit64.dll ed19d22504721add4010d4cb00bfdb2b529bb04fe480a10db87cc6783ad43e93
engine/fex/aarch64-unix/libwow64fex.so Signed host library for xtajit.dll 7cc8079be2620ce32a80b9d06d9a713ebc78cd7d19af552f51c9654bbba7d1ce

Archive layout and notices follow engine 0049. This is an engine payload, not a standalone Wine installation: use the matching MacRunner 1.0.8 runtime and ENGINE.json. That runtime supplies the additional libmacrunner-hwtso.dylib; it is outside this four-file archive. Its hash, unix aliases and all delivered defaults are in fex/MANIFEST.json.

New compared with engine 0049

  • 0055 per-thread Darwin hardware TSO admission and boundary handling.
  • 0056 preserve upper AVX halves across inline self-modifying-code restart.
  • 0065 restore independent MXCSR DAZ/FTZ state through Apple's compatibility AFPCR.
  • 0075 BLSR/BLSMSK CF zero-test uses the operand width.
  • 0160 single Q loads on admitted hardware-TSO paths.
  • 0161 JIT code-buffer guard, alignment and initial capacity account for the host page size.
  • WOW64: 0070, 0071, 0052-port, 0050, 0053 and 0087, in that explicit order: suspend/teardown lifetime, isolated interrupt page, cooperative backedges and Get/Set owner reentry.

The common chain is 55 patches on FEX-Emu fd141ed6d, applied in filename order. The WOW64 additions live separately in fex/wow64/: they start on the common 53-patch base through 0075, followed by 0160/0161. Both orders passed local CI-equivalent sequential check/apply tests; no patch touches an absent upstream submodule.

MacRunner 1.0.8 sets MACRUNNER_FEX_HW_TSO=2, FEX_TSOENABLED=1, MACRUNNER_FEX_APPLE_AFP=1, MACRUNNER_FEX_DIV_PROVEN_HIGH=1, MACRUNNER_FEX_SUSPEND_BACKEDGE=1 and MACRUNNER_HB_JIT_HOST_GUARD=1. AFP requires native-thread admission; see the complete patch/default notes.

Reproduction

A clean Xcode Cloud Mac rebuilt the two distinct PE modules from the release source with our reproduction recipe (not yet published): xtajit64.dll and xtajit.dll match the delivered files byte for byte. The unix libraries match the measured functions and material sections, but their whole-file hashes differ. Function/section equality is not semantic, signature, load-command or relocation equivalence. It was a diagnostic build: nothing was installed or signed.

The manifest records exact hashes and tools (llvm-mingw clang 22.1.5, Apple clang 21.0.0, SDK 27.0, CMake 4.3.2). The generic fex/build.sh omits the separate WOW64 chain and is not a complete byte-exact 1.0.8 reproduction recipe.

Measured

Hollow Knight's menu used 23% less game CPU time per frame than 1.0.7 (alternating runs; two identical runs differed by 0.9%); FPS was capped at 120 Hz. With the new defaults, Hollow Knight's time to menu was 31.1 → 25.4 s; ABZU's was 32.61 → 32.11 s, a 1.5% reduction from one pair without a repeat. These application runs preceded final packaging. They do not measure this final archive's FPS or isolate one patch.

The October 5 comparison note also records Prism (M1 Pro VM), Rosetta (cloud M2 Pro VMs), HyperBridge 1.0.8 (M1 Pro) and direct x86 (AMD EPYC cloud VM) loop times. Different machines and related programs preclude a cross-column translator speed ranking.

Known limits

Matching PE bytes and applicable patches are not whole-product or gameplay validation. Floating-point equivalence, full REP partial-fault recovery, general Wine ABI/runtime correctness and native whole-file reproduction remain outside those proofs.

Licenses

FEX-Emu and MacRunner's downstream modifications are MIT. Linked third-party components retain their licenses; the archive preserves the engine-0049 notices and license files. FEX-Emu has not reviewed or endorsed this port, and these are not contributions to FEX-Emu.