FEX 2407 Tagged ... with AVX!

I hope you’re ready to game, because your Arm system just got support for AVX. And AVX2. And FMA3. And F16C. And BMI1. And BMI2. And VAES. And VPCLMULQDQ.

Read More

FEX 2406 Tagged!

A little late this month but we have a new FEX release has finally landed. This month we have some good optimization and fixes so let’s get right in to it.

Read More

FEX 2405 Tagged!

One month older and we have a new release for FEX. This month is a little bit slower for user facing features but behind the scenes we had a large amount of refactoring to facilitate future improvements.

Read More

FEX 2404 Tagged!

After last month having an absolute ton of improvements, this month of changes is going to look positively tiny in comparison. We have some good new options for tinkering with FEX’s behaviour and more performance improvements. Let’s get in to it!

Read More

FEX 2403 Tagged!

Welcome back to another new tagged version of FEX-Emu! This month we have quite a few important bug fixes and optimizations, so let’s get right in to it!

Read More

FEX 2402 Tagged!

Welcome back everyone! After last month’s cancelled release and this month being a bit late we have a lot of changes that happened.

Read More

FEX 2312 Tagged!

We’re back with another month of changes. After last month being a bit slower, we’re back in the swing of implementing more optimizations and bug fixes. No dilly dallying, let’s get right in to it!

Read More

FEX 2311 Tagged!

Another month gone by and another FEX release out the door! This last month was a bit of a less busy month as most of our team spent a week in Spain to take part in XDC 2023! We did still have the rest of the month to do some work although, so let’s get to the changes!

Read More

FEX 2310 Tagged!

Welcome back to another monthly release for FEX-Emu. You might be thinking that after last month’s optimizations that we wouldn’t have much to show for this month. Well you would be wrong! We optimized even more! Let’s get in to it!

Read More

FEX 2309 Tagged!

Last month we hinted that we didn’t get all optimizations in that we wanted. There’s more of that this month but we have also had an entire month to push optimizations in. This month was a whirlwind of optimizations improving performance all over the place because of one feature that landed; Instruction Count continous integration! Let’s dive in to what this is.

Read More

FEX 2308 Tagged!

Whoa jeez, another month already? We’ve had our heads down working hard this last month, trying to make FEX-Emu the greatest x86/x86-64 emulator on Linux. A huge focus this month is optimizations because of course what we want is to go fast. We’re all cats and we’ve got the zoomies.

Read More

FEX 2307 Tagged!

This release we had a bit of a slower month as some larger pieces were being worked on, but we still have some good stuff that is worth talking about.

Read More

FEX 2306 Tagged!

Another interesting month of changes for FEX-Emu! While this release is shorter than last, this also only has a month of work rather than two. We had some great work done this month, including a bunch of plumbing that most people won’t notice. Let’s see what changed!

Read More

FEX 2305 Tagged!

Welcome back to another release of FEX-Emu! We had cancelled last month’s release due to a large amount of code churn happening. In order to ensure the highest quality of stability we were forced to do so. Now we’re back with an even lengthier release this month, so buckle up because there were a large number of changes that happened.

Read More

FEX 2303 Tagged!

Oh jeez, another month already? I guess it’s time for another FEX-Emu release. Let’s pick a commit, spin the roulette wheel, and hope for the best! Surely that’s how releases work?

Read More

FEX 2302 Tagged!

This month certainly passed in the blink of an eye. A lot of good bug fixes this month as usual! Continue reading to find out more.

Read More

FEX 2212 Tagged!

A lot of good work this month with the highlight being that we have started working on our AVX implementation and started optimizing our IR to be more efficient.

Read More

FEX 2211 Tagged!

A lot of good changes this month for our users. Both performance and compatibility improvements to be had!

Read More

FEX 2210 Tagged!

This month’s release was a bit delayed due to the fact that most of FEX-Emu’s developers were meeting up physically at the X.Org Developer’s Conference this year! Before we talk about this months changes we need to spend a bit of time talking about some cool things.

Read More

FEX 2209 Tagged!

A lot of miscellaneous work this month that isn’t directly user facing. We do still have some interesting topics this month that some people will be interested in.

Read More

FEX 2208 Tagged!

Some really exciting changes this month. Thunk stabilization out of the gate is a huge boon to tinkerers and a bunch of other things spread throughout!

Read More

FEX 2207 Tagged!

This is going to be a very interesting release this month for users. Quite a large number of features landed for this release!

Read More

FEX 2203 Tagged!

More changes all over this place this month.

  • Implemented some new CPU extensions
    • RDRAND/RDSEED and 3DNow!
      • RDRAND only exposed if your host CPU supports the extension
      • 3DNow! implementation also including the Extended and Geode exclusive instructions
  • Implemented a way for guest applications to use CPUID to see FEX hypervisor
    • Any additional options we want the guest to see can be passed through
  • Preparation work for JIT code caching
    • Switching over to loading function pointers from our state options to make the JIT code PIC compliant
    • Adding robin_map which the code cache will use
    • Updating vixl to have finer grained cursor control for JIT relocations
  • A new IR JSON format
    • This allows cleaner IR implementations and more consistent emitter functions
    • Allow emitter functions to have validation inside of them for strict validation
    • Automatic SSA argument type validation to remove invalid IR generation
      • Already found a bug in our x87 code generation
  • Musl fixes
    • FEX-Emu can now both be compiled for Musl and run Musl compiled applications
  • Termux fixes
    • FEX-Emu now more cleanly compiles under Termux
      • Hard to use due to raw syscall usage and Android seccomp
      • proot is likely required here
Read More

FEX 2202 Tagged!

Lots of good changes this month

  • pressure-vessel hang fixes in preparation of supporting Proton on AArch64
  • The start of implementing SSE4.2
  • Fixes an x87 FREM issue, fixing camera rotation in Source engine games and Binding of Isaac
  • Linux 32-bit socket fixes resolving some controller bugs
  • FEXRootFSFetcher doing some additional checks to make the user experience better
  • Removes the IR Interpreter option since it isn’t userful for end users
  • FEXLogServer bug fixed which was causing FEX asserts to be missed
Read More

FEX 2201 Tagged!

Another release with a lot changes this month!

  • We now support BMI2, RDTSCP, CLZero.
  • We tell the guest what ARM CPU name we are running on.
  • We expose the hybrid CPU flag flag on big.LITTLE ARM SoCs.
  • Bunches of syscall fixes, JIT compile time speed increases, usability improvements.
  • Tons more.
  • A new FEXRootFSFetcher tool for downloading prebuilt RootFS images.
  • A Python script for automatically setting up an Ubuntu PPA and RootFS.
    • See our quick start guide to see how here
    • Or see the Ubuntu PPA here
Read More

FEX 2112 Tagged!

A lot of changed things this month.

  • New instructions & fixes (BZHI, MULX, RORX, SARX/SHLX/SHRX)
  • steamwebhelper now works
  • Linux emulation updated to 5.16, sched_getaffinity, MAP_32BIT, 32-bit DRM emulation improvements
  • Several other bug fixes and optimizations
Read More

FEX 2111 Tagged!

BMI1 is now fully supported, several linux emulation fixes, thunk cleanups, initialization optimizations and several other assorted improvements.

Read More

Hello world

FEX-Emu is a linux usermode x86 and x86-64 emulator for arm64. It aims to bring x86 and x86-64 games to arm64 devices.

Read More