# This file describes the properties of a given virtual device configuration file.
#
# Note: Most top-level properties are boolean that control whether a feature is
#       present or not. Sub-features that depend on it are ignored if their
#       parent is set to 'false' or 'no'
#
# This file is parsed by 'android/scripts/gen-hw-config.py' to generate
# 'android/avd/hw-config-defs.h'. The latter is a special header containing
# macro statements that is used several times:
#
#  - once to define the fields of the AndroidHwConfig structure
#    (see android/avd/hw-config.h)
#
#  - once to implement the hardware configuration loader
#    (see android/avd/hw-config.h)
#
# It is also packaged by the SDK and parsed by tools to let the developers
# create AVDs.
#
# NOTE: if you remove items from this file, be sure that you do not break
#       the emulator build.
#

# CPU Architecture
name        = hw.cpu.arch
type        = string
default     = arm
abstract    = CPU Architecture
description = The CPU Architecture to emulator

# CPU Model
# Leave it empty, and the default value will be computed from
# hw.cpu.arch. This is only useful for experimentation for now.
name        = hw.cpu.model
type        = string
default     =
abstract    = CPU model
description = The CPU model (QEMU-specific string)

# SMP count: Number of processors to emulate when SMP is supported.
# Must be > 0.
name        = hw.cpu.ncore
type        = integer
default     = 2
abstract    = SMP CPU core count
description = Number of cores in a simulated SMP CPU.

# Ram size
# Default value will be computed based on screen pixels
# or skin version
name        = hw.ramSize
type        = integer
default     = 0
abstract    = Device ram size
description = The amount of physical RAM on the device, in megabytes.

# Touch screen type
name        = hw.screen
type        = string
enum        = touch, multi-touch, no-touch
default     = multi-touch
abstract    = Touch screen type
description = Defines type of the screen.

# Hardware main keys (back/home)
name        = hw.mainKeys
type        = boolean
default     = yes
abstract    = Hardware Back/Home keys
description = Whether there are hardware back/home keys on the device.

# Trackball support
name        = hw.trackBall
type        = boolean
default     = yes
abstract    = Track-ball support
description = Whether there is a trackball on the device.

# Keyboard support (qwerty/azerty)
name        = hw.keyboard
type        = boolean
default     = no
abstract    = Keyboard support
description = Whether the device has a QWERTY keyboard.

# Keyboard lid support
# (I.e. can the qwerty keyboard be closed/hidden or opened/visible)
# this will be ignored if hw.keyboard is false
#
# NOTE: As a special case, the default value will be 'false' if the
#       AVD targets API level 12 or higher. See hwConfig_init()
#       in external/qemu/android/avd/hw-config.c for more details.
#
name        = hw.keyboard.lid
type        = boolean
default     = yes
abstract    = Keyboard lid support
description = Whether the QWERTY keyboard can be opened/closed.

# The name of the hardware charmap for this device.
#
# NOTE: This should always be the default 'qwerty2' unless you have
#        modified the system image accordingly. This name is sent to
#        the kernel at boot time. Using an incorrect name will result
#        in an unusable machine.
name        = hw.keyboard.charmap
type        = string
default     = qwerty2
abstract    = Keyboard charmap name
description = Name of the system keyboard charmap file.

# DPad keys
name        = hw.dPad
type        = boolean
default     = yes
abstract    = DPad support
description = Whether the device has DPad keys

# Rotary input
name        = hw.rotaryInput
type        = boolean
default     = no
abstract    = Rotary input support
description = Whether the device has rotary input

# GSM Modem support
name        = hw.gsmModem
type        = boolean
default     = yes
abstract    = GSM modem support
description = Whether there is a GSM modem in the device.

# GPS support
name        = hw.gps
type        = boolean
default     = yes
abstract    = GPS support
description = Whether there is a GPS in the device.

# Battery
name        = hw.battery
type        = boolean
default     = yes
abstract    = Battery support
description = Whether the device can run on a battery.

# Accelerometer (used for auto-rotation)
name        = hw.accelerometer
type        = boolean
default     = yes
abstract    = Accelerometer
description = Whether there is an accelerometer in the device.

# Gyroscope (used for VR)
name        = hw.gyroscope
type        = boolean
default     = yes
abstract    = Gyroscope
description = Whether there is a gyroscope in the device.

# Audio input
name        = hw.audioInput
type        = boolean
default     = yes
abstract    = Audio recording support
description = Whether the device can record audio

# Audio output
name        = hw.audioOutput
type        = boolean
default     = yes
abstract    = Audio playback support
description = Whether the device can play audio

# SDCard support
name        = hw.sdCard
type        = boolean
default     = yes
abstract    = SD Card support
description = Whether the device supports insertion/removal of virtual SD Cards.

