What does HackerNews think of box64?

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices

Language: C

#5 in Emulator
#72 in Linux
macOS runs x64 executables just fine through Rosetta so I don't see why Wine couldn't make use of that hardware acceleration.

It's also possible to only simulate the entrypoints through Rosetta and then execute native aarch64 code from there. On Linux https://github.com/ptitSeb/box64 does exactly that, for example. However, with the performance Apple has been able to squeeze out of Rosetta, I'm not sure of that workaround is even necessary.

You could have a look at box86 and box64:

https://box86.org/ | https://github.com/ptitSeb/box64

I haven't tried them myself, but I've read consistent testimony that the performance (and compatibility) is great.

https://github.com/ptitSeb/box64 can do it a little lighter than a full qemu VM
> PtitSeb [creator of Box86 and Box64 projects]: My main goal was to create an x86 emulator that ran on low-spec hardware [...] I wanted a small and fast emulator for my [ARM] Open Pandora [...] My goals were to have something that was fast and easy to use ... [while] the main goal of QEMU is to be as precise and as close to the real hardware as possible[, I accept] some approximation [for speed]

Link to Box64: https://github.com/ptitSeb/box64

Benchmarks seem to reveal a performance of 85% the original.

Until last week, I had a full Debian amd64 systemd container to run invidious on an ARM64 machine (a ROCKpro64) running Armbian, since crystal (the language in which Invidious is written) does not have arm64 Debian packages. There's nothing special to make this work, regular commands work, for instance just running systemd-nspawn -b in an arm64 root folder works.

Now I found a way to get arm64 crystal binaries. I got rid of the container, but Invidious still cross compiles to amd64, so qemu is still used to run an amd64 build Invidious of transparently.

binfmt and qemu-user do wonders. It works well. One could use box64 [1] instead of qemu and it should provide better performance because it uses the native versions of some well known libraries (including libc6) instead of emulating them, but I failed to compile box64 this weekend so I stayed with qemu.

[1] https://box86.org/ | https://github.com/ptitSeb/box64/