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