[PConline 杂谈]M1版新MacBook的兼容性到底怎么样?苹果使用M1芯片的MacBook已经逐渐开始发货了,我们知道M1芯片基于ARM架构,和之前基于X86架构的Intel芯片有很大差异,因此新的M1版MacBook能否运行之前基于Intel版macOS开发的软件,就成了很多朋友关注的问题。
苹果采取了很多措施,来解决M1版MacBook的兼容性问题。首先,对于现有的X86软件,苹果推出了X86-ARM的指令翻译方案“Rosetta 2”,它可以让ARM平台的macOS,直接运行绝大部分的X86软件。从苹果的介绍来看,Rosetta 2并不是在软件运行的时候,才翻译指令的,而是在软件安装时就做好了转换,因此它的性能还相当不错。
MacBook从X86迁移到ARM,使用Rosetta 2实现对旧有X86软件的兼容,但并不完美
不过,Rosetta 2并非完美,根据苹果官方的消息,在以下三种情况下,它无法对X86指令进行翻译。
1、内核扩展,也就是涉及到操作系统内核模块的指令没法翻译;
2、虚拟化X86_64平台的虚拟机,当前M1上并没有对应的虚拟化指令;
3、涉及AVX、AVX2、AVX512的指令,ARM上没有对应的指令集,因此用到相关指令集的X86软件没法翻译。
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上运行(未有兼容的版本,后续开发可能会兼容)
由于这是在GitHub上的开源项目,因此这些兼容性测试结果还会不断更新。想要知道你关注的某个软件到底能不能在M1版MacBook运行,直接搜索列表中的这个软件的兼容情况即可。
列表中可以找到某个X86软件在新MacBook上的兼容情况和进展
可以看到,M1版MacBook的各类软件兼容性还是比较乐观的,一些尚未兼容的软件,官方也有消息正在开发兼容的版本。在“DoseitARM”项目中,还可以查看这些软件关于兼容M1芯片的官方消息和进度,相当不错。
总的来说,如果你想要了解某个软件是否兼容M1版MacBook,不妨到这个GitHub项目上面看看,这可能是当前最为全面的M1版MacBook兼容性测试了。苹果未来还会在更多Mac电脑上使用ARM芯片,参照之前Mac从PowerPC向Intel迁移的速度,ARM的Mac兼容性应该会很快得到解决,期待有更多出色的ARM Mac产品吧。