昨天我们报道了“Apple M1 芯片不支持 Docker?”的事件,Docker 的回应是正在努力适配。实际上不止是 Docker,许多开源软件和商业软件都无法在 Apple M1 上正常运行。
苹果上周发布了首批采用“Apple Silicon” M1 芯片的 Mac 新机,虽然苹果为没有 ARM 版本的软件提供 Rosetta 2 仿真层,模拟 x86_64 指令,但这种方式并不能保证性能和速度。Electron 项目的维护者之一 Samuel Attard 就建议最好是构建 ARM64 二进制版本,因为尽管 x86_64 Electron 应用程序可在 Rosetta 2 下运行,但“性能将大大降低”。
不过为了尽快适配,苹果早已开始支持工作。7 月份就有工程师 @wongmjane 透露,苹果正在为 30 个软件构建 Apple Silicon Mac 支持,包括 Node,Python 3,Go,V8 等等。
目前已经可以在 M1 上运行的有 Chrome,Electron 等。周二谷歌发布了带有 Apple Silicon 支持的 Chrome 87。11 月 19 日发布的 Electron 12.0.0 也增加了 Apple Silicon 支持。Rust 团队提供了一个 tier-2 交叉编译器,可输出在 M1 上运行的本地 ARM 代码。
但还有很多软件未完成 M1 支持。
Go 团队在日前庆祝 11 周年的公告中透露,明年 2 月发布的 Go 1.16 中,会加入 Apple Silicon(GOARCH=arm64
)Mac 的支持。
VS code 计划在本月底进行基于 ARM 64 的通用构建。微软发布的 Mac Office 2019 测试类通用版本,虽包含 x86_64 和 ARM64 二进制文件,但 Office 还没有一个基于 ARM64 的通用版本。
Oracle 一直未决定是否将其开源的 x86 虚拟机 VirtualBox 移植到 M1。
macOS 软件包管理器 Homebrew 仍未过渡到 Apple Silicon。OpenJDK 中包括 Gradle,Maven 和 Jenkins 在内的大约十二种软件包同样不支持 Apple Silicon。
GCC 编译器也尚未有 Apple Silicon 支持。R 语言证实,该语言可以在仿真环境下运行,但是因为 R 依赖 Fortran 90 编译器,Fortran 90 还不能用于 Apple Silicon,所以 R 不能在 Apple Silicon 上本地运行。R 核心团队成员 Tomas Kalibera 和 Simon Urbanek 月初透露,Apple Silicon 的可用 Fortran 90 有望在不久后面世……而对于任何科学计算工作,都迫切需要这种编译器的支持。
扩展阅读:
Apple M1 芯片不支持 Docker?Docker:正在努力适配
猜你喜欢: