Skip to content

Releases: Ragnarok93/FEX

FEXCore 2609 GameNative bounded-cache test builds (pre.17)

Choose a tag to compare

GameNative testing builds based on exact upstream FEXCore 2609 commit 395b132f346b1a45def246d10c52245edba1ef02, with the bounded disk-cache patch applied reproducibly by pipeline commit dba0e21c8da96a818d7a481b0ad1709cd55db585.

Common tuning in both packages:

  • Release / O3 / NDEBUG.
  • Conservative FEX TUNE_ARCH=generic ISA baseline.
  • TUNE_CPU=none plus -mtune=cortex-a77 scheduling optimization, selected as a closer scheduling match for Snapdragon 865-class Cortex-A77 performance cores while introducing no newer ARM ISA extensions.
  • Assertions/tests/ccache off and LTO off. ARM64EC LTO remains excluded because the current LLVM ARM64EC LTO path is broken.
  • PGO is not claimed because no representative GameNative workload profile is baked into these binaries.

Bounded-cache behavior:

  • The limit covers the active writable cache database plus its index.
  • Existing entries remain readable at the limit; new entries are simply not admitted.
  • No live eviction/compaction is attempted in this 2609 patch.
  • FEX_DISKCACHEMAXSIZEMB=0 means unlimited, preserving upstream behavior.
  • Both FEX_DISKCACHE and FEX_DISKCACHEMAXSIZEMB remain normal FEX runtime configuration/environment controls.
  • Historical cache-key bucket directories are not automatically purged or included in a single cross-bucket global budget.

Candidates:

  • FEXCore-2609-GameNative-O3-MobileTune-CacheConfig.wcp — cache off by default and capacity unlimited (0 MiB) by default; enable the cache and set any desired capacity at runtime.
  • FEXCore-2609-GameNative-O3-MobileTune-Cache1GB.wcp — cache on by default with a 1024 MiB active writable-bucket limit; both defaults remain runtime-overridable.

FEXCore 2609 GameNative bounded-cache test builds (pre.13)

Choose a tag to compare

GameNative testing builds based on exact upstream FEXCore 2609 commit 395b132f346b1a45def246d10c52245edba1ef02, with the bounded disk-cache patch applied reproducibly by pipeline commit 98cf820836ca5f15b3fd1552c9985a24604edf8f.

Common tuning in both packages:

  • Release / O3 / NDEBUG.
  • Conservative FEX TUNE_ARCH=generic ISA baseline.
  • TUNE_CPU=none plus -mtune=cortex-a76 scheduling optimization, so no newer ARM ISA extensions are introduced by the mobile tune.
  • Assertions/tests/ccache off and LTO off. ARM64EC LTO remains excluded because the current LLVM ARM64EC LTO path is broken.
  • PGO is not claimed because no representative GameNative workload profile is baked into these binaries.

Bounded-cache behavior:

  • The limit covers the total writable cache database plus its index.
  • Existing entries remain readable at the limit; new entries are simply not admitted.
  • No live eviction/compaction is attempted in this 2609 patch.
  • FEX_DISKCACHEMAXSIZEMB=0 means unlimited, preserving upstream behavior.
  • Both FEX_DISKCACHE and FEX_DISKCACHEMAXSIZEMB remain normal FEX runtime configuration/environment controls.

Candidates:

  • FEXCore-2609-GameNative-O3-MobileTune-CacheConfig.wcp — cache off by default and capacity unlimited (0 MiB) by default; enable the cache and set any desired capacity at runtime.
  • FEXCore-2609-GameNative-O3-MobileTune-Cache1GB.wcp — cache on by default with a 1024 MiB total writable limit; both defaults remain runtime-overridable.

FEXCore 2609 GameNative optimized test builds (pre.8)

Choose a tag to compare

GameNative testing builds of FEXCore 2609 from the exact upstream release commit 395b132f346b1a45def246d10c52245edba1ef02.

Both packages use the same source, Release/O3 configuration, conservative armv8-a+crc ISA baseline, assertions off, tests off, and pinned bylaws/llvm-mingw 20250920.

  • FEXCore-2609-GameNative-O3.wcp — generic O3 control (TUNE_CPU=generic).
  • FEXCore-2609-GameNative-O3-MobileTune.wcp — O3 with the same ISA baseline but scheduling tuned using -mtune=cortex-a76; TUNE_CPU=none prevents FEX from also injecting an -mcpu target.

The mobile-tuned candidate does not require additional ARM ISA extensions compared with the control. It is an experimental scheduling optimization and should be benchmarked against the control on each device.

LTO was tested and intentionally excluded: current LLVM ARM64EC LTO fails during final linking with unresolved EC-side runtime symbols (see llvm/llvm-project#168469 and ARM64EC tracking issue #179532). PGO is also intentionally not claimed because no representative GameNative workload profile is baked into these binaries yet.