name        = hw.sdCard.path
type        = string
default     =
abstract    = SD Card image path

name        = hw.logcatOutput.path
type        = string
default     =
abstract    = Logcat Output File Path

# Cache partition
name        = disk.cachePartition
type        = boolean
default     = yes
abstract    = Cache partition support
description = Whether we use a /cache partition on the device.

name        = disk.cachePartition.path
type        = string
default     =
abstract    = Cache partition
description = Cache partition to use on the device. Ignored if disk.cachePartition is not 'yes'.

name        = disk.cachePartition.size
type        = diskSize
abstract    = Cache partition size
default     = 66MB

name        = test.quitAfterBootTimeOut
type        = integer
default     = -1
abstract    = Quit emulator after guest boots completely, or after time out. Default: end of universe.

name        = test.delayAdbTillBootComplete
type        = integer
default     = 0
abstract    = Delay sending data to guest adb until guest completed booting

name        = test.monitorAdb
type        = integer
default     = 0
abstract    = Monitor Adb messages between guest and host. Default: Disabled.

# LCD width
name        = hw.lcd.width
type        = integer
default     = 320
abstract    = LCD pixel width

name        = hw.lcd.height
type        = integer
default     = 640
abstract    = LCD pixel height

name        = hw.lcd.depth
type        = integer
enum        = 16, 32
default     = 16
abstract    = LCD color depth
description = Color bit depth of emulated framebuffer.

# LCD density
name        = hw.lcd.density
type        = integer
enum        = 120, 160, 240, 213, 320
default     = 160
abstract    = Abstracted LCD density
description = A value used to roughly describe the density of the LCD screen for automatic resource/asset selection.

# LCD backlight - Enable/Disable LCD backlight simulation
# default = no  : Disabled
# default = yes : Enabled
name        = hw.lcd.backlight
type        = boolean
default     = yes
abstract    = LCD backlight
description = Enable/Disable LCD backlight simulation,yes-enabled,no-disabled.

# VSYNC rate
name        = hw.lcd.vsync
type        = integer
default     = 60
abstract    = LCD VSYNC rate

# GL transport
name        = hw.gltransport
type        = string
default     = pipe
enum        = tcp, pipe, virtio-gpu, asg
abstract    = Transport used to run graphics

name        = hw.gltransport.asg.writeBufferSize
type        = integer
default     = 1048576
abstract    = For address space graphics, the total size of the write buffer the guest can write into

name        = hw.gltransport.asg.writeStepSize
type        = integer
default     = 4096
abstract    = For address space graphics, the max size of each guest-to-host transaction.

name        = hw.gltransport.asg.dataRingSize
type        = integer
default     = 32768
abstract    = For address space graphics, the size of the ring used to transfer larger buffers.

name        = hw.gltransport.drawFlushInterval
type        = integer
default     = 800
abstract    = Interval over which to flush draw calls (balance host gpu starve vs pipe notif overhead)

# Display sub-region
# Indicates a reduced area of hw.lcd that is used when a foldable device
# is in its folded configuration.
name        = hw.displayRegion.0.1.xOffset
type        = integer
default     = -1
abstract    = Horizontal offset of the sub-region

name        = hw.displayRegion.0.1.yOffset
type        = integer
default     = -1
abstract    = Vertical offset of the sub-region

name        = hw.displayRegion.0.1.width
type        = integer
default     = 0
abstract    = Horizontal size of the sub-region

name        = hw.displayRegion.0.1.height
type        = integer
default     = 0
abstract    = Vertical size of the sub-region

name        = hw.fold.adjust
type        = boolean
default     = no
abstract    = Adjust display window to folded size

# The Secondary Displays (MAX 3) (Primary display is represented by hw.lcd.*)
name        = hw.display1.width
type        = integer
default     = 0
abstract    = Pixel width of the second display

name        = hw.display1.height
type        = integer
default     = 0
abstract    = Pixel height of the second display

name        = hw.display1.density
type        = integer
default     = 0
abstract    = Screen density of the second display

name        = hw.display1.xOffset
type        = integer
default     = -1
abstract    = the horizontal offset of the second display with respect to the host QT window.

name        = hw.display1.yOffset
type        = integer
default     = -1
abstract    = the veritcal offset of the second display with respect to the host QT window.

name        = hw.display1.flag
type        = integer
default     = 0
abstract    = the flag to use when the second display is initialized in the Android system.

name        = hw.display2.width
type        = integer
default     = 0
abstract    = Pixel width of the third display

name        = hw.display2.height
type        = integer
default     = 0
abstract    = Pixel height of the third display

name        = hw.display2.density
type        = integer
default     = 0
abstract    = Screen density of the third display

name        = hw.display2.xOffset
type        = integer
default     = -1
abstract    = the horizontal offset of the third display with respect to the host QT window.

