FEX 2110, 2109, & 2108 Tagged!
See 2110 Release Notes, 2109 Release Notes, and 2108 Release Notes.
FEX-2110
Usability
- Adds new Thunks database config layout to make thunks easier to manage
- See Setting Up Thunks for more information
Compatibility fixes
- Fixes to POSIX message queues, timers, and 32-bit Linux syscalls
Performance
- Vulkan X11 thunking to improve CPU performance
- Wayland thunking not currently hooked up
Minor fixes
- AOT fix a user after free
- pressure-vessel check and install redirect
- FEXInterpreter flush logs after print. Fixes not seeing logs on crash
- EmulatedFilesystem allow guest to see real root. Fixes eON games
- FEXMountDaemon race on shutdown fix
- StructVerifier fix for comparing match across architectures
Developer usability
- Add a script to more easily extract function signatures for thunks
- RA Validation to check register allocation is correct
FEX-2109
Arm64
- Fix a bug when spilling registers on POSIX signal
- Fixes binfmt_misc install on Arch
- unaligned cmpxchg now works on ARMv8.0
- Thanks to CallumDev for resolving this issue!
Usability
- FEXBash helper without arguments now starts a simple bash running under FEX
- If any arguments are passed in then it still behaves similar to sh -c
- FEXConfig now allows you to load an application config
- Also a new advanced tab to show the raw config options
- Useful for trimming application configs
Developer usability
- FEXCore API visibility fixes
- FEXGetConfig application for getting some FEX information
- Option to disable static register allocation for testing
Minor fixes
- Bunch of fixes to try and resolve dangling FEXMountDaemon mounts
- Significantly improved but not entirely resolved
- Fixes to POSIX signal handling
- Fixes to 32-bit ioctl emulation
- A couple new Linux syscalls implemented
- Proton fixes
- jemalloc fixes
- 32-bit wine fixes
- 32-bit siginfo_t fixes
- Not fully resolved, needs more work
FEX-2108
Arm64
- Fix static-pie crashing
- Fix Spill slot calculation being offset by one slot
- Unaligned atomic fixes
Usability
- Adds static-pie option. Necessary for chroots
- FEXMountDaemon fixes
- Named thunk configurations
Developer usability
- Split OpcodeDispatcher in to multiple files to make navigation easier
Minor fixes
- CPUID TM and TM2 enable
- Update cpack package name to resolve package name conflict
- Memory leak in GdbStub
- Redundant string construction removal
- Moving some logs over to fmt format
- More Linux syscall implementations
- flag calculation fixes in IMUL and some ALU ops
- Implements support for POSIX signals 32 and 33
- Fixes SOMA
- Wine fixes
- binfmt_misc supporting POCF flags
- Fixes some edge case behaviour
The detailed change log is available on Github
Written on October 8, 2021