Fuchsia 模擬器 (FEMU) 是 Fuchsia 的預設模擬器。FEMU 可讓您在沒有 Fuchsia 實體的裝置上測試 Fuchsia 元件和應用程式。
FEMU 位於 Fuchsia 源樹中,由 jiri
會在 jiri update
或 jiri run-hooks
中下載 (或更新) FEMU,並將 FEMU 擷取至 Fuchsia 來源樹狀結構的 /prebuilt/third_party/aemu
目錄中。
您可以使用 ffx emu
啟動 FEMU。
FEMU、AEMU 和 QEMU
FEMU 是以 Android Emulator (AEMU) 做為 QEMU 的分支,在某些執行個體中 (例如對 Zircon 核心進行偵錯),請改用 QEMU。
由於舊版問題,程式碼和說明文件可能會提及 AEMU。
Zircon 核心偵錯
如要對 Zircon 核心進行偵錯,請改用 fx qemu
。詳情請參閱「使用 QEMU 對核心進行偵錯」。適用對象:核心開發人員。大部分的 Fuchsia 開發人員不需要使用這個工作流程。
功能
FEMU 的外型和行為類似於 Fuchsia 裝置,唯 FEMU 不需要鋪陳或閃爍。
FEMU 的特色包括:
- GUI 支援:您可以使用 GUI (預設) 或不使用 GUI (使用
--headless
引數) 執行 Fuchsia。 - GPU 支援:您可以使用主機的 GPU (預設) 搭配完整 Vulkan 支援執行,也可以使用 SwiftShader 選擇軟體轉譯。
- 遠端開發:您可以在 Chrome 遠端桌面上使用 FEMU 的遠端桌面。
如要查看完整的支援標記清單,請按照下列步驟操作:
ffx emu start --help
圖片和主面板支援
使用 fx set
設定 FEMU 時,FEMU 支援下列 Jamboard:
x64
qemu-arm64
使用 Fuchsia SDK 時,FEMU 支援預先建構的映像檔,包括:
core.x64
workbench_eng.x64
terminal.qemu-arm64
ARM64 支援 (qemu-arm64
) 相當有限,不建議使用。
請使用 ffx --machine product list --version <SDK_VERSION>
查看 SDK 中可用產品的完整清單和對應的移轉資訊清單,並使用 ffx product download <TRANSFER_MANIFEST_URL>
下載這些產品。
網路
--net
標記會指定模擬器的網路模式。--net
需要一個值來表示要實作的網路種類。
以下是 --net
可能的值:
tap
:附加 Tun/Tap 介面。user
:透過 SLiRP 設定對應的通訊埠。none
:停用網路。auto
:檢查主機系統的功能,如果可用,請選取tap
;如果無法使用輕觸介面,則選取user
。auto
為預設值。
在 Linux 上,FEMU 通常應透過 --net tap
旗標執行,該旗標可透過模擬 NIC 提供網路。
--net tap
和 --net user
可讓系統在執行 ffx target list
時探索模擬器。--net none
會停用網路,導致在執行 ffx target list
後找不到模擬器。
如果使用 ffx emu start --net user
啟動模擬器,系統會選取主機的可用 TCP 通訊埠,並轉送至模擬器的 SSH 通訊埠。
您可以執行下列指令,手動設定 SSH 位址並使用 fx
工具與模擬器互動:
ffx emu start --net user --port-map PORT-NAME:PORT-NUMBER
更改下列內容:
- PORT-NAME:通訊埠的選定名稱。通訊埠名稱範例可能是
ssh
。 - PORT-NUMBER:通訊埠的號碼。通訊埠編號範例如下:
8022
。
任何已命名的通訊埠都能以相同方式設定。可對應的通訊埠會按照虛擬裝置規格命名。
如要確認 fx
工具是否使用正確的通訊埠,請執行下列指令:
ffx target get-ssh-address
您應該會在 Device name
旁邊看到 SSH 位址。
如要透過 SSH 連線至模擬器,請執行下列指令:
fx shell
不支援的 CPU
FEMU 目前無法在以下裝置執行:
- ARM64 處理器,包括 Apple M1 處理器。
- AMD 處理器。
支援的圖形加速功能硬體
FEMU 目前在 macOS 和 Linux 上支援有限的 GPU,以執行硬體圖形加速功能。FEMU 會針對不支援的 GPU 使用軟體轉譯器備用方案。
作業系統 | GPU 製造商 | OS / 驅動程式版本 |
---|---|---|
Linux | 妮維迪亞.奎德羅 (Nvidia Quadro) | Nvidia Linux 驅動程式 440.100 以上版本 |
macOS | Intel HD 圖形 | macOS 10.15 以上版本 |
macOS | AMD Radeon Pro | macOS 10.15 以上版本 |
常見用法
如要啟動 FEMU,請完成開始使用 Fuchsia 指南。
或者,你也可以使用 Fuchsia SDK 和預先建立的系統映像檔。
當您啟動 FEMU 後,即可執行下列工作: