FEX 2204 Tagged!

A fairly late release this month. @Sonicadvance1 was busy.

That said, this month was fairly slow while other work is coming online.

  • CPUID changes so that pressure-vessel/proton can see FEX
  • Memory usage optimizations by deleting objects after it is no longer used
  • GDBServer improvements to make it slightly better to use
  • Various bug fixes. Thanks to the users that reported these.

CPUID

  • Adds 4000_0001h function
    • Allows guest applications to check the hypervisor for FEX-Emu

FEXCore

  • Delete IR after it is used
    • Lowers FEX memory usage
  • Fixes https://github.com/FEX-Emu/FEX/issues/1618
    • Could have caused a crash in the signal handler
  • Removes unused debug data

OpcodeDispatcher

  • Fixes SIGILL on unsupported host instructions
  • Fixes FNINIT
    • FCW wasn’t initialized correctly. Fixes a Visual Novel game engine CPUID initialization code.

JIT

  • Emit identification string in the code buffers
  • Adds comment to EmitDetectionString
  • Get long divide out of the hot path

FileManager

  • Fix realpath failed on debian buster

Linux

  • Fixes MAP_32BIT supported range

Scripts

  • Updates AArch64 fit for Clang 14

Softfloat

  • Fixes FSCALE

TestHarnessRunner

  • Flush log on asserts

Misc

  • Change page define usages over to self-defined
  • Adds missing include

Termux

  • Adds a cmake option for forcing a termux build
  • Disables GUI applications in a Termux build

GDBServer

  • GDBServer improvements: Three’s a crowd
  • Gdbstub improvements: The sequel
  • GDBServer improvements

Documentation

  • Adds hypervisor CPUID information
  • Remove stale text
  • Update ReleaseProcess docs for Termux

See the 2204 Release Notes or the detailed change log in Github.

Written on April 19, 2022