Installation Instructions for Intel® Hardware Accelerated Execution Manager - Microsoft Windows*

Introduction

This document will guide you through installing the Intel® Hardware Accelerated Execution Manager (Intel® HAXM), a hardware-assisted virtualization engine (hypervisor) that uses Intel® Virtualization Technology (Intel® VT) to speed up Android* development.

Prerequisites

Intel HAXM requires the Android* SDK to be installed (version 17 or higher). For more information, refer to the Android* developer website (http://developer.android.com/sdk/).

System Requirements

Hardware Requirements:

  • Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality
  • At least 1 GB of available RAM

Supported Operating Systems:

  • Microsoft Windows* 8 and 8.1 (32/64-bit)
  • Microsoft Windows* 7 (32/64-bit)
  • Microsoft Windows Vista* (32/64-bit)

Important: Intel HAXM cannot be used on systems without an Intel processor, or with an Intel processor that lacks the hardware features described in the "Hardware Requirements" section above.
To determine the capabilities of your Intel processor, visit http://ark.intel.com/
Additionally, Intel HAXM can be used only with Android* x86 emulator images provided by Intel.
Intel HAXM cannot be used with ARM* Android* emulator images or non-Intel x86 Android* emulator images.

Downloading Intel® HAXM

Overview
Intel HAXM can be installed either through the Android* SDK Manager (recommended), or manually, by downloading the installer from Intel’s website.
Note: Intel HAXM does not currently check for updates automatically. To get the latest version, download the Intel HAXM package using the Android* SDK Manager (recommended) or from the Intel® Developer Zone Android* developer site.

Downloading Manually

  1. Go to http://software.intel.com/en-us/android.
  2. Choose the Intel HAXM installer package for your platform.
  3. Extract the installer and follow installation instructions for your platform.

Downloading through Android* SDK Manager

  1. Start the Android* SDK Manager.
  2. Under Extras, check the box next to "Intel x86 Emulator Accelerator (HAXM)."
  3. Click the "Install package…" button.
  4. Review the Intel Corporation license agreement. If you accept the terms, select Accept and click Install.
  5. The SDK Manager will download the installer to the "extras" directory, under the main SDK directory. Even though the SDK manager says "Installed" it actually means that the Intel HAXM executable was downloaded. You will still need to run the installer from the "extras" directory to get it installed.
  6. Extract the installer inside the "extras" directory and follow the installation instructions for your platform.

Installing Intel® HAXM on Windows*

Warning: Intel HAXM installation will fail if your system does not meet the system requirements, including support for Intel processor features, such as Intel Virtualization Technology (Intel VT).

  1. Download the installer package from http://software.intel.com/en-us/android or using the SDK manager.
  2. Run the installer (and accept the UAC prompt, if applicable).
    1. If an older version Intel HAXM is already installed, you will see a notification dialog:


      Click "Yes" to upgrade Intel HAXM, or click "No" to exit the installation and keep the currently installed version of Intel HAXM.

    2. You will see a welcome screen:

      Note: You can access the documentation at any time by clicking Intel HAXM documentation

  3. Click "Next"
  4. You will be prompted to adjust the amount of RAM allocated to Intel HAXM:

    Note: The installer also functions as a configuration tool for Intel HAXM. To change memory settings, run the installer again.

  5. The next screen confirms your Intel HAXM memory allocation settings:
  6. When the Intel HAXM installation is finished, click Finish to exit the installer.
    Intel HAXM is now installed and ready to use.

To verify that Intel HAXM is running, open a Command Prompt window and execute the following command:

sc query intelhaxm

If Intel HAXM is working, the command will show a status message indicating that the state is: "4 RUNNING".
To stop or start Intel HAXM, use these commands:
Stop:

sc stop intelhaxm

Start:

sc start intelhaxm

Adjusting Intel® HAXM Memory Allocation

To change the amount of memory allocated to Intel HAXM, run the installer again.

Removing Intel HAXM

Warning: Close all instances of the Android* x86 emulator before removing Intel HAXM. HAXM cannot be removed while in use.

To uninstall Intel HAXM, run the installer again or use the Control Panel.

Important: Removing Intel HAXM will disable acceleration of all Intel® x86 Android* emulators. Existing Android* Virtual Devices might have trouble functioning properly.

Installing Intel HAXM again will re-enable Android* emulator acceleration.

Using Intel® HAXM

Intel HAXM requires an Android* x86 system image provided by Intel. These images can be downloaded through the Android* SDK manager or manually from the Intel Developer Zone website.

Intel x86 Android* emulator images will automatically be executed using the "emulator-x86" binary, provided with the Android* SDK. If Intel HAXM is installed and working, emulation will be accelerated by Intel HAXM (using Intel Virtualization Technology).

Troubleshooting

Intel HAXM requires an Android* x86 system image provided by Intel. These images can be downloaded through the Android* SDK manager or manually from the Intel® Developer Zone website.

Execute Disable Bit capability error

When installing Intel HAXM, you may encounter an error regarding Execute Disable Bit support.
This error message can be triggered by the following conditions:

  • Execute Disable Bit is not supported by your computer’s processor.
  • Execute Disable Bit is not enabled.

Execute Disable Bit is not supported

Intel HAXM requires an Intel processor with Execute Disable Bit functionality and cannot be used on systems lacking this hardware feature. To determine the capabilities of your Intel processor, visit http://ark.intel.com/.

Execute Disable Bit is not enabled

In some cases, Execute Disable Bit may be disabled in the system BIOS and must be enabled within the BIOS setup utility. To access the BIOS setup utility, a setup key must be pressed during the computer’s boot sequence. This key is dependent on which BIOS is used but it is typically the F2, Delete, or Esc key. Within the BIOS setup utility, Execute Disable Bit may be identified by the terms "XD", "Execute Disable", "No Execute", or "Hardware DEP", depending on the BIOS used.

Windows* hosts may need to enable DEP (Data Execution Prevention) in addition to Execute Disable Bit, as described in this Microsoft* KB article: http://support.microsoft.com/kb/875352.

For specific information on entering BIOS setup and enabling Execute Disable Bit, please contact your hardware manufacturer.

Intel Virtualization Technology (Intel VT-x) capability

When installing Intel HAXM, you may encounter an error regarding Intel VT-x support.
This error message can be triggered by the following conditions:

  • Intel VT-x is not supported by your computer’s processor
  • Intel VT-x is not enabled

Intel VT-x is not supported

Intel HAXM requires an Intel processor with Intel VT-x functionality and cannot be used on systems lacking this hardware feature. To determine the capabilities of your Intel processor, visit http://ark.intel.com/.

Intel VT-x not enabled

In some cases, Intel VT-x may be disabled in the system BIOS and must be enabled within the BIOS setup utility. To access the BIOS setup utility, a key must be pressed during the computer’s boot sequence. This key is dependent on which BIOS is used but it is typically the F2, Delete, or Esc key. Within the BIOS setup utility, Intel VT may be identified by the terms "VT", "Virtualization Technology", or "VT-d." Make sure to enable all of the Virtualization features.

For specific information on entering BIOS setup and enabling Intel VT, please contact your hardware manufacturer.

Tips and Tricks

Below are some recommendations to get the best experience out of the Android* emulator using the Intel HAXM driver.

  • Enable the GPU acceleration in the AVD Manager for your image. The HAXM driver executes most CPU instructions natively through Intel Virtualization Technology in the processor and the GPU acceleration offloads the OpenGL* calls to the host GPU.
  • Launch the emulator from the command line to get more verbose output.
    • Use the following command to launch the emulator:
      emulator-x86 –avd <avd name> -partition-size 1024 –gpu on -verbose
    • A partition-size of 1024 allows 1 GB of apps to be installed. This is different from the SDCard size option in the AVD manager, which specifies how much storage for storing Media files is allotted inside of the emulator. Setting the GPU to on will provide better graphics performance.
  • Make sure the "Path" environment variable to the GPU emulation libraries is set either in Control Panel > System > Advanced System Settings > Environment Variables or set it manually each time a new command prompt is launched. Setting it manually is recommended if you are using multiple SDK installs. The <sdk install location> below typically refers to "c:\Users\<your username>\android-sdk"
    set PATH=%PATH%;<sdk install location>\tools\lib
  • When installing Intel HAXM, set the driver to use half of the available RAM in the system. For example, if your system has 6 gigs of installed memory then use 3 gigs for the Intel HAXM driver. This allows a good balance of memory for the HAXM driver as compared to the system memory.
  • When creating the image it is not recommended to set the “Device ram size” larger than 768 MB.
  • Sometimes, when booting an image for the first time, it will appear to be hung at the boot screen. The boot process is completed but the home screen is not being shown. Click on the home button on the emulator to show the home screen.
  • If performance issues are seen on Windows 8 and 8.1 it is recommended to disable Hyper-V.
  • More command line options for booting the emulator are located at the Android* developer website.

Changelog

  • Add 64 bit Guest Support - Able to boot 64 bit Kernel and User space
For more complete information about compiler optimizations, see our Optimization Notice.

Comments



I am trying to install the

I am trying to install the HAXM driver on a Windows 7 64-bit machine. The Processor is a Xeon 3530 and I have VT-x and XD enabled in the BIOS. The Setup Wizard fails with an error of "Failed to configure driver: unknown error. Failed to open driver."

The log is:
13.12.2012 16:58:06 : 584 : Start
13.12.2012 16:58:06 : 584 : Web Image Build Info: Package ID: w_wi_p_2.0.0.002 , Apr 9 2012 10:02:19
13.12.2012 16:58:06 : 584 : === Parse Command Line ===
13.12.2012 16:58:06 : 584 : Command Line: "E:\Dev\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager\IntelHaxm.exe" -l log.txt
13.12.2012 16:58:06 : 584 : === Load default configuration ===
13.12.2012 16:58:06 : 584 : InitLCID: UserDefaultLCID: 1033
13.12.2012 16:58:06 : 584 : SetZipArchiveFileName: E:\Dev\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager\IntelHaxm.exe
13.12.2012 16:58:06 : 584 : SetExtractFolder: C:\Program Files (x86)\Intel\Download\HAXM\1.0.1
13.12.2012 16:58:06 : 584 : SetAppToLaunchAfterExtracting: setup.exe
13.12.2012 16:58:06 : 584 : SetSupportedLCIDs: 1033
13.12.2012 16:58:06 : 584 : SetSupportedLCIDs: current LCID: 1033
13.12.2012 16:58:06 : 584 : SetHideExtractFolderDialog: 1
13.12.2012 16:58:06 : 584 : SetRemoveExtractedFiles: 0
13.12.2012 16:58:06 : 584 : SetRemoveExtractedFilesShowCheckbox: 1
13.12.2012 16:58:06 : 584 : SetAppGUIMode: Interactive Simple GUI mode
13.12.2012 16:58:06 : 584 : SetProductName: Intel® Hardware Accelerated Execution Manager
13.12.2012 16:58:06 : 584 : === Save Configuration from Command Line ===
13.12.2012 16:58:06 : 584 : === Open and Verify Archive ===
13.12.2012 16:58:06 : 584 : Archive is correct zip package
13.12.2012 16:58:06 : 584 : Archive is not corrupted
13.12.2012 16:58:06 : 584 : Uncompressed size of archive content is 3656800
13.12.2012 16:58:06 : 584 : Max path length of archive content is 13
13.12.2012 16:58:06 : 584 : === Start Interactive Simple GUI Extracting ===
13.12.2012 16:58:06 : 584 : Verify Extract folder: C:\Program Files (x86)\Intel\Download\HAXM\1.0.1
13.12.2012 16:58:06 : 584 : Extract folder is correct
13.12.2012 16:58:06 : 584 : Verify free disk space for: C:\Program Files (x86)\Intel\Download\HAXM\1.0.1
13.12.2012 16:58:06 : 584 : Free disk spase: 119048830976 ; Required disk space (size of content + buffes in 1 MB for log file): 4705376
13.12.2012 16:58:06 : 584 : Free disk space is enough
13.12.2012 16:58:06 : 584 : SetExtractFolder: C:\Program Files (x86)\Intel\Download\HAXM\1.0.1
13.12.2012 16:58:06 : 4708 : Extracting started
13.12.2012 16:58:06 : 4708 : Extracting: C:\Program Files (x86)\Intel\Download\HAXM\1.0.1\hax.msi
13.12.2012 16:58:06 : 4708 : WARNING : File exists. Overwriteing it. : C:\Program Files (x86)\Intel\Download\HAXM\1.0.1\hax.msi
13.12.2012 16:58:06 : 4708 : Extracting: C:\Program Files (x86)\Intel\Download\HAXM\1.0.1\hax64.msi
13.12.2012 16:58:06 : 4708 : WARNING : File exists. Overwriteing it. : C:\Program Files (x86)\Intel\Download\HAXM\1.0.1\hax64.msi
13.12.2012 16:58:06 : 4708 : Extracting: C:\Program Files (x86)\Intel\Download\HAXM\1.0.1\setup.exe
13.12.2012 16:58:06 : 4708 : WARNING : File exists. Overwriteing it. : C:\Program Files (x86)\Intel\Download\HAXM\1.0.1\setup.exe
13.12.2012 16:58:06 : 4708 : Extracting: C:\Program Files (x86)\Intel\Download\HAXM\1.0.1\setup64.exe
13.12.2012 16:58:06 : 4708 : WARNING : File exists. Overwriteing it. : C:\Program Files (x86)\Intel\Download\HAXM\1.0.1\setup64.exe
13.12.2012 16:58:06 : 4708 : Extracting finished successfully
13.12.2012 16:58:06 : 584 : === Launch Setup.exe ===
13.12.2012 16:58:06 : 584 : Setup.exe : C:\Program Files (x86)\Intel\Download\HAXM\1.0.1\setup.exe
13.12.2012 16:58:06 : 584 : Command line :
13.12.2012 16:58:06 : 584 : Working Dir : C:\Program Files (x86)\Intel\Download\HAXM\1.0.1
13.12.2012 16:58:06 : 584 : C:\Program Files (x86)\Intel\Download\HAXM\1.0.1\setup.exe was launched
13.12.2012 16:58:06 : 584 : Child window was NOT found
13.12.2012 16:58:07 : 584 : Child window was NOT found
13.12.2012 16:58:08 : 584 : Child window was NOT found
13.12.2012 16:58:09 : 584 : Child window was NOT found
13.12.2012 16:58:10 : 584 : Child window was NOT found
13.12.2012 16:58:11 : 584 : Child window was NOT found
13.12.2012 16:58:12 : 584 : Child window was NOT found
13.12.2012 16:58:13 : 584 : Child window was NOT found
13.12.2012 16:58:14 : 584 : Child window was NOT found
13.12.2012 16:58:15 : 584 : Child window was NOT found
13.12.2012 16:58:16 : 584 : Waiting end of child process...
13.12.2012 16:58:19 : 584 : Return Code of child process: 0
13.12.2012 16:58:19 : 584 : Setup.exe was launched
13.12.2012 16:58:19 : 584 : Finish
13.12.2012 16:58:19 : 584 : Return Code: 0

Any help would be appreciated.


The current Intel HAXM software downloaded through the Android SDK is to be found under extras/intel, not tools.



Hi, after updating to Intel HAXM rev.2 via Android SDK Manager I am getting:

Download finished with wrong size. Expected 1730322 bytes, got 2312969 bytes.
Done. Nothing was installed.

It seems in the repositories is probably info about the previous version....

Is there a possibility to download it from elsewhere? (The previous version had issues with VirtualBox - it grabbed VT extensions)


hello sir i have downloaded intel haxm drivers but when i install them they say the vt is not enabled so what to do and how to enable vt



This is good news. Will this also have performance improvement for direct Hardware phone development or just on emulator?

Going to upgrade to SDK r17 :)


You will need to do two steps to get Android SDK r17 and make it work for HAXM:
1. Go to: http://tools.android.com/download/adt-17-preview to download r17 preview and install it per Google instruction
2.Start Eclipse, then Window--> Android SDK Manager --> Select Intel® Hardware Accelerated Execution Manager under Extras and install it.


Pages