苹果在北京时间前天凌晨举办了WWDC 2022开发者大会,相信大家在这两天都看到了不少相关资讯,多多少少都知道苹果在WWDC上都公布了些什么内容。但日前一份提供给开发者的文档中,我们还得知了苹果在发布会上完全没有提及的内容。
在WWDC上苹果公布了macOS 13文图拉,macOS 13的一个有趣的技术变化是能够在配备硅苹果的Mac电脑上使用苹果的罗塞塔软件在ARM Linux虚拟机上运行的Linux x86_64软件(层层嵌套,十分拗口,可能需要读者多读两遍)。
罗塞塔是苹果为macOS提供的一个编译器软件,最初为苹果从PowerPC转向英特尔CPU提供了助力。而在2020年macOS 11.0大苏尔中内建的罗塞塔2则是苹果从英特尔CPU向手臂转换的一个重要部分,可以让原本在英特尔平台上开发的软件在臂架构平台的Mac电脑上顺利运行,让用户可以顺利过渡。
在macOS 13及以后的版本且装硅芯有苹果片的Mac电脑上,虚拟化框架支持ARM Linux虚拟机(VM)中的Rosetta.Rosetta是一个转译过程,允许用户在苹果硅上运行包含x86_64指令的应用程序,在macOS中,这允许为基于英特尔的Mac电脑构建的应用程序在苹果上硅无缝运行;罗塞塔可以在ARM Linux虚拟机中为英特尔Linux应用程序提供同样的功能。
换句话说,当用户在使用ARM Linux虚拟机时,除了可以运行原本就支持的臂架构软件,还可以获得强大且数量众多的Linux x86_64软件支持。
这种Rosetta访问是通过macOS虚拟化框架完成的,用户只能通过ARM Linux虚拟机使用Linux x86_64应用,并不允许用户直接在苹果硅Mac上使用Linux x86_64应用。同样在macOS之外的地方也是无法使用的,也就是说,在非苹果的ARM Linux或者是在支持M1芯片的朝日Linux上都无法使用罗塞塔。
关于这项技术的安装以及可用性测试可以参见苹果官方文档,目前还不清楚这个用于Linux x86_64的罗塞塔在实践中的具体效果如何,以及它与类似用途的开源Box86/Box64和FEX-Emu解决方案相比,其性能和可靠性孰优孰劣。同样如果这项技术对图形程序也很有效,反过来还有可能让用户在苹果上硅间接运行Linux游戏。
0 留言