top | item 42550129

(no title)

Vogtinator | 1 year ago

Can wine do ARM64X resp. ARM64EC to mix native aarch64 code with emulated x86(-64) code in the same process for better efficiency?

discuss

order

jeroenhd|1 year ago

Wine doesn't do any of that as far as I know. It loads a Windows PE file, it's (placeholder) DLL dependencies, and starts executing at the main entrypoint. Box64 does translation and has some specific placeholder DLLs that intercept API calls and call native code rather than emulating the entire process.

If what you describe is being done, it's being done by Box64. I don't know enough about aarch64 to know what ARM64X and ARM64EC do, though. I can find [a Github comment](https://github.com/ptitSeb/box64/pull/858#issuecomment-16057...) where one of the authors states that the goal is to implement ARM64EC, but I wouldn't know what the status is on that.

jchw|1 year ago

Wine does support ARM64EC and I'm pretty sure you can actually use an x86 emulator with it too (at the very least Hangover should support this, minimizing the amount of emulated code needed.)