Skip to content

chore(deps): update dependency fex-emu/fex to v2610 - #186

Open
bendwyer-github-actions-app[bot] wants to merge 1 commit into
mainfrom
renovate/fex-emu-fex-2610.x
Open

bendwyer-github-actions-app[bot] wants to merge 1 commit into
mainfrom
renovate/fex-emu-fex-2610.x

Conversation

@bendwyer-github-actions-app

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
FEX-Emu/FEX major 2609 → 2610

Release Notes

FEX-Emu/FEX

v2610: FEX Release FEX-2610

Compare Source

Read the blog post at FEX-Emu's Site!

We were a bit distracted this month with the X.Org Developer's Conference happening but we still managed
to get some work done. Let's jump in and see what has changed.

JIT changes

This month brought some improvements to the JIT although less than typical. We added support for AVX-VNNI which is starting to get used by some game
libraries. We also optimized the SSE4.2 string operations so these are quite a bit faster. 3DNow! has been enabled again since we fixed the last known
bug with it. We also improved emulation on the x87 FXAM instruction since apparently Mono uses it to detect denormals for some reason. Additionally a
peephole optimization to improve a common case of an unmasked AVX gather instruction which some sound libraries rely on.

We also now have a software fallback for RDRAND and RDSEED instructions. This isn't enabled by default as the performance isn't as good as a hardware
implementation but it's useful for programs that mandate these instructions to exist. Also useful for platforms with Qualcomm Oryon where their RNG
implementation is bugged and doesn't return real values.

Plus a couple of other minor changes for future work. In total a fairly light month for JIT improvements.

Disk cache improvements

This month also had a large smattering of disk cache improvements. Now when the disk cache is enabled it will automatically limit its cache size to
1GB, where we will then stop caching at that point. This is configurable in the INI options for more or less space to be consumed, but because some
edge cases allow it to have unbounded growth, it seems like a good balance at 1GB. We also added an optional memory buffer for caching; this allows an
in-memory cache for hot blocks. This is only worth using if a game stutters frequently from JIT invocations and you have spare RAM to allow some
additional caching.

Another important change that landed is that when FEX updates, it will automatically remove old disk caches that aren't relevant to the new version.
This makes sure users don't have multiple 1GB cache files laying around as they upgrade over time.

A small improvement on the Linux side ensures that for ELF files being cached, that if there is an embeded GNU build-id hash, we will use that as a
partial key for the file. This helps the case where a file could have been replaced and we would incorrectly use an outdated cache file.

Minor Vulkan thunk fixes

We upgraded our Vulkan thunks this month to fix a few minor bugs with newer Vulkan drivers. This fixes some games running on DGX Spark where they were
supporting newer vulkan extensions primarily.

Raw Changes

FEX Release FEX-2610

  • CMake

    • Stop searching for a bunch of projects when building for Steam (902d433)
  • CPUInfo

    • Adds new AVX extensions (48d7175)
  • Config

    • Add check to see if a config option is default (177542e)
  • DiskCache

    • Support FileID hash with gnu build-id (d2b6e37)
    • adjust key strategy (72b2ff8)
    • configurable max file size (08f451d)
    • optional memory buffer for faster lookups (06b7f3b)
    • patch a bunch of disp32s in anon code (98516b5)
    • allow relocations within the same ELF image (e431bfe)
  • Externals

  • FEXCore

    • Update readme with supported ISAs (7d3090f)

    • Adds a utility function for deleting a directory (4e5c181)

    • Have ThreadRemoveCodeEntry IR op jump to dispatcher (37d83d9)

    • Have the Syscall IR op jump to the dispatcher (64a6da9)

    • Migrate internal DiskCache header to internal (7723c47)

    • Moves crc32 helper to a shared location (fd7b749)

    • Allocator

      • Don't hang when /proc/self/maps can't be opened (12326d7)
    • DiskCache

      • Prune old entries automatically (d3dcc74)
    • OpcodeDispatcher

      • Fixes syscall instruction on Linux (794a118)
    • Utils

      • Make crc32 match between architectures (4bc4d78)
  • Frontend

  • HostFeatures

    • Reenable 3DNow! now that it is fixed (184c952)
  • InstcountCI

    • Add big moffset instructions (5d6609a)
  • JIT

    • Let DiskCache patch ValidateCode guest CRC (and other small fixes 👼) (5a24152)
  • LinuxSyscalls

    • Preserve argv and path across portable reexec (79a7afe)
  • Readme

    • Update with minspec update (cfafd89)
  • Scripts

    • InstallFEX
      • Add new ubuntu versions (992349f)
  • Steam

    • Enable DiskCache by default (0df84d3)
  • Tests

    • Enable a handful of tests, and fix small bug in python test runner script (d58a4e0)
    • add 'ninja tests' which runs all tests, with large pages (f11c8c7)
  • Threads

    • Support setting thread names through creation (208e9c3)
  • Thunks

    • allow self-lookups in vkGetDeviceProcAddr and vkGetInstanceProcAddr (3397eb9)
  • Vector

    • Inline PCMPXSTRX SSE4.2 Instructions (e2f973f)
  • WOW64

    • Use correct thread's CPU area in BTCpuThreadTerm (e320e1d)
    • Use CHPEv2 for suspend and exception support (f18599d)
  • Windows

    • Don't hardcode NT syscall numbers for ARM64EC (47be6ad)
    • On unimplemented print a log (59f85d6)
  • X86Tables

  • X87

    • Implement full FXAM support (7325cb0)
  • Misc

    • Peephole optimization for VPCMPEQD + VGATHERDPS (e9373bf)
    • Externals/code-format-helper: Update for dependabot (3648ee9)
    • gitlab-ci: Wow, failed to notice the single quotes (c747be4)
    • gitlab-ci: Only auto-promote on pushes to the main branch (3aa38d1)
    • A couple JITSymbol fixes (555e8bd)
    • Add software fallback for RDRAND/RDSEED (1405755)
    • Add regression test for consecutive syscalls (ca1fb3f)
    • Rebase and add test to #​5887 (19df181)
    • Update functional.h (fd208da)
    • Removes subflag SRC_RAX (82510eb)
    • Implement ISA extension AVX-VNNI (4b652eb)
    • Bump Vulkan-Headers to 1.4.362 and update generated Vulkan thunks (86f363d)
  • unittests

    • Make sure to test another system instruction (eb41dac)

    • ASM

      • Manually encode some smsw tests (c3e9c3f)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@bendwyer-github-actions-app bendwyer-github-actions-app Bot added the dependencies Pull requests that update a dependency file label Oct 7, 2026
@bendwyer-github-actions-app
bendwyer-github-actions-app Bot force-pushed the renovate/fex-emu-fex-2610.x branch 15 times, most recently from 11502d8 to 1756035 Compare October 14, 2026 21:29
@bendwyer-github-actions-app
bendwyer-github-actions-app Bot force-pushed the renovate/fex-emu-fex-2610.x branch from 1756035 to 1eddb4b Compare October 15, 2026 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants