配置并运行 Fuchsia 模拟器(FEMU)

本文将向你介绍如何配置并运行 Fuchsia 模拟器(FEMU),其中包括网络和 GPU 支持的配置。

前提条件

运行 FEMU 之前,请先阅读下述文章:

构建 Fuchsia 以适配 FEMU

使用 FEMU 之前,你需要通过设置 fx set 命令的参数,来指定适用于 qemu 的主板硬件配置和产品软件配置。 下面的示例中,我们选择 qemu-x64 为主板硬件配置,workstation 为产品软件配置:

  1. fx set workstation.qemu-x64 --release [--with=...]
  2. fx build

说明:参考Fuchsia 模拟器概述一文获取更多配置信息。

配置网络信息

为了使 Fuchsia 的临时软件能够在 FEMU 中使用,您需要进行 IPv6 网络配置。

Linux {#linux-config}

为了在 FEMU 中启用 分流网络模式,请执行下述命令:

  1. sudo ip tuntap add dev qemu mode tap user $USER
  2. sudo ip link set qemu up

macOS {#mac-config}

User 网络模式(SLIRP){: .external} 是 FEMU 在 macOS 上的默认网络模式,该模式不支持 Fuchsia 设备发现功能。

启动 FEMU

常用的 FEMU 启动方式一般会同时启用网络功能,命令如下:

Linux {#linux-start-femu}

若要启用设备发现功能,但不访问外部网络,请执行:

  1. fx vdl start -N

若想访问外部网络:

{% dynamic if user.is_googler %} 说明:根据你的电脑的不同,命令将会有所不同

  • {Corp}

    想要在 corp 机器上运行 FEMU,请参见 go/fuchsia-emulator-corp.

  • {Non-Corp}

    说明:参数 FUCHSIA_ROOT 指向的是 Fuchsia 源代码在你电脑上的保存位置 (例如: ~/fuchsia)。

    1. fx vdl start -N -u {{ '<var>' }}FUCHSIA_ROOT{{ '</var>' }}/scripts/start-unsecure-internet.sh

{% dynamic else %}

说明:参数 FUCHSIA_ROOT 指向的是 Fuchsia 源代码在你电脑上的保存位置 (例如: ~/fuchsia)。

  1. fx vdl start -N -u {{ '<var>' }}FUCHSIA_ROOT{{ '</var>' }}/scripts/start-unsecure-internet.sh

{% dynamic endif %}

命令运行后,会打开一个名为”Fuchsia Emulator”的新窗口。当模拟器启动成功后,终端会打开一个 SSH 会话。在该窗口中,你可以执行作用于这个 Fuchsia 设备的 Shell 命令。

macOS {#mac-start-femu}

在 macOS 上,Fuchsia 设备发现功能不可用。 但你仍可以正常使用 fx 工具,比如 fx ssh 命令。

  1. fx vdl start

从命令的输出中,记下关于 fx set-device 的说明,我们下面会用到它。

说明:每次 Mac 电脑启动后,首次运行 FEMU,都会弹出窗口,询问你是否允许“aemu”在你的电脑上运行,点击“允许”即可。

执行下述 fx set-device 命令来给已经启动的 Fuchsia 模拟器指定 SSH 端口,命令中,参数SSH_PORT由上述 fx vdl start --host-gpu 命令的输出中获取。

  1. fx set-device 127.0.0.1:{{ '<var>' }}SSH_PORT{{ '</var>' }}

其他 FEMU 选项

输入 选项

FEMU 默认使用多点触屏输入。你可以使用参数 --pointing-device mouse 来指定使用鼠标作为输入源。

  1. fx vdl start --pointing-device mouse

无图形界面运行 FEMU

如果你不需要图形界面,又或者使用远程工作流来工作,则可以以 headless 模式运行 FEMU:

  1. fx vdl start --headless

让 FEMU 使用指定的 GPU

默认情况下,FEMU 启动器会使用 SwiftShader 来进行软件渲染。 要强制 FEMU 使用指定的图形模拟方法,可以在命令 fx vdl start 中使用参数 --host-gpu 或者 --software-gpu

可用的选项及参数如下:

GPU 模拟方法 解释 用法
硬件模拟 (使用宿主机GPU) 直接使用宿主机 GPU 处理图形计算 fx vdl start —host-gpu
软件模拟 (使用宿主机 CPU) 使用宿主机 CPU 来模拟 GPU 图形计算 fx vdl start —software-gpu

受支持的图形加速硬件列表 {#supported-hardware}

在 macOS 和 Linux 上,FEMU 支持使用部分 GPU 进行硬件图形加速。对于不支持的 GPU,FEMU 则使用软件渲染器来实现加速功能。

操作系统 GPU 制造商 系统/驱动版本
Linux Nvidia Quadro Nvidia Linux Drivers 440.100+
macOS Intel HD Graphics macOS 10.15+
macOS AMD Radeon Pro macOS 10.15+

退出 FEMU

想要退出 FEMU, 请在 FEMU 终端执行命令 dm poweroff

下一步