【PConline杂谈】新版MacBook兼容性如何?采用M1芯片的苹果MacBook已经逐渐出货。我们知道,M1芯片基于ARM架构,与基于X86架构的英特尔芯片有很大不同。因此,新M1版MacBook能否运行基于英特尔版macOS开发的软件,成为很多朋友关心的问题。
苹果MacBook改用ARM芯片
苹果采取了很多措施来解决M1 MacBoo开发者_C百科k的兼容性问题。首先,对于现有的X86软件,苹果推出了X86-ARM指令翻译方案“Rosetta 2”,可以让ARM平台的macOS直接运行大部分X86软件。根据苹果的介绍,Rosetta 2在软件运行时不翻译指令,而是在软件安装时进行转换,所以性能相当不错。
MacBook从X86迁移到ARM,使用Rosetta 2来实现与旧X86软件的兼容,但并不完美
然而,罗塞塔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能兼容什么软件,不能兼容什么软件呢?软件测试量非常大,软件也在不断更新。今天我们来介绍一个检查MacBook M1兼容性的好方法,这大概是最详细的兼容性测试了。
DoseitARM:https://github.com/ThatGuySam/doesitarm
目前在GitHub上有一个关于M1 MacBook的兼容性测试项目“DoseitARM”。在这个项目中,我们可以看到各种生产力软件的兼容性测试,如开发工具、视听工具、图形工具、编辑工具等。其中,各类软件的兼容性分为几种不同的情况,具体如下:
兼容,与苹果硅原生兼容
兼容,通过Rosetta 2运行
不兼容,无法运行,但在后续开发中受支持(兼容的非正式版本已经存在)
不兼容,只能在英特尔Mac上运行(没有兼容版本,后续开发可能兼容)
X86软件的不同兼容性
由于这是GitHub上的开源项目,这些兼容性测试结果会不断更新。如果你想知道你关心的软件能否在M1 MacBook上运行,只需在列表中搜索该软件的兼容性即可。
新MacBook上X86软件的兼容性和进度可以在列表中找到
可见,M1 MacBook各类软件的兼容性是乐观的,有官方消息称一些不兼容的软件正在开发兼容版本。在“DoseitARM”项目中,也可以查看这些软件关于兼容M1芯片的官方消息和进展,挺好的。
总的来说,如果你想知道某款软件是否与M1 MacBook兼容,不妨来看看这个GitHub项目,这大概是目前M1 MacBook兼容性测试最全面的一次。未来苹果会在更多的Mac电脑上使用ARM芯片。参考之前Mac从PowerPC迁移到英特尔的速度,ARM的Mac兼容性应该很快就能解决。期待更多优秀的ARM Mac产品。
精彩评论