I'm using an ARM64 Linux system and want to run Windows software through Wine or Bottles. What is the recommended setup, and do I need an x86 translation layer such as FEX or Box64? I've tried an ARM64 Bottles build, but it either crashes or shows a black screen.
3 Answers
The ARM64 Bottles package is still likely to have limitations. A crash or black screen can come from the application, the Wine build, graphics support, or the x86 translation layer. Check whether the program is ARM-native or x86, then choose an ARM Wine build for the former or test FEX/Box64 for the latter.
Try using FEX or Box64 alongside Wine/Bottles. These projects can translate x86 instructions for ARM, which is the part Wine does not provide. If you are running Windows ARM software, you may not need that translation layer, but regular Windows x86 applications usually do.
Wine alone does not run ordinary x86 or x86_64 Windows programs on an ARM64 machine. Wine translates Windows API and system calls, but it is not a CPU emulator. You generally need an ARM-compatible Wine build for Windows ARM applications, or an additional x86 translation layer such as FEX or Box64 for x86 software. Expect compatibility and performance to vary by application.

FEX is one option to investigate for translating x86 or x86_64 instructions on ARM. It still needs to be combined with a suitable Wine setup, and some programs may require extra configuration.