Live data from Hacker News

FEX-emu – Run x86 applications on ARM64 Linux devices

fex-emu.com

21–30 of 145 posts

Re: FEX-emu – Run x86 applications on ARM64 Linux devices

#22
post #10

Earlier quoted context omitted.

My understanding is that Rosetta sidesteps a bunch of tricky memory model issues by using non-standard hardware extensions only present in Apple Silicon, so even if Apple did share Rosetta, which they certainly won't, it wouldn't work properly on Valves hardware anyway.

It's not only present in Apple Silicon, it's just not required by the ARM standard. Fujitsu also has an ARM64 CPU with TSO.

There are a bunch of undocumented flags and instructions beyond TSO.

Re: FEX-emu – Run x86 applications on ARM64 Linux devices

#24
post #6

Earlier quoted context omitted.

Too bad Arm doesn't allow architectural licenses, because this is exactly the kind of thing Valve and the FEX developers would want to extend the ISA to support. I bet we see a RISC-V backend to FEX in the next 6 months, it probably already exists in a private repo. FEX is the shootstring, extra special discount budget (not maligning) version of Rosetta. Apple should sell Rosetta to Valve.

Box64 already runs on RISC-V. Just, the available processors are so slow it's hard to even play 5-10 year old games.

This means that, when the much faster chips implementing RVA23 arrive next year, they'll be immediately able to run Box64.

Re: FEX-emu – Run x86 applications on ARM64 Linux devices

#25

> FEX allows you to run x86 applications on ARM64 Linux devices, similar to qemu-user and box64. It offers broad compatibility with both 32-bit and 64-bit binaries, and it can be used alongside Wine/Proton to play Windows games. > It supports forwarding API calls to host system libraries like OpenGL or Vulkan to reduce emulation overhead. An experimental code cache helps minimize in-game stuttering as much as possibl…

Does that mean I can run windows games on my rpi? (In theory at least)

Re: FEX-emu – Run x86 applications on ARM64 Linux devices

#26

Curious how this will impact the major games that are incompatible due to denuvo type stuff

IIUC that DRM involves kernel level tricks and attestation, which means it'll basically never happen. Online gaming looks similarly doomed.

Re: FEX-emu – Run x86 applications on ARM64 Linux devices

#27

Curious how this will impact the major games that are incompatible due to denuvo type stuff

IIUC that DRM involves kernel level tricks and attestation, which means it'll basically never happen. Online gaming looks similarly doomed.

Plenty of online games work fine. Rocket League, Squad, Arc Raiders etc. are just the ones that I play.

Re: FEX-emu – Run x86 applications on ARM64 Linux devices

#28

> FEX allows you to run x86 applications on ARM64 Linux devices, similar to qemu-user and box64. It offers broad compatibility with both 32-bit and 64-bit binaries, and it can be used alongside Wine/Proton to play Windows games. > It supports forwarding API calls to host system libraries like OpenGL or Vulkan to reduce emulation overhead. An experimental code cache helps minimize in-game stuttering as much as possibl…

Does that mean I can run windows games on my rpi? (In theory at least)

Yes (just possibly at ~2 fps)

Re: FEX-emu – Run x86 applications on ARM64 Linux devices

#30

How does fex deal with the fact that the memory model on arm is weak and x86 is total store ordering. It seems like would need to hammer performance by putting memory barriers everywhere to handle all cases. Perhaps fex only works when there are well defined mutexes it can gain visibility into? anyone know?

It would be nice to see more Arm chips adopt Apple's approach (which fixes this problem) for Rosetta 2. Basically, Apple's chips can be switched into a TSO mode and a few other minor tweaks that make x86 code run much, much faster.
Post reply on HN