miniappb85ec71100314用M1的新MacBook兼容性到底如何?这可能是最详细的兼容性测试


M1版新MacBook的兼容性到底怎么样?苹果使用M1芯片的MacBook已经逐渐开始发货了 , 我们知道M1芯片基于ARM架构 , 和之前基于X86架构的Intel芯片有很大差异 , 因此新的M1版MacBook能否运行之前基于Intel版macOS开发的软件 , 就成了很多朋友关注的问题 。
miniappb85ec71100314用M1的新MacBook兼容性到底如何?这可能是最详细的兼容性测试
本文插图
苹果MacBook换用ARM芯片
苹果采取了很多措施 , 来解决M1版MacBook的兼容性问题 。 首先 , 对于现有的X86软件 , 苹果推出了X86-ARM的指令翻译方案“Rosetta 2” , 它可以让ARM平台的macOS , 直接运行绝大部分的X86软件 。 从苹果的介绍来看 , Rosetta 2并不是在软件运行的时候 , 才翻译指令的 , 而是在软件安装时就做好了转换 , 因此它的性能还相当不错 。
miniappb85ec71100314用M1的新MacBook兼容性到底如何?这可能是最详细的兼容性测试
本文插图
MacBook从X86迁移到ARM , 使用Rosetta 2实现对旧有X86软件的兼容 , 但并不完美
不过 , Rosetta 2并非完美 , 根据苹果官方的消息 , 在以下三种情况下 , 它无法对X86指令进行翻译 。
1、内核扩展 , 也就是涉及到操作系统内核模块的指令没法翻译;
2、虚拟化X86_64平台的虚拟机 , 当前M1上并没有对应的虚拟化指令;
3、涉及AVX、AVX2、AVX512的指令 , ARM上没有对应的指令集 , 因此用到相关指令集的X86软件没法翻译 。
【miniappb85ec71100314用M1的新MacBook兼容性到底如何?这可能是最详细的兼容性测试】
miniappb85ec71100314用M1的新MacBook兼容性到底如何?这可能是最详细的兼容性测试
本文插图
M1版MacBook并不能兼容所有的X86软件
大部分X86软件并不会涉及以上内容 , 只用到普通的SSE系指令集 。 不过某些开发工具会涉及内核 , 某些高性能计算工具会使用AVX系指令集 , 因此如果想要用M1版MacBook作生产力工具 , 兼容性问题还是需要慎重考虑的 。
除了使用Rosetta 2指令集翻译 , M1版MacBook最原生的兼容方式 , 当然就是基于ARM开发编译的软件 。 不少知名软件开发商 , 例如Adobe , 已经宣布产品将会全线新增ARM编译的版本 , 对M1版MacBook有着最完美的兼容 。
那么到底M1版MacBook能兼容什么软件、不能兼容什么软件?一个个软件测试工程量非常大 , 而且软件们也处于不停的更新换代中 。 今天 , 就来给大家介绍一个查看M1版MacBook兼容性的好方法 , 这可能是最详细的兼容性测试了 。
DoseitARM:https://github.com/ThatGuySam/doesitarm
当前 , 在GitHub上出现了一个关于M1版MacBook的兼容性测试项目“DoseitARM” 。 在这个项目中 , 可以看到开发工具、影音工具、图形图像工具、剪辑工具等各种生产力软件的兼容性测试 。 其中 , 各类软件的兼容性又被分为几种不同的情况 , 分别如下:
·兼容 , 原生兼容苹果Silicon
·兼容 , 通过Rosetta 2运行
·不兼容 , 无法运行但在后续开发中支持(已存在兼容的非正式版本)
·不兼容 , 只能在Intel版Mac上运行(未有兼容的版本 , 后续开发可能会兼容)
miniappb85ec71100314用M1的新MacBook兼容性到底如何?这可能是最详细的兼容性测试
本文插图
X86软件不同的兼容情况
由于这是在GitHub上的开源项目 , 因此这些兼容性测试结果还会不断更新 。 想要知道你关注的某个软件到底能不能在M1版MacBook运行 , 直接搜索列表中的这个软件的兼容情况即可 。
miniappb85ec71100314用M1的新MacBook兼容性到底如何?这可能是最详细的兼容性测试
本文插图
列表中可以找到某个X86软件在新MacBook上的兼容情况和进展
可以看到 , M1版MacBook的各类软件兼容性还是比较乐观的 , 一些尚未兼容的软件 , 官方也有消息正在开发兼容的版本 。 在“DoseitARM”项目中 , 还可以查看这些软件关于兼容M1芯片的官方消息和进度 , 相当不错 。