name        = hw.display2.yOffset
type        = integer
default     = -1
abstract    = the veritcal offset of the third display with respect to the host QT window.

name        = hw.display2.flag
type        = integer
default     = 0
abstract    = the flag to use when the third display is initialized in the Android system.

name        = hw.display3.width
type        = integer
default     = 0
abstract    = Pixel width of the fourth display

name        = hw.display3.height
type        = integer
default     = 0
abstract    = Pixel height of the fourth display

name        = hw.display3.density
type        = integer
default     = 0
abstract    = Screen density of the fourth display

name        = hw.display3.xOffset
type        = integer
default     = -1
abstract    = the horizontal offset of the fourth display with respect to the host QT window.

name        = hw.display3.yOffset
type        = integer
default     = -1
abstract    = the veritcal offset of the fourth display with respect to the host QT window.

name        = hw.display3.flag
type        = integer
default     = 0
abstract    = the flag touse when the fourth display is initialized in the Android system.

name        = display.settings.xml
type        = string
enum        = freeform, ...
default     =
abstract    = Configure setting xml file for Android Window Manager

# Hardware OpenGLES emulation support
#
name        = hw.gpu.enabled
type        = boolean
default     = no
abstract    = GPU emulation
description = Enable/Disable emulated OpenGLES GPU

name        = hw.gpu.mode
type        = string
default     = auto
enum        = auto, host, mesa
abstract    = GPU emulation mode
description = This value determines how GPU emulation is implemented.

# Deactivated due to issues with blacklist=no leaked to production
# name        = hw.gpu.blacklisted
# type        = string
# default     = no
# enum        = no, yes
# abstract    = GPU on-blacklist mode
# description = This value determines if the GPU is considered blacklisted. Testing purposes only.

# Configures the initial orientation: portrait or landscape
#
name        = hw.initialOrientation
type        = string
enum        = portrait, landscape
default     = portrait
abstract    = Initial screen orientation
description = Setup initial screen orientation, can be rotated later on.

# Configures camera facing back
#
name        = hw.camera.back
type        = string
enum        = emulated, none, webcam0, ...
default     = emulated
abstract    = Configures camera facing back
description = Must be 'emulated' for a fake camera, 'webcam<N>' for a web camera, or 'none' if back camera is disabled.

# Configures camera facing front
#
name        = hw.camera.front
type        = string
enum        = emulated, none, webcam0, ...
default     = none
abstract    = Configures camera facing front
description = Must be 'emulated' for a fake camera, 'webcam<N>' for a web camera, or 'none' if front camera is disabled.

# Maximum VM heap size
# Higher values are required for high-dpi devices
# Default will depend on RAM size.
name        = vm.heapSize
type        = integer
default     = 0
abstract    = Max VM application heap size
description = The maximum heap size a Dalvik application might allocate before being killed by the system. Value is in megabytes.

# Light sensor
name        = hw.sensors.light
type        = boolean
default     = yes
abstract    = Light support
description = Whether there is a light sensor in the device

# Pressure sensor
name        = hw.sensors.pressure
type        = boolean
default     = yes
abstract    = Pressure support
description = Whether there is a pressure sensor in the device

# Humidity sensor
name        = hw.sensors.humidity
type        = boolean
default     = yes
abstract    = Humidity support
description = Whether there is a relative humidity sensor in the device

# Proximity sensor
name        = hw.sensors.proximity
type        = boolean
default     = yes
abstract    = Proximity support
description = Whether there is an proximity in the device.

# Magnetic field sensor
name        = hw.sensors.magnetic_field
type        = boolean
default     = yes
abstract    = Magnetic field support
description = Provides magnetic field sensor values.

# Uncalibrated magnetometer (used for VR)
name        = hw.sensors.magnetic_field_uncalibrated
type        = boolean
default     = yes
abstract    = Uncalibrated magnetic field suport
description = Provides uncalibrated magnetic field sensor values.

# Uncalibrated gyroscope
name        = hw.sensors.gyroscope_uncalibrated
type        = boolean
default     = yes
abstract    = Uncalibrated gyroscope support
description = Provides uncalibrated gyroscope sensor values.

# Orientation sensor
name        = hw.sensors.orientation
type        = boolean
default     = yes
abstract    = Orientation support
description = Provides orientation sensor values.

# Temperature sensor
name        = hw.sensors.temperature
type        = boolean
default     = yes
abstract    = Temperature support
description = Provides temperature sensor values.

# File system
name        = hw.useext4
type        = boolean
default     = yes
abstract    = Deprecated option. Ignored.
description = Used to specify the Ext4 partition image type. This is now autodetected.

# Chrome OS devices
name        = hw.arc
type        = boolean
default     = no
abstract    = Chrome OS device (App Runtime for Chrome)
description = The emulated device is a Chrome OS machine.

