本文将向你介绍如何配置并运行 Fuchsia 模拟器(FEMU),其中包括网络和 GPU 支持的配置。
运行 FEMU 之前,请先阅读下述文章:
使用 FEMU 之前,你需要通过设置 fx set
命令的参数,来指定适用于 qemu 的主板硬件配置和产品软件配置。
下面的示例中,我们选择 qemu-x64
为主板硬件配置,workstation
为产品软件配置:
fx set workstation.qemu-x64 --release [--with=...]
fx build
说明:参考Fuchsia 模拟器概述一文获取更多配置信息。
为了使 Fuchsia 的临时软件能够在 FEMU 中使用,您需要进行 IPv6 网络配置。
为了在 FEMU 中启用 分流网络模式,请执行下述命令:
sudo ip tuntap add dev qemu mode tap user $USER
sudo ip link set qemu up
User 网络模式(SLIRP){: .external} 是 FEMU 在 macOS 上的默认网络模式,该模式不支持 Fuchsia 设备发现功能。
常用的 FEMU 启动方式一般会同时启用网络功能,命令如下:
若要启用设备发现功能,但不访问外部网络,请执行:
fx vdl start -N
若想访问外部网络:
{% dynamic if user.is_googler %} 说明:根据你的电脑的不同,命令将会有所不同
-
{Corp}
想要在 corp 机器上运行 FEMU,请参见 go/fuchsia-emulator-corp.
-
{Non-Corp}
说明:参数
FUCHSIA_ROOT
指向的是 Fuchsia 源代码在你电脑上的保存位置 (例如:~/fuchsia
)。fx vdl start -N -u {{ '<var>' }}FUCHSIA_ROOT{{ '</var>' }}/scripts/start-unsecure-internet.sh
{% dynamic else %}
说明:参数 FUCHSIA_ROOT
指向的是 Fuchsia 源代码在你电脑上的保存位置 (例如: ~/fuchsia
)。
fx vdl start -N -u {{ '<var>' }}FUCHSIA_ROOT{{ '</var>' }}/scripts/start-unsecure-internet.sh
{% dynamic endif %}
命令运行后,会打开一个名为"Fuchsia Emulator"的新窗口。当模拟器启动成功后,终端会打开一个 SSH 会话。在该窗口中,你可以执行作用于这个 Fuchsia 设备的 Shell 命令。
在 macOS 上,Fuchsia 设备发现功能不可用。 但你仍可以正常使用 fx
工具,比如 fx ssh
命令。
fx vdl start
从命令的输出中,记下关于 fx set-device
的说明,我们下面会用到它。
说明:每次 Mac 电脑启动后,首次运行 FEMU,都会弹出窗口,询问你是否允许“aemu”在你的电脑上运行,点击“允许”即可。
执行下述 fx set-device
命令来给已经启动的 Fuchsia 模拟器指定 SSH 端口,命令中,参数SSH_PORT
由上述 fx vdl start --host-gpu
命令的输出中获取。
fx set-device 127.0.0.1:{{ '<var>' }}SSH_PORT{{ '</var>' }}
FEMU 默认使用多点触屏输入。你可以使用参数 --pointing-device mouse
来指定使用鼠标作为输入源。
fx vdl start --pointing-device mouse
如果你不需要图形界面,又或者使用远程工作流来工作,则可以以 headless 模式运行 FEMU:
fx vdl start --headless
默认情况下,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 |
在 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 终端执行命令 dm poweroff
。
- 了解 FEMU 工作原理,参见 Fuchsia 模拟器(FEMU)概述.
- 了解 Fuchsia 设备指令及 Fuchsia 工作流,参见 探索 Fuchsia.