6 ms·
> 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 binar
by open-paren 11mo ago
> 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 possible. Furthermore, a per-app configuration system allows tweaking performance per game, e.g. by skipping costly memory model emulation. We also provide a user-friendly FEXConfig GUI to explore and change these settings.
> On the technical side, FEX features an advanced binary recompiler that supports all modern extensions of the x86(-64) instruction set, including AVX/AVX2. The heart of this recompiler is a custom IR that allows us to generate more optimized code than a traditional splatter JIT. A comprehensive system call translation layer takes care of differences between the emulated and host operating systems and implements even niche features like seccomp. A modular core enables FEX to be used as a WoW64/ARM64EC backend in Wine.
Used by the new Steam Frame (https://store.steampowered.com/sale/steamframe https://store.steampowered.com/sale/steamframe) which is an ARM64 Snapdragon 8 Gen 3 that will run PC and PCVR gaming titles.
- sitkack 11mo agoNot just used by, Valve is sponsoring FEX. https://news.ycombinator.com/item?id=45903610#:~:text=Valve%20has,official%20now.&text=Valve%20deciding,to%20support https://news.ycombinator.com/item?id=45903610#:~:text=Valve%...
- cubefox 11mo agoI wouldn't call this random comment reliable testimony that they are sponsoring FEX.
- teroshan 11mo agoAs the random commenter I agree. By "support" I meant that they have a line of product and a strategy that relies on FEX to work and work as seamlessly as possible. If they contribute to FEX at even a fraction of what they did to wine and Proton it is indeed huge.
- Lightkey 11mo agohttps://gamersnexus.net/pc-builds-news/valve-steam-machine-desktop-steamos-steam-frame-vr-controller-ft-engineering https://gamersnexus.net/pc-builds-news/valve-steam-machine-d... "Valve has devoted significant resources to the development of FEX emulation."
- thehias 11mo agoMan, Fex is Valve, Valve is Fex! The steam logo is right there in the logo! https://files.mastodon.social/accounts/headers/110/652/595/672/731/941/original/da30c7cd1961bd0e.png https://files.mastodon.social/accounts/headers/110/652/595/6... Center of left side, it is a Valve product. All main devs are employed by Valve.
- mirashii 11mo agohttps://www.igalia.com/2025/11/helpingvalve.html https://www.igalia.com/2025/11/helpingvalve.html
- Lightkey 10mo agoThey took their sweet time but both the project lead Ryan Houdek as well as Valve developer Pierre-Loup Griffais (username Plagman here in the comments) have now come out saying that FEX-Emu was not just sponsored by Valve but is actually their project and that they approached suitable developers with the idea who they have been paying for the development: https://www.gamingonlinux.com/2025/12/valve-have-been-funding-fex-to-get-x86-games-on-arm-linux/ https://www.gamingonlinux.com/2025/12/valve-have-been-fundin...
- geerlingguy 11mo agoCodeWeavers' Crossover just released a Preview version for Arm that incorporates Fex and allows games like Cyberpunk 2077 to run: https://www.codeweavers.com/blog/mjohnson/2025/11/6/twist-our-arm64-heres-the-latest-crossover-preview https://www.codeweavers.com/blog/mjohnson/2025/11/6/twist-ou... I've tested it on an Ampere workstation, and was trying it on a Pi, but it seems with Trixie, there may be some bugs with both that and box64 right now, I was having trouble with both of them.
- nialv7 11mo agoHey, it's that YouTube guy with cursed Raspberry Pi setups!
- somanyphotons 11mo agoWhat motivates CodeWeavers specifically to work on this?
- aj_hackman 11mo agoThey make CrossOver, which is a productized version of Wine that lets you run Windows software on MacOS. They also work closely with Valve, who have just announced Steam Frame (a device that runs SteamOS on ARM).
- GeekyBear 11mo ago> The main corporate sponsor of Wine is CodeWeavers, which employs Julliard and many other Wine developers to work on Wine and on CrossOver, CodeWeavers' supported version of Wine. https://en.wikipedia.org/wiki/Wine_(software) https://en.wikipedia.org/wiki/Wine_(software)
- LeFantome 11mo agoIt is quite likely that Valve is paying for this work. It benefits the Steam Frame.
- globalnode 11mo agoDoes that mean I can run windows games on my rpi? (In theory at least)
- adgjlsfhk1 11mo agoYes (just possibly at ~2 fps)
- GCUMstlyHarmls 11mo agoInto the Breach is back on the menu. There's probably a mountain of x86 games that would not need to hit above 15-30fps to be fun.
- ThatPlayer 11mo agoInto the Breach can even run on a Pi 4: https://youtu.be/jF6xGlmKVUQ https://youtu.be/jF6xGlmKVUQ
- geerlingguy 11mo agoPut a GPU on it, and you can get 30+ fps in some newer(ish) games, 60+ fps in older games.
- deleted 11mo ago[deleted]
- LeonM 11mo ago[flagged]
- stevefan1999 11mo agoIt would be cool if we can use LLVM to lift the x86 code into LLVM bitcode and go to different platforms easily with ostate of the art optimizations, won't it?
- aengelke 11mo agoBeen there, done that during my PhD (code: [1]). Works reasonably well, except for compile times (for which I implemented a caching strategy). However, due to calling conventions, using LLVM isn't going to give the best possible performance. Some features like signal handling are extremely hard to implement with LLVM (I didn't, therefore). Although the overall performance results have been good, it's not an approach that I could strongly recommend. [1]: https://github.com/aengelke/instrew https://github.com/aengelke/instrew
- neobrain 11mo agoSadly compile times of LLVM-based recompilers make it impractical for competitive x86 emulation. We're not just talking a few single-frame stutters here and there, but considerable startup delays and pauses in-game. LLVM's optimization passes also are less useful than you might think, since the vast majority of them is motivated by source->binary translation (like clang). They don't have much effect when recompiling an already optimized binary to another architecture.
- coredog64 11mo agoA binary recompiler for running x86 on a different architecture? Where have I heard this story before? https://en.wikipedia.org/wiki/FX!32 https://en.wikipedia.org/wiki/FX!32
- LeFantome 11mo agoThe example that most people think of these days is Rosetta. But I also always think of FX32 as I think it was the first. The Alpha was such a great platform. It is too bad it’s reign was so brief.