The scourge of x86 emulation (fex-emu.com)

112 points by dagmx 5 hours ago

pdw 4 minutes ago

The intro of this article repeats the common assertion that

> ARM is the most relaxed, allowing significant hardware optimizations; and x86 is the most strict, enforcing a very strong coherency model that doesn’t allow a lot of room for optimization

but I've seen some compelling arguments that a relaxed model doesn't necessarily have much of a benefit, https://fgiesen.wordpress.com/2026/08/25/memory-ordering-in-...

dagmx 3 hours ago

For reference , Fex is a translation framework for x86 to ARM much like Apple’s Rosetta2 and Microsoft’s Prism.

Valve sponsor development as it’s also the way the new Steam Frame supports x86 games. It’s also being used (as a fork) in Crossover Beta to replace the use of Rosetta2.

MiroslavPokorny an hour ago

Why doesnt Stream require their binaries to be compiled to some bytecode and transpiled during the install ?

THen they wouldnt require any emulator for any new compiles.

rwmj an hour ago

I don't know, but assumed that Valve doesn't require studios to recompile their software or use any special tooling, it's basically just packaging of existing executables. This is also why they do Windows on Linux emulation.

swiftcoder an hour ago

> Why doesnt Stream require their binaries to be compiled to some bytecode and transpiled during the install ?

They still have to support the entire back-catalog. It's not reasonable to expect thousands of existing games to port to ARM

DanielHB 19 minutes ago

raverbashing 5 minutes ago

They do

x86 bytecode is bytecode

account42 23 minutes ago

Because even with their effective monopoly they don't have the power to bully developers into doing whatever suits Valve. And it would be disastrous for the industry if they did.

cwillu an hour ago

Several games in their library are actually just game updater/launcher binaries, which manage their associated game assets and binaries externally.

matheusmoreira an hour ago

Existing games will not be recompiled for the new bytecode target, and they want all of those games to work regardless.

SSLy 40 minutes ago

because there's no gaming-oriented toolchain for it

modeless 2 hours ago

As noted in the article, Apple solved this problem six years ago by simply adding an x86-compatible memory ordering mode to their chip when x86 emulation became important. Yet another way Apple's chips lead the industry.

saagarjha 2 hours ago

Well well well “modeless” has decided to finally see the light of modes

karel-3d 5 minutes ago

The word "simply" is doing a lot of work there

gavinsyancey 39 minutes ago

And as noted in the article, while that helps a lot with most of the issues, there are some corner-cases they still don't handle.

asksomeoneelse an hour ago

Great article ! This is the kind of content I always hope to find on HN's front page.

I really wonder how things are organized at Apple to allow for vertical integration to work so well. That feature alone must have involved so many people from so many different teams.