MacOS 13 支持轉(zhuǎn)譯 Linux x86_64 應(yīng)用程序,使用條件苛刻
蘋果在北京時(shí)間前天凌晨舉辦了 WWDC 2022 開發(fā)者大會(huì),相信大家在這兩天都看到了不少相關(guān)資訊,多多少少都知道蘋果在 WWDC 上都公布了些什么內(nèi)容。但日前一份提供給開發(fā)者的文檔中,我們還得知了蘋果在發(fā)布會(huì)上完全沒有提及的內(nèi)容。
在 WWDC 上蘋果公布了 macOS 13 Ventura,macOS 13 的一個(gè)有趣的技術(shù)變化是能夠在配備 Apple Silicon 的 Mac 電腦上使用蘋果的 Rosetta 軟件在 ARM Linux 虛擬機(jī)上運(yùn)行的 Linux x86_64 軟件(層層嵌套、十分拗口,可能需要讀者多讀兩遍)。
Rosetta 是蘋果為 macOS 提供的一個(gè)編譯器軟件,最初為蘋果從 PowerPC 轉(zhuǎn)向 Intel CPU 提供了助力。而在 2020 年 macOS 11.0 Big Sur 中內(nèi)建的 Rosetta 2 則是蘋果從 Intel CPU 向 ARM 轉(zhuǎn)換的一個(gè)重要部分,可以讓原本在 Intel 平臺(tái)上開發(fā)的軟件在 ARM 架構(gòu)平臺(tái)的 Mac 電腦上順利運(yùn)行,讓用戶可以順利過(guò)渡。
在 macOS 13 及以后的版本且裝有 Apple Silicon 芯片的 Mac 電腦上,虛擬化框架支持 ARM Linux 虛擬機(jī)(VM)中的 Rosetta。Rosetta 是一個(gè)轉(zhuǎn)譯過(guò)程,允許用戶在 Apple Silicon 上運(yùn)行包含 x86_64 指令的應(yīng)用程序。在 macOS 中,這允許為基于英特爾的 Mac 電腦構(gòu)建的應(yīng)用程序在 Apple Silicon 上無(wú)縫運(yùn)行;Rosetta 可以在 ARM Linux 虛擬機(jī)中為英特爾 Linux 應(yīng)用程序提供同樣的功能。
換句話說(shuō),當(dāng)用戶在使用 ARM Linux 虛擬機(jī)時(shí),除了可以運(yùn)行原本就支持的 ARM 架構(gòu)軟件,還可以獲得強(qiáng)大且數(shù)量眾多的 Linux x86_64 軟件支持。
這種 Rosetta 訪問(wèn)是通過(guò) macOS 虛擬化框架完成的,用戶只能通過(guò) ARM Linux 虛擬機(jī)使用 Linux x86_64 應(yīng)用,并不允許用戶直接在 Apple Silicon Mac 上使用 Linux x86_64 應(yīng)用。同樣在 macOS 之外的地方也是無(wú)法使用的 —— 也就是說(shuō),在非蘋果的 ARM Linux 或者是在支持 M1 芯片的 Asahi Linux 上都無(wú)法使用 Rosetta。
關(guān)于這項(xiàng)技術(shù)的安裝以及可用性測(cè)試可以參見蘋果官方文檔,目前還不清楚這個(gè)用于 Linux x86_64 的 Rosetta 在實(shí)踐中的具體效果如何,以及它與類似用途的開源 Box86/Box64 和 FEX-Emu 解決方案相比,其性能和可靠性孰優(yōu)孰劣。同樣如果這項(xiàng)技術(shù)對(duì)圖形程序也很有效,反過(guò)來(lái)還有可能讓用戶在 Apple Silicon 上間接運(yùn)行 Linux 游戲。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:macOS 13 支持轉(zhuǎn)譯 Linux x86_64 應(yīng)用程序,使用條件苛刻
本文地址:https://www.oschina.net/news/198998/macos-13-use-rosetta-in-arm-linux-vms