I’d assume “FEX” in the last tweet in the OP is referring to this: github.com/FEX-Emu/FEX
Comment on Valve is working on a version of proton for ARM devices
milicent_bystandr@lemm.ee 2 months ago
This would presumably let x86 windows games run on ARM hardware.
Doesn’t that require something quite different?
Proton is improved (matured?) WINE, right? And Wine Is Not an Emulator - the point being it doesn’t emulate hardware, it translates instruction sets. From for-Windows x86 to Linux x86. Can you do that cross cpu architecture?
bbb@sh.itjust.works 2 months ago
stormeuh@lemmy.world 2 months ago
Well, not exactly… WINE is a compatibility layer for syscalls between the x86 Windows API and (among others) the x86 Linux API, quite similar to how DXVK translates from DirectX to Vulkan.
What proton does is combine utilities like Wine and DXVK into a user friendly bundle, along with contributing substantially to the projects it bundles to make them interoperate well.
This looks to me like they want to bundle another utility, which does fast emulation of x86 user code on an ARM Linux system. Another commentator mentioned they are using FEX for this, which looks to me to do the same core task as qemu-user, but more focused on x86 to ARM and generally user-friendlier. That emulator could then be used to run x86 Wine on ARM.
The way qemu-user and FEX emulate one ISA on another is actually very cool btw. They realise massive speed gains by intercepting syscalls and executing them directly, instead of emulating a whole x86 Linux system.
xavier666@lemm.ee 2 months ago
Since Microsoft also wants x86 apps to work on their Qualcomm powered Windows laptops, can this project help Microsoft in some way?
stormeuh@lemmy.world 2 months ago
No, not that much. The emulation of the syscalls are specific to Linux, so none of that is usable on Windows. They could reuse the emulator, but it seems likely they would write their own from scratch so they can keep everything closed source. Obligatory: fuck Microsoft.
xavier666@lemm.ee 2 months ago
A happy fuck Microsoft to you as well 🎩
soulsource@discuss.tchncs.de 2 months ago
They will likely write their own emulator, but don’t forget about WSL. You can already run WINE on Windows, I wouldn’t be surprised if you could also run FEX+WINE on Windows for ARM.
soulsource@discuss.tchncs.de 2 months ago
Not only syscalls. FEX and Box64 also allow using native libraries instead of emulating them. That leaves basically only the game logic to be emulated.
stormeuh@lemmy.world 2 months ago
I didn’t know that, thanks! That’s actually very impressive, and given how efficient qemu-style emulators are, I wouldn’t be surprised to see near-native performance despite a little bit of overhead from emulating game logic.
milicent_bystandr@lemm.ee 2 months ago
Thanks for the explanation!