I've tried to install Wine on my chromebook but I continued to get an error message. Did some digging and realized ARM CPUs can't run that. I did more research and seem to be going in a loop. I was told that using Box64 could be a solution. I'm lost can anyone shed some light on this?
2 Answers
Is there any way to install Wine on a ARM cpu chromebook (Debian 10 Buster)
No, there isn't. Wine requires X86 / X86_64 hardware.
I was told that using Box64 could be a solution.
Box64 is a "Linux Userspace x86 Emulator with a Twist. Whether or not it can be solution very much depends on what problem you're trying to solve.
You may try following this guide and check for yourself. Like what happens with any emulator some emulated software will run and many won't. It all depends on the exact software you're trying to run. Keep in mind this emulator is designed to run Linux x86/x86_64 software, not Windows. That said WINE compatibility layer ("WINE Is Not an Emulator") can be installed within Box64 and then an even smaller set of Windows software can also run... Maybe. This is complexity on top of complexity and problems are likely to grow exponentially. Even (native Linux) gaming is somehow limited and GPU support is still experimental.
ARM processors can't understand the x86 or x86_64 (AKA amd64) instruction set, so you can't run x86 binaries on them. These have to be translated or interpreted before being executed.
Here are your options:
- QEMU: Emulate an x86 CPU: most compatible, slowest option.
- Project Hangover, a recent project (so not very advanced, but quite promising) to run x86_64/x86_32 Windows applications on aarch64 or x86_64. The main difference here is that it leverages the Windows-on-Windows64 so you don't need 32-bit libs on the host.
- FEX-Emu is like rosetta for mac, it allows you to run x86 and x86-64 binaries on an AArch64 host, including wine. It does so by dynamically translating machine code before executing it on the CPU, so it has good compatibility, but sometimes slower speed.
- Box86 and Box64 (for 64-bit) take a hybrid approach, where they forward calls to native libraries (thunking) where possible. It is quite a manual process, so progress on new compatible apps can be slow.
Box86 made a performance comparison relatively, including wine benchmarks recently: https://box86.org/2022/03/box86-box64-vs-qemu-vs-fex-vs-rosetta2/
These can all be registered with binfmt, so that they are automatically executed when attempting to execute an x86 (or even a PE -- windows executable) binary. They also all thunk or forward graphics library calls to native libs to get reasonable performance.