Usage: fvdl [--sdk] <command> [<args>] entry point for fvdl Commands to start/stop the emulator via fuchsia virtual device launcher (VDL)
--sdk running in fuchsia sdk (not inside the fuchsia code repository) --help display usage information
start Starting Fuchsia Emulator kill Killing Fuchsia Emulator - only required in nointeractive mode else emulator can be closed by hitting the close button on the GUI or sending a `dm poweroff` command through the console.
Usage: fvdl kill [-d <vdl-path>] [--launched-proto <launched-proto>] [--sdk] Killing Fuchsia Emulator - only required in nointeractive mode else emulator can be closed by hitting the close button on the GUI or sending a `dm poweroff` command through the console.
-d, --vdl-path device_launcher binary location. Defaults to looking in prebuilt/vdl/device_launcher --launched-proto required, file containing device_launcher process artifact location. --sdk running in fuchsia sdk (not inside the fuchsia code repository) --help display usage information
Usage: fvdl start [-H] [-N] [--host-gpu] [--software-gpu] [--hidpi-scaling] [-u <upscript>] [-p <pointing-device>] [-w <window-width>] [-h <window-height>] [--ram-mb <ram-mb>] [--audio <audio>] [-s <image-size>] [-F <device-proto>] [--device-spec <device-spec>] [-e <aemu-path>] [--aemu-version <aemu-version>] [-d <vdl-path>] [--vdl-version <vdl-version>] [-x <grpcwebproxy>] [-X <grpcwebproxy-path>] [--grpcwebproxy-version <grpcwebproxy-version>] [-v <sdk-version>] [--gcs-bucket <gcs-bucket>] [--image-name <image-name>] [-l <emulator-log>] [--port-map <port-map>] [--vdl-output <vdl-output>] [-c <kernel-args>] [--nointeractive] [-i] [--debugger] [-m] [--emu-only] [--nopackageserver] [-P] [--packages-to-serve <packages-to-serve>] [--package-server-log <package-server-log>] [--amber-unpack-root <amber-unpack-root>] [--envs <envs...>] [--noacceleration] [--package-server-port <package-server-port>] [-a <amber-files>] [-f <disk-image>] [-k <kernel-image>] [-z <zbi-image>] [-A <image-architecture>] [--ssh <ssh>] [-V] [--dry-run] [--cpu-count <cpu-count>] [--sdk] [--isolated-ffx-config-path <isolated-ffx-config-path>] Starting Fuchsia Emulator
-H, --headless bool, run emulator in headless mode where there is no GUI. Note that ssh console in terminal will still be started. In order to run the emulator completely in the background use this flag along with --nointeractive and --vdl-output -N, --tuntap bool, run emulator with emulated nic via tun/tap. --host-gpu bool, run emulator with host GPU acceleration, this doesn't work on remote-desktop with --headless. --software-gpu bool, run emulator without host GPU acceleration, default. --hidpi-scaling bool, enable pixel scaling on HiDPI devices. -u, --upscript path to tun/tap upscript, this script will be executed before booting up FEMU. -p, --pointing-device set pointing device used on emulator: mouse or touch screen. Allowed values are "touch", "mouse". Default is "touch". -w, --window-width emulator window width. Default to 1280. -h, --window-height emulator window height. Default to 800. --ram-mb emulator ram in megabytes. Default is 8192. --audio emulator audio interface enabled. Default is true. -s, --image-size extends storage size to <size> bytes. Default is "2G". -F, --device-proto path to fuchsia virtual device configuration as a protobuf, if not specified a generic one will be generated. --device-spec path to fuchsia virtual device configuration as a JSON manifest -e, --aemu-path path to aemu location. When running in fuchsia repo, defaults to looking in prebuilt/third_party/android/aemu/release/PLATFORM. When running in fuchsia sdk, defaults to looking in $HOME/.fuchsia/femu. --aemu-version label used to download AEMU from CIPD. Default is "integration". Download only happens if aemu binary cannot be found from known paths. -d, --vdl-path device_launcher binary location. When running in fuchsia repo, defaults to looking in prebuilt/vdl/device_launcher. When running in fuchsia sdk, defaults to looking in directory containing `fvdl`. --vdl-version label used to download vdl from CIPD. Default is "latest". Download only happens if vdl (device_launcher) binary cannot be found from known paths. -x, --grpcwebproxy enable WebRTC HTTP service on port, if set to 0 a random port will be picked -X, --grpcwebproxy-path location of grpcwebproxy, When running in fuchsia repo, defaults to looking in prebuilt/third_party/grpcwebproxy When running in fuchsia sdk, defaults to looking in $HOME/.fuchsia/femu. --grpcwebproxy-version label used to download grpcwebproxy from CIPD. Default is "latest". Download only happens if --grpcwebproxy is set and grpcwebproxy binary cannot be found from known paths or path specified by --grpcwebproxy_path. -v, --sdk-version fuchsia sdk ID used to fetch from gcs, if specified, the emulator will launch with fuchsia sdk files fetched from gcs. To find the latest version run `gsutil cat gs://fuchsia/development/LATEST_LINUX`. --gcs-bucket gcs bucket name. Default is "fuchsia". --image-name image file name used to fetch from gcs. Default is "qemu-x64". To view available image names run `gsutil ls -l gs://fuchsia/development/$(gsutil cat gs://fuchsia/development/LATEST_LINUX)/images`. -l, --emulator-log file path to store emulator log. Default is a temp file that is deleted after `fvdl` exits. --port-map host port mapping for user-networking mode. This flag will be ignored if --tuntap is used. If not specified, an ssh port on host will be randomly picked and forwarded. ex: hostfwd=tcp::<host_port>-:<guest_port>,hostfwd=tcp::<host_port>-:<guest_port> --vdl-output file destination to write `device_launcher` output. Required for --nointeractive mode. Default is a temp file that is deleted after `fvdl` exits. Specify this flag if you plan to use the `kill` subcommand. -c, --kernel-args extra kernel flags to pass into aemu. --nointeractive bool, turn off interactive mode. if turned off, fvdl will not land user in the ssh console but GUI will still be launched. A ssh port will still be forwarded. User needs to specify --vdl-output flag with this mode, and manually call the `kill` subcommand to perform clean shutdown. In order to run the emulator completely in the background use this flag along with --headless. -i, --cache-image bool, download and re-use image files in the cached location ~/.fuchsia/<image_name>/<sdk_version>/. If not set (default), image files will be stored in a temp location and removed with `kill` subcommand. If image location is specified with --kernel-image, --zbi-image, --disk-image etc., the cached image will be overwritten for the specified image file. --debugger bool, pause on launch and wait for a debugger process to attach before resuming -m, --monitor bool, launches emulator in qemu console No local services such as package_server will be running in this mode. --emu-only bool, launches user in femu serial console, this flag is required for bringup image. No local services such as package_server will be running in this mode. --nopackageserver deprecated, does nothing, will soon be removed. -P, --start-package-server bool, enables automatically launching package server. --packages-to-serve comma separated string of fuchsia package urls, extra packages to serve after starting FEMU. Requires --start_package_server=true --package-server-log file path to store package server log. Default is a stdout. Requires --start_package_server=true --amber-unpack-root path to unpack archived_package downloaded from GCS. This only applies when fvdl is downloading images files from GCS (ex: --gcs-bucket, --sdk-verion, --image-name flags are specified). If not specified, a temporary path will be used. --envs environment variables for emulator. The argument can be repeated for multiple times to add multiple arguments. If not specified, only the default environment variables (DISPLAY) will be set to run the emulator. --noacceleration bool, disable acceleration using KVM on Linux and HVF on macOS. --package-server-port int, port to an existing package server running on the host. -a, --amber-files string, absolute path to amber-files location, path name must end with 'amber-files'. -f, --disk-image string, absolute path to disk image (Fxfs or FVM) file location. -k, --kernel-image string, absolute path to kernel image file location. If specified --zbi-image and --image-architecture must also be specified. When running with --sdk option, this will skip downloading fuchsia image prebuilts from GCS. -z, --zbi-image string, absolute path to zircon image file location. If specified --kernel-image and --image-architecture must also be specified. When running with --sdk option, this will skip downloading fuchsia image prebuilts from GCS. -A, --image-architecture string, specifies image architecture, accepted values are 'arm64' or 'x64'. Required if image override flags (i.e --disk-image, --kernel-image, --zbi-image, or --amber-files) are specified. --ssh string, specifies an alternative path for ssh keys. The emulator defaults to the user's $HOME/.ssh directory if none is specified. The path indicated must contain the files `fuchsia_authorized_keys` and `fuchsia_ed25519`. -V, --verbose bool, enables extra logging for debugging --dry-run bool, terminates the plugin before it calls out to the next layer, and prints the command to the screen for debugging. The temporary staging directory is also retained. --cpu-count usize, specifies the count of cpu cores used by the emulator. If unspecified, the emulator will pick up a value best for the host environment. --sdk running in fuchsia sdk (not inside the fuchsia code repository) --isolated-ffx-config-path string, specifies a config to an isolated ffx instance. If unspecified, will use the default ffx instance. --help display usage information