Configuring FFX

Last updated 2023-01-17

The ffx tool supports many configuration values to tweak it's behaviour. This is an attempt to centralize the available configuration values and document them.

Note this document is (for now) manually updated and as such may be out of date.

When updating, please add the value in alphabetical order.

Configuration ValueDocumentation
daemon.autostartDetermines if the daemon should
: : start automatically when a subtool :
: : that requires the daemon is :
: : invoked. Defaults to true. :
daemon.host_pipe_ssh_timeoutTime the daemon waits for an
: : initial response from ssh on the :
: : target. Defaults to 50 seconds. :
discovery.expire_targetsDetermines if targets discovered
: : should expire. Defaults to true :
discovery.zedboot.advert_portZedboot discovery port (must be a
: : nonzero u16) :
discovery.zedboot.enabledDetermines if zedboot discovery is
: : enabled. Defaults to false :
emu.console.enabledThe experimental flag for the
: : console subcommand. Defaults to :
: : false. :
emu.deviceThe default virtual device name to
: : configure the emulator. Defaults :
: : to the empty string, but can be :
: : overridden by the user. :
emu.engineThe default engine to launch from
: : ffx emu start. Defaults to femu, :
: : but can be overridden by the user. :
emu.gpuThe default gpu type to use in
: : ffx emu start. Defaults to :
: : “auto”, but can be overridden by :
: : the user. :
emu.instance_dirThe root directory for storing
: : instance specific data. Instances :
: : should create a subdirectory in :
: : this directory to store data. :
emu.kvm_pathThe filesystem path to the
: : system's KVM device. Must be :
: : writable by the running process to :
: : utilize KVM for acceleration. :
emu.start.timeoutThe duration (in seconds) to
: : attempt to establish an RCS :
: : connection with a new emulator :
: : before returning to the terminal. :
: : Not used in --console or :
: : ---monitor modes. Defaults to 60 :
: : seconds. :
emu.upscriptThe full path to the script to run
: : initializing any network :
: : interfaces before starting the :
: : emulator. :
fastboot.flash.min_timeout_secsThe minimum flash timeout (in
: : seconds) for flashing to a target :
: : device :
fastboot.flash.timeout_rateThe timeout rate in mb/s when
: : communicating with the target :
: : device :
fastboot.reboot.reconnect_timeoutTimeout in seconds to wait for
: : target after a reboot to fastboot :
: : mode :
fastboot.tcp.open.retry.countNumber of times to retry when
: : connecting to a target in fastboot :
: : over TCP :
fastboot.tcp.open.retry.waitTime to wait for a response when
: : connecting to a target in fastboot :
: : over TCP :
fastboot.usb.disabledDisables fastboot usb discovery if
: : set to true. :
ffx.fastboot.inline_targetBoolean value to signal that the
: : target is in fastboot, and to :
: : communicate directly with it as :
: : opposed to doing discovery. :
log.dirLocation for ffx and daemon logs
log.enabledWhether logging is enabled
log.include_spansWhether spans (function names,
: : parameters, etc) are included :
log.levelFilter level for log messages
: : Overridable on specific components :
: : via log.target_levels.<prefix>. :
: : Values are: :
: : error, warn, info, debug, :
: : trace :
log.rotate_sizeLimit of log size before log file
: : is rotated (if rotation is enabled;:
: : see log.rotate_size) :
log.rotationsHow many rotations of log files
: : to keep (0 to disable rotation) :
log.target_levels.<prefix>Filter levels for components with :
: : specified prefix. Values are: :
: : error, warn, info, debug, :
: : trace :
proactive_log.cache_directoryLocation for target logs to be
: : cached :
proactive_log.enabledFlag to enable proactive log
: : (defaults to false) :
proactive_log.max_log_size_bytesMaximum log size in bytes
proactive_log.max_session_size_bytesMaximum session size in bytes
proactive_log.max_sessions_per_targetMaximum number of sessions per
: : target :
proactive_log.symbolize.enabledConfiguration flag to enable the
: : symbolizer. Defaults to false :
proactive_log.symbolize.extra_argsAdditional arguments to add to the
: : symbolizer. :
repository.repositories
repository.registrations
repository.default
repository.server.mode
repository.server.enabledIf the repository server is
: : enabled. Defaults to false :
repository.server.listen
repository.server.last_used_address
ssh.auth-sockIf set, the path to the
: : authorization socket for SSH used :
: : by overnet :
target.defaultThe default target to use if one
: : is unspecified :
targets.manualContains the list of manual
: : targets :
ffx.subtool-search-pathsA list of paths to search for non-
SDK subtool binaries.
: : :