# Autologin for Chrome OS devices
name        = hw.arc.autologin
type        = boolean
default     = no
abstract    = Auto login for Chrome OS devices
description = Used to enable auto login into Chrome OS devices

# Feature flags
name        = hw.featureflags
type        = string
default     =
abstract    = Feature flags
description = A comma-separated list of feature flags to enable or disable, such as 'Enabled,-Disabled'.

# Kernel image.
#
# kernel.path        specified the path to the kernel image
# kernel.parameters  specifies the string of kernel boot parameters.
#
name        = kernel.path
type        = string
default     =
abstract    = Path to the kernel image
description = Path to the kernel image.

name        = kernel.parameters
type        = string
default     =
abstract    = kernel boot parameters string.

name        = kernel.newDeviceNaming
type        = string
enum        = autodetect, yes, no
default     = autodetect
abstract    = Does the kernel require a new device naming scheme?
description = Used to specify whether the kernel requires a new device naming scheme. Typically for Linux 3.10 and above.

name        = kernel.supportsYaffs2
type        = string
enum        = autodetect, yes, no
default     = autodetect
abstract    = Does the kernel supports YAFFS2 partitions?
description = Used to specify whether the kernel supports YAFFS2 partition images. Typically before 3.10 only.

# Path to the ramdisk image.
name        = disk.ramdisk.path
type        = string
default     =
abstract    = Path to the ramdisk image
description = Path to the ramdisk image.

# System partition image(s).
#
# disk.systemPartition.path points to the read/write system partition image.
#   if empty, a temporary file will be created, initialized with the content
#   of .initPath
#
# disk.systemPartition.initPath is only used when .path is empty. It must
# then point to a read-only initialization system image file.
#
# disk.systemPartition.size is the ideal size of the system partition. The
# size is ignored if the actual system partition image is larger. Otherwise,
# it indicates the maximum size the disk image file can grow to.
#
name        = disk.systemPartition.path
type        = string
default     =
abstract    = Path to runtime system partition image

name        = disk.systemPartition.initPath
type        = string
default     =
abstract    = Initial system partition image

name        = disk.systemPartition.size
type        = diskSize
default     = 0
abstract    = Ideal size of system partition

# Vendor partition image(s).

name        = disk.vendorPartition.path
type        = string
default     =
abstract    = Path to runtime vendor partition image

name        = disk.vendorPartition.initPath
type        = string
default     =
abstract    = Initial vendor partition image

name        = disk.vendorPartition.size
type        = diskSize
default     = 0
abstract    = Ideal size of vendor partition

# Path to the data partition.
name        = disk.dataPartition.path
type        = string
default     = <temp>
abstract    = Path to data partition file
description = Path to data partition file. Cannot be empty. Special value <temp> means using a temporary file. If disk.dataPartition.initPath is not empty, its content will be copied to the disk.dataPartition.path file at boot-time.

# Initial path to the data partition.
name        = disk.dataPartition.initPath
type        = string
default     =
abstract    = Initial data partition
description = If not empty, its content will be copied to the disk.dataPartition.path file at boot-time.

# Data partition size.
name        = disk.dataPartition.size
type        = diskSize
default     = 0
abstract    = Ideal size of data partition

# Path to the data partition.
name        = disk.encryptionKeyPartition.path
type        = string
default     =
abstract    = Path to encryption key partition file
description = Path to encryption key partition file. Should be at least 16K bytes empty disk without any filesystem on it.

# Path to the snapshots storage file.
name        = disk.snapStorage.path
type        = string
default     =
abstract    = Path to snapshot storage
description = Path to a 'snapshot storage' file, where all snapshots are stored.

# Is the AVD compatible with Google Play?
name        = PlayStore.enabled
type        = boolean
default     = no
abstract    = PlayStore
description = Does the device supports Google Play?

# Android AVD name
# This is set automatically before launching a core.
#
name        = avd.name
type        = string
default     = <build>
abstract    = Name of the AVD being run

# Android AVD id
# This is set automatically before launching a core.
#
name        = avd.id
type        = string
default     = <build>
abstract    = ID of the AVD being run

# Force cold boot
# Don't use snapshots for quick booting but boot from scratch instead
#
name        = fastboot.forceColdBoot
type        = boolean
default     = no
abstract    = Always use cold boot
description = If set, AVD will always use the full cold boot instead of snapshot-based quick boot process


# SDK Path used during generation of this hardware configuration
name        = android.sdk.root
type        = string
default     =
abstract    = sdk root that was used during the construction of this hardware.ini
description = This can be used by post processing tools to migrate snapshots

# AVD home used during generation of this hardware configuration
name        = android.avd.home
type        = string
default     =
abstract    = avd home that was used during the construction of this hardware.ini
description = This can be used by post processing tools to migrate snapshots

