1# This file describes the properties of a given virtual device configuration file. 2# 3# Note: Most top-level properties are boolean that control whether a feature is 4# present or not. Sub-features that depend on it are ignored if their 5# parent is set to 'false' or 'no' 6# 7# This file is parsed by 'android/scripts/gen-hw-config.py' to generate 8# 'android/avd/hw-config-defs.h'. The latter is a special header containing 9# macro statements that is used several times: 10# 11# - once to define the fields of the AndroidHwConfig structure 12# (see android/avd/hw-config.h) 13# 14# - once to implement the hardware configuration loader 15# (see android/avd/hw-config.h) 16# 17# It is also packaged by the SDK and parsed by tools to let the developers 18# create AVDs. 19# 20# NOTE: if you remove items from this file, be sure that you do not break 21# the emulator build. 22# 23 24# CPU Architecture 25name = hw.cpu.arch 26type = string 27default = arm 28abstract = CPU Architecture 29description = The CPU Architecture to emulator 30 31# CPU Model 32# Leave it empty, and the default value will be computed from 33# hw.cpu.arch. This is only useful for experimentation for now. 34name = hw.cpu.model 35type = string 36default = 37abstract = CPU model 38description = The CPU model (QEMU-specific string) 39 40# SMP count: Number of processors to emulate when SMP is supported. 41# Must be > 0. 42name = hw.cpu.ncore 43type = integer 44default = 2 45abstract = SMP CPU core count 46description = Number of cores in a simulated SMP CPU. 47 48# Ram size 49# Default value will be computed based on screen pixels 50# or skin version 51name = hw.ramSize 52type = integer 53default = 0 54abstract = Device ram size 55description = The amount of physical RAM on the device, in megabytes. 56 57# Touch screen type 58name = hw.screen 59type = string 60enum = touch, multi-touch, no-touch 61default = multi-touch 62abstract = Touch screen type 63description = Defines type of the screen. 64 65# Hardware main keys (back/home) 66name = hw.mainKeys 67type = boolean 68default = yes 69abstract = Hardware Back/Home keys 70description = Whether there are hardware back/home keys on the device. 71 72# Trackball support 73name = hw.trackBall 74type = boolean 75default = yes 76abstract = Track-ball support 77description = Whether there is a trackball on the device. 78 79# Keyboard support (qwerty/azerty) 80name = hw.keyboard 81type = boolean 82default = no 83abstract = Keyboard support 84description = Whether the device has a QWERTY keyboard. 85 86# Keyboard lid support 87# (I.e. can the qwerty keyboard be closed/hidden or opened/visible) 88# this will be ignored if hw.keyboard is false 89# 90# NOTE: As a special case, the default value will be 'false' if the 91# AVD targets API level 12 or higher. See hwConfig_init() 92# in external/qemu/android/avd/hw-config.c for more details. 93# 94name = hw.keyboard.lid 95type = boolean 96default = yes 97abstract = Keyboard lid support 98description = Whether the QWERTY keyboard can be opened/closed. 99 100# The name of the hardware charmap for this device. 101# 102# NOTE: This should always be the default 'qwerty2' unless you have 103# modified the system image accordingly. This name is sent to 104# the kernel at boot time. Using an incorrect name will result 105# in an unusable machine. 106name = hw.keyboard.charmap 107type = string 108default = qwerty2 109abstract = Keyboard charmap name 110description = Name of the system keyboard charmap file. 111 112# DPad keys 113name = hw.dPad 114type = boolean 115default = yes 116abstract = DPad support 117description = Whether the device has DPad keys 118 119# Rotary input 120name = hw.rotaryInput 121type = boolean 122default = no 123abstract = Rotary input support 124description = Whether the device has rotary input 125 126# GSM Modem support 127name = hw.gsmModem 128type = boolean 129default = yes 130abstract = GSM modem support 131description = Whether there is a GSM modem in the device. 132 133# GPS support 134name = hw.gps 135type = boolean 136default = yes 137abstract = GPS support 138description = Whether there is a GPS in the device. 139 140# Battery 141name = hw.battery 142type = boolean 143default = yes 144abstract = Battery support 145description = Whether the device can run on a battery. 146 147# Accelerometer (used for auto-rotation) 148name = hw.accelerometer 149type = boolean 150default = yes 151abstract = Accelerometer 152description = Whether there is an accelerometer in the device. 153 154# Gyroscope (used for VR) 155name = hw.gyroscope 156type = boolean 157default = yes 158abstract = Gyroscope 159description = Whether there is a gyroscope in the device. 160 161# Audio input 162name = hw.audioInput 163type = boolean 164default = yes 165abstract = Audio recording support 166description = Whether the device can record audio 167 168# Audio output 169name = hw.audioOutput 170type = boolean 171default = yes 172abstract = Audio playback support 173description = Whether the device can play audio 174 175# SDCard support 176name = hw.sdCard 177type = boolean 178default = yes 179abstract = SD Card support 180description = Whether the device supports insertion/removal of virtual SD Cards. 181 182name = hw.sdCard.path 183type = string 184default = 185abstract = SD Card image path 186 187name = hw.logcatOutput.path 188type = string 189default = 190abstract = Logcat Output File Path 191 192# Cache partition 193name = disk.cachePartition 194type = boolean 195default = yes 196abstract = Cache partition support 197description = Whether we use a /cache partition on the device. 198 199name = disk.cachePartition.path 200type = string 201default = 202abstract = Cache partition 203description = Cache partition to use on the device. Ignored if disk.cachePartition is not 'yes'. 204 205name = disk.cachePartition.size 206type = diskSize 207abstract = Cache partition size 208default = 66MB 209 210name = test.quitAfterBootTimeOut 211type = integer 212default = -1 213abstract = Quit emulator after guest boots completely, or after time out. Default: end of universe. 214 215name = test.delayAdbTillBootComplete 216type = integer 217default = 0 218abstract = Delay sending data to guest adb until guest completed booting 219 220name = test.monitorAdb 221type = integer 222default = 0 223abstract = Monitor Adb messages between guest and host. Default: Disabled. 224 225# LCD width 226name = hw.lcd.width 227type = integer 228default = 320 229abstract = LCD pixel width 230 231name = hw.lcd.height 232type = integer 233default = 640 234abstract = LCD pixel height 235 236name = hw.lcd.depth 237type = integer 238enum = 16, 32 239default = 16 240abstract = LCD color depth 241description = Color bit depth of emulated framebuffer. 242 243# LCD density 244name = hw.lcd.density 245type = integer 246enum = 120, 160, 240, 213, 320 247default = 160 248abstract = Abstracted LCD density 249description = A value used to roughly describe the density of the LCD screen for automatic resource/asset selection. 250 251# LCD backlight - Enable/Disable LCD backlight simulation 252# default = no : Disabled 253# default = yes : Enabled 254name = hw.lcd.backlight 255type = boolean 256default = yes 257abstract = LCD backlight 258description = Enable/Disable LCD backlight simulation,yes-enabled,no-disabled. 259 260# VSYNC rate 261name = hw.lcd.vsync 262type = integer 263default = 60 264abstract = LCD VSYNC rate 265 266# GL transport 267name = hw.gltransport 268type = string 269default = pipe 270enum = tcp, pipe, virtio-gpu, asg 271abstract = Transport used to run graphics 272 273name = hw.gltransport.asg.writeBufferSize 274type = integer 275default = 1048576 276abstract = For address space graphics, the total size of the write buffer the guest can write into 277 278name = hw.gltransport.asg.writeStepSize 279type = integer 280default = 4096 281abstract = For address space graphics, the max size of each guest-to-host transaction. 282 283name = hw.gltransport.asg.dataRingSize 284type = integer 285default = 32768 286abstract = For address space graphics, the size of the ring used to transfer larger buffers. 287 288name = hw.gltransport.drawFlushInterval 289type = integer 290default = 800 291abstract = Interval over which to flush draw calls (balance host gpu starve vs pipe notif overhead) 292 293# Display sub-region 294# Indicates a reduced area of hw.lcd that is used when a foldable device 295# is in its folded configuration. 296name = hw.displayRegion.0.1.xOffset 297type = integer 298default = -1 299abstract = Horizontal offset of the sub-region 300 301name = hw.displayRegion.0.1.yOffset 302type = integer 303default = -1 304abstract = Vertical offset of the sub-region 305 306name = hw.displayRegion.0.1.width 307type = integer 308default = 0 309abstract = Horizontal size of the sub-region 310 311name = hw.displayRegion.0.1.height 312type = integer 313default = 0 314abstract = Vertical size of the sub-region 315 316name = hw.displayRegion.0.2.xOffset 317type = integer 318default = -1 319abstract = Horizontal offset of the sub-region 320 321name = hw.displayRegion.0.2.yOffset 322type = integer 323default = -1 324abstract = Vertical offset of the sub-region 325 326name = hw.displayRegion.0.2.width 327type = integer 328default = 0 329abstract = Horizontal size of the sub-region 330 331name = hw.displayRegion.0.2.height 332type = integer 333default = 0 334abstract = Vertical size of the sub-region 335 336name = hw.displayRegion.0.3.xOffset 337type = integer 338default = -1 339abstract = Horizontal offset of the sub-region 340 341name = hw.displayRegion.0.3.yOffset 342type = integer 343default = -1 344abstract = Vertical offset of the sub-region 345 346name = hw.displayRegion.0.3.width 347type = integer 348default = 0 349abstract = Horizontal size of the sub-region 350 351name = hw.displayRegion.0.3.height 352type = integer 353default = 0 354abstract = Vertical size of the sub-region 355 356# The Secondary Displays (MAX 3) (Primary display is represented by hw.lcd.*) 357name = hw.display1.width 358type = integer 359default = 0 360abstract = Pixel width of the second display 361 362name = hw.display1.height 363type = integer 364default = 0 365abstract = Pixel height of the second display 366 367name = hw.display1.density 368type = integer 369default = 0 370abstract = Screen density of the second display 371 372name = hw.display1.xOffset 373type = integer 374default = -1 375abstract = the horizontal offset of the second display with respect to the host QT window. 376 377name = hw.display1.yOffset 378type = integer 379default = -1 380abstract = the veritcal offset of the second display with respect to the host QT window. 381 382name = hw.display1.flag 383type = integer 384default = 0 385abstract = the flag to use when the second display is initialized in the Android system. 386 387name = hw.display2.width 388type = integer 389default = 0 390abstract = Pixel width of the third display 391 392name = hw.display2.height 393type = integer 394default = 0 395abstract = Pixel height of the third display 396 397name = hw.display2.density 398type = integer 399default = 0 400abstract = Screen density of the third display 401 402name = hw.display2.xOffset 403type = integer 404default = -1 405abstract = the horizontal offset of the third display with respect to the host QT window. 406 407name = hw.display2.yOffset 408type = integer 409default = -1 410abstract = the veritcal offset of the third display with respect to the host QT window. 411 412name = hw.display2.flag 413type = integer 414default = 0 415abstract = the flag to use when the third display is initialized in the Android system. 416 417name = hw.display3.width 418type = integer 419default = 0 420abstract = Pixel width of the fourth display 421 422name = hw.display3.height 423type = integer 424default = 0 425abstract = Pixel height of the fourth display 426 427name = hw.display3.density 428type = integer 429default = 0 430abstract = Screen density of the fourth display 431 432name = hw.display3.xOffset 433type = integer 434default = -1 435abstract = the horizontal offset of the fourth display with respect to the host QT window. 436 437name = hw.display3.yOffset 438type = integer 439default = -1 440abstract = the veritcal offset of the fourth display with respect to the host QT window. 441 442name = hw.display3.flag 443type = integer 444default = 0 445abstract = the flag touse when the fourth display is initialized in the Android system. 446 447name = display.settings.xml 448type = string 449enum = freeform, ... 450default = 451abstract = Configure setting xml file for Android Window Manager 452 453# Hardware OpenGLES emulation support 454# 455name = hw.gpu.enabled 456type = boolean 457default = no 458abstract = GPU emulation 459description = Enable/Disable emulated OpenGLES GPU 460 461name = hw.gpu.mode 462type = string 463default = auto 464enum = auto, host, mesa 465abstract = GPU emulation mode 466description = This value determines how GPU emulation is implemented. 467 468# Deactivated due to issues with blacklist=no leaked to production 469# name = hw.gpu.blacklisted 470# type = string 471# default = no 472# enum = no, yes 473# abstract = GPU on-blacklist mode 474# description = This value determines if the GPU is considered blacklisted. Testing purposes only. 475 476# Configures the initial orientation: portrait or landscape 477# 478name = hw.initialOrientation 479type = string 480enum = portrait, landscape 481default = portrait 482abstract = Initial screen orientation 483description = Setup initial screen orientation, can be rotated later on. 484 485# Configures camera facing back 486# 487name = hw.camera.back 488type = string 489enum = emulated, none, webcam0, ... 490default = emulated 491abstract = Configures camera facing back 492description = Must be 'emulated' for a fake camera, 'webcam<N>' for a web camera, or 'none' if back camera is disabled. 493 494# Configures camera facing front 495# 496name = hw.camera.front 497type = string 498enum = emulated, none, webcam0, ... 499default = none 500abstract = Configures camera facing front 501description = Must be 'emulated' for a fake camera, 'webcam<N>' for a web camera, or 'none' if front camera is disabled. 502 503# Maximum VM heap size 504# Higher values are required for high-dpi devices 505# Default will depend on RAM size. 506name = vm.heapSize 507type = integer 508default = 0 509abstract = Max VM application heap size 510description = The maximum heap size a Dalvik application might allocate before being killed by the system. Value is in megabytes. 511 512# Light sensor 513name = hw.sensors.light 514type = boolean 515default = yes 516abstract = Light support 517description = Whether there is a light sensor in the device 518 519# Pressure sensor 520name = hw.sensors.pressure 521type = boolean 522default = yes 523abstract = Pressure support 524description = Whether there is a pressure sensor in the device 525 526# Humidity sensor 527name = hw.sensors.humidity 528type = boolean 529default = yes 530abstract = Humidity support 531description = Whether there is a relative humidity sensor in the device 532 533# Proximity sensor 534name = hw.sensors.proximity 535type = boolean 536default = yes 537abstract = Proximity support 538description = Whether there is an proximity in the device. 539 540# Magnetic field sensor 541name = hw.sensors.magnetic_field 542type = boolean 543default = yes 544abstract = Magnetic field support 545description = Provides magnetic field sensor values. 546 547# Uncalibrated magnetometer (used for VR) 548name = hw.sensors.magnetic_field_uncalibrated 549type = boolean 550default = yes 551abstract = Uncalibrated magnetic field suport 552description = Provides uncalibrated magnetic field sensor values. 553 554# Uncalibrated gyroscope 555name = hw.sensors.gyroscope_uncalibrated 556type = boolean 557default = yes 558abstract = Uncalibrated gyroscope support 559description = Provides uncalibrated gyroscope sensor values. 560 561# Orientation sensor 562name = hw.sensors.orientation 563type = boolean 564default = yes 565abstract = Orientation support 566description = Provides orientation sensor values. 567 568# Temperature sensor 569name = hw.sensors.temperature 570type = boolean 571default = yes 572abstract = Temperature support 573description = Provides temperature sensor values. 574 575# Hinge angle sensor 576name = hw.sensor.hinge 577type = boolean 578default = yes 579abstract = Enalbe hinge angle sensor. 580 581name = hw.sensor.hinge.count 582type = integer 583default = 0 584abstract = Provides hinge angle sensor count. 585 586name = hw.sensor.hinge.type 587type = integer 588default = 0 589abstract = Provides hinge angle sensor type. 0 (horizontal) and 1 (vertical) 590 591name = hw.sensor.hinge.sub_type 592type = integer 593default = 0 594abstract = Provides hinge angle sensor sub type. 0 (invisible hinge, fold on screen) and 1 (hinge) 595 596name = hw.sensor.hinge.ranges 597type = string 598default = 599abstract = angel ranges for each hinge sensor, e.g., 0-360, 0-180 for two sensors. 600 601name = hw.sensor.hinge.defaults 602type = string 603default = 604abstract = default angel for each hinge sensor, e.g., 180, 90 for two sensors. 605 606name = hw.sensor.hinge.areas 607type = string 608default = 609abstract = hinge areas on the display, format is percentage_of_screen-width, e.g., 33.3-0, 66.6-10 for two sensors. Or x-y-width-height, e.g., 600-0-0-1200, 1200-0-10-1200 for two sensors. 610 611name = hw.sensor.posture_list 612type = string 613default = 614abstract = list of supported postures by index. 0: unknown, 1: closed, 2: half-open, 3: open, 4: flipped, 5: tent 615 616name = hw.sensor.hinge_angles_posture_definitions 617type = string 618default = 619abstract = angles ranges for each posture in posture_list. 620description = start-end angle pairs which define each posture. optionally, default angle may be specified for each posture, by providing a third value. default posture angle is used e.g. in quick-jump-to-posture buttons in UI. 621 622name = hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture 623type = integer 624default = 1 625abstract = set folded status at a certain posture, e.g, fold-out device, posture flipped 626 627name = hw.sensor.roll 628type = boolean 629default = no 630abstract = Enalbe rollable sensor. 631 632name = hw.sensor.roll.count 633type = integer 634default = 0 635abstract = rollable sensor count. 636 637name = hw.sensor.roll.radius 638type = string 639default = 640abstract = roll radious of display width or height. 641 642name = hw.sensor.roll.ranges 643type = string 644default = 645abstract = the pecentage of display width or height which is rollable. 646 647name = hw.sensor.roll.direction 648type = string 649default = 650abstract = rolling direction starting from open posture. 0: left-to-right or top-to-buttom, 1: right-to-left or bottom-to-top 651 652name = hw.sensor.roll.defaults 653type = string 654default = 655abstract = defaults percentage of display width or height which is rolled. 656 657name = hw.sensor.roll_percentages_posture_definitions 658type = string 659default = 660abstract = angles ranges for each posture in posture_list. 661 662name = hw.sensor.roll.resize_to_displayRegion.0.1_at_posture 663type = integer 664default = 6 665abstract = resize default display to display region 0.1 when rolling to a posture state 666 667name = hw.sensor.roll.resize_to_displayRegion.0.2_at_posture 668type = integer 669default = 6 670abstract = resize default display to display region 0.2 when rolling to a posture state 671 672name = hw.sensor.roll.resize_to_displayRegion.0.3_at_posture 673type = integer 674default = 6 675abstract = resize default display to display region 0.3 when rolling to a posture state 676 677# Heart rate sensor 678name = hw.sensors.heart_rate 679type = boolean 680default = yes 681abstract = Heart rate support 682description = Whether there is a heart rate sensor in the device 683 684# File system 685name = hw.useext4 686type = boolean 687default = yes 688abstract = Deprecated option. Ignored. 689description = Used to specify the Ext4 partition image type. This is now autodetected. 690 691# Chrome OS devices 692name = hw.arc 693type = boolean 694default = no 695abstract = Chrome OS device (App Runtime for Chrome) 696description = The emulated device is a Chrome OS machine. 697 698# Autologin for Chrome OS devices 699name = hw.arc.autologin 700type = boolean 701default = no 702abstract = Auto login for Chrome OS devices 703description = Used to enable auto login into Chrome OS devices 704 705# Feature flags 706name = hw.featureflags 707type = string 708default = 709abstract = Feature flags 710description = A comma-separated list of feature flags to enable or disable, such as 'Enabled,-Disabled'. 711 712# Kernel image. 713# 714# kernel.path specified the path to the kernel image 715# kernel.parameters specifies the string of kernel boot parameters. 716# 717name = kernel.path 718type = string 719default = 720abstract = Path to the kernel image 721description = Path to the kernel image. 722 723name = kernel.parameters 724type = string 725default = 726abstract = kernel boot parameters string. 727 728name = kernel.newDeviceNaming 729type = string 730enum = autodetect, yes, no 731default = autodetect 732abstract = Does the kernel require a new device naming scheme? 733description = Used to specify whether the kernel requires a new device naming scheme. Typically for Linux 3.10 and above. 734 735name = kernel.supportsYaffs2 736type = string 737enum = autodetect, yes, no 738default = autodetect 739abstract = Does the kernel supports YAFFS2 partitions? 740description = Used to specify whether the kernel supports YAFFS2 partition images. Typically before 3.10 only. 741 742# Path to the ramdisk image. 743name = disk.ramdisk.path 744type = string 745default = 746abstract = Path to the ramdisk image 747description = Path to the ramdisk image. 748 749# System partition image(s). 750# 751# disk.systemPartition.path points to the read/write system partition image. 752# if empty, a temporary file will be created, initialized with the content 753# of .initPath 754# 755# disk.systemPartition.initPath is only used when .path is empty. It must 756# then point to a read-only initialization system image file. 757# 758# disk.systemPartition.size is the ideal size of the system partition. The 759# size is ignored if the actual system partition image is larger. Otherwise, 760# it indicates the maximum size the disk image file can grow to. 761# 762name = disk.systemPartition.path 763type = string 764default = 765abstract = Path to runtime system partition image 766 767name = disk.systemPartition.initPath 768type = string 769default = 770abstract = Initial system partition image 771 772name = disk.systemPartition.size 773type = diskSize 774default = 0 775abstract = Ideal size of system partition 776 777# Vendor partition image(s). 778 779name = disk.vendorPartition.path 780type = string 781default = 782abstract = Path to runtime vendor partition image 783 784name = disk.vendorPartition.initPath 785type = string 786default = 787abstract = Initial vendor partition image 788 789name = disk.vendorPartition.size 790type = diskSize 791default = 0 792abstract = Ideal size of vendor partition 793 794# Path to the data partition. 795name = disk.dataPartition.path 796type = string 797default = <temp> 798abstract = Path to data partition file 799description = 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. 800 801# Initial path to the data partition. 802name = disk.dataPartition.initPath 803type = string 804default = 805abstract = Initial data partition 806description = If not empty, its content will be copied to the disk.dataPartition.path file at boot-time. 807 808# Data partition size. 809name = disk.dataPartition.size 810type = diskSize 811default = 0 812abstract = Ideal size of data partition 813 814# Path to the data partition. 815name = disk.encryptionKeyPartition.path 816type = string 817default = 818abstract = Path to encryption key partition file 819description = Path to encryption key partition file. Should be at least 16K bytes empty disk without any filesystem on it. 820 821# Path to the snapshots storage file. 822name = disk.snapStorage.path 823type = string 824default = 825abstract = Path to snapshot storage 826description = Path to a 'snapshot storage' file, where all snapshots are stored. 827 828# Is the AVD compatible with Google Play? 829name = PlayStore.enabled 830type = boolean 831default = no 832abstract = PlayStore 833description = Does the device supports Google Play? 834 835# Android AVD name 836# This is set automatically before launching a core. 837# 838name = avd.name 839type = string 840default = <build> 841abstract = Name of the AVD being run 842 843# Android AVD id 844# This is set automatically before launching a core. 845# 846name = avd.id 847type = string 848default = <build> 849abstract = ID of the AVD being run 850 851# Force cold boot 852# Don't use snapshots for quick booting but boot from scratch instead 853# 854name = fastboot.forceColdBoot 855type = boolean 856default = no 857abstract = Always use cold boot 858description = If set, AVD will always use the full cold boot instead of snapshot-based quick boot process 859 860 861# SDK Path used during generation of this hardware configuration 862name = android.sdk.root 863type = string 864default = 865abstract = sdk root that was used during the construction of this hardware.ini 866description = This can be used by post processing tools to migrate snapshots 867 868# AVD home used during generation of this hardware configuration 869name = android.avd.home 870type = string 871default = 872abstract = avd home that was used during the construction of this hardware.ini 873description = This can be used by post processing tools to migrate snapshots 874 875