我尝试在 chromebook 上安装 Wine,但仍然收到错误消息。做了一些挖掘并意识到 ARM CPU 无法运行它。我做了更多研究,似乎陷入了一个循环。有人告诉我使用 Box64 可能是一个解决方案。我迷路了有人能解释一下吗?
答案1
不,没有。 Wine 需要 X86 / X86_64 硬件。
有人告诉我使用 Box64 可能是一个解决方案。
盒子64是一个“带有 Twist 的 Linux 用户空间 x86 模拟器。它是否可以解决很大程度上取决于您要解决的问题。
您可以尝试以下本指南并亲自检查。就像任何模拟器所发生的情况一样,一些模拟软件可以运行,而许多则不能。这完全取决于您尝试运行的具体软件。请记住,该模拟器设计用于运行 Linux x86/x86_64 软件,而不是 Windows。也就是说,WINE 兼容层(“WINE 不是模拟器”)可以安装在 Box64 中,然后甚至可以运行更小的 Windows 软件集……也许吧。这是复杂性之上的复杂性,问题可能呈指数级增长。即使(原生 Linux)游戏也受到某种程度的限制并且GPU 支持仍处于实验阶段。
答案2
ARM 处理器无法理解 x86 或 x86_64(又名 amd64)指令集,因此您无法在它们上运行 x86 二进制文件。这些在执行之前必须进行翻译或解释。
以下是您的选择:
- QEMU:模拟 x86 CPU:最兼容、最慢的选项。
- 宿醉计划,一个最近的项目(所以不是很先进,但很有前途),用于在 aarch64 或 x86_64 上运行 x86_64/x86_32 Windows 应用程序。这里的主要区别是它利用 Windows-on-Windows64,因此您不需要主机上的 32 位库。
- FEX-鸸鹋就像 Mac 上的 Rosetta,它允许您在 AArch64 主机上运行 x86 和 x86-64 二进制文件,包括 wine。它通过在CPU上执行机器代码之前动态翻译机器代码来实现这一点,因此它具有良好的兼容性,但有时速度较慢。
- 盒子86和 Box64(针对 64 位)采用混合方法,在可能的情况下将调用转发到本机库(thunking)。这是一个相当手动的过程,因此新的兼容应用程序的进展可能会很慢。
Box86做了一个相对的性能比较,包括最近的wine benchmark:https://box86.org/2022/03/box86-box64-vs-qemu-vs-fex-vs-rosetta2/
这些都可以用 binfmt 注册,以便在尝试执行 x86(甚至是 PE——windows 可执行文件)二进制文件时自动执行它们。它们还都将图形库调用转发或转发到本机库以获得合理的性能。