Lewati ke konten

FEXCore — Env Vars

FEXCore itu CPU translator x86→ARM64, alternatif Box64. Dipake GameHub, BannerHub, Mobox, WinNative — semua emulator berbasis FEX.

Sumber: data/kb/fex-translation.md COPUX KB. Tag [VERIFIED] = dari testing komunitas, [THEORETICAL] = estimasi mekanisme.

FEX punya 2 layer TSO: full (TSOENABLED) dan vector-only (VECTORTSOENABLED). Ini analog BOX64_DYNAREC_STRONGMEM di Box64 — x86 punya Total Store Ordering, ARM ga.

FEX_TSOENABLED=1 VERIFIED

Apa: Emulasi Total Store Ordering x86. 1=ON, 0=OFF.
Good: Store antar core selalu observable in-order — game multithread yang rely TSO (RAGE Engine, RE Engine, UE4/5) crash atau desync tanpa ini.
Bad: ON = overhead memory barrier per store, ~15-25% FPS loss di ARM. OFF = cepet tapi risk crash di game multi-thread.
Default: 1 kalau ga yakin. Bisa OFF buat game single-thread buat reclaim FPS.

FEX_VECTORTSOENABLED=1 VERIFIED

Apa: TSO khusus SIMD/vector store (SSE/AVX). Subset dari TSOENABLED.
Good: Bisa OFF terpisah dari TSOENABLED kalau game cuma rely scalar math.
Bad: OFF di game yang rely vector store ordering = desync atau visual glitch.
Default: Ikutin FEX_TSOENABLED. Kalau TSOENABLED=1, ini ikut 1.

Matrix per-engine — kapan TSO wajib ON/OFF

Section titled “Matrix per-engine — kapan TSO wajib ON/OFF”
Engine TSOENABLED VECTORTSO Game contoh
RAGE Engine ON ON GTA V, RDR2
AnvilNext ON ON Assassin’s Creed series
RE Engine ON ON RE2/3/4, Village
UE4/UE5 ON ON banyak game modern
Crystal Engine ON ON Tomb Raider
FoxEngine ON ON MGS V
Diesel Engine OFF OFF Payday 2
Sleeping Dogs OFF OFF DE & original
PES Engine - OFF PES series
HIDEHYPERVISORBIT=1 VERIFIED

Apa: Spoof CPUID flag — sembunyiin info kalau jalan di emulator. 1=ON, 0=OFF.
Good: Banyak game/DRM cek bit ini — kalau ke-detect = refuse to launch atau loop intro intinya. ON = bypass check.
Bad: OFF = lebih cepet startup, tapi game yang peduli hypervisor = block launch dan stream langsung.
Default: 1. OFF cuma buat game indie tanpa DRM check.

Engine HideHV Kenapa
AC series ON AnvilNext check
GTA V ON RAGE check
RE Engine ON RE Engine check
PES/MGS ON Konami check
EA/Denuvo ON DRM check
Indie tanpa DRM OFF Ga peduli
FEX_MULTIBLOCK=1 VERIFIED

Apa: JIT compile multi-block. Analog `BOX64_DYNAREC_BIGBLOCK` di Box64.
Good: Lebih banyak instruksi per blok = optimize cross-branch, JIT efficiency naik.
Bad: Kompilasi awal lebih lama (stutter first-load).
Default: 1.

FEX_CORE=irjit VERIFIED

Apa: Pilih backend JIT. Value: irjit (default), interpreter, host.
Good: irjit = IR-based JIT, paling cepet. Interpreter cuma buat debug.
Bad: Interpreter = 10-30x lebih lambat. Host = buat dev.
Default: irjit. JANGAN ganti kecuali ada alasan kuat (debugging).

FEX_SILENTLOG=1 VERIFIED

Apa: Matikan log FEX. 1=silent, 0=verbose.
Good: Log spam = waste RAM + I/O, sama kayak WINEDEBUG tanpa -all.
Bad: Ga ada log buat debugging.
Default: 1. Set 0 cuma kalau troubleshooting FEX-internal issue.

  • Box64 env — kalau lu di Winlator (bukan GameHub)
  • Wine env — sync, audio, DLL override (berlaku semua emulator)
  • DXVK env — knob graphics translation