HAXM is a hardware-assisted virtualization engine (hypervisor) that uses Intel Virtualization Technology to speed up IA (x86/ x86_64) emulation on a host machine running Windows or macOS. It started as an Android SDK component, but has recently transformed itself into a general accelerator for QEMU.
HAXM can be built as either a kernel-mode driver for Windows or a kernel extension for macOS.
Prerequisites:
-
Alternatively, install all of the following instead of EWDK 10:
- Visual Studio 2015
- Windows Driver Kit (WDK) for Windows 10
- Windows SDK for Windows 10
Build steps:
cd X:\path\to\EWDK\LaunchBuildEnv.cmd- Or, if Visual Studio 2015 is installed, launch Developer Command Prompt for VS2015 from Start > All apps > Visual Studio 2015 instead.
cd X:\path\to\haxm\msbuild HaxmDriver.sln /p:Configuration="Win7 Debug" /p:Platform="x64"- The
Win7configuration ensures the driver is compatible with Windows 7 and later. - The
Debugconfiguration also signs the driver with a test certificate. TheReleaseconfiguration does not do that. - Use
Win32instead ofx64to build a 32-bit driver that works on 32-bit Windows. - Add
/t:rebuildfor a clean rebuild instead of an incremental build.
- The
If successful, the driver binary (IntelHaxm.sys) will be generated in
X:\path\to\haxm\obj\out\win7\x64\ (or X:\path\to\haxm\obj\out\win7\x86\ if
Platform="Win32").
Prerequisites:
- Xcode 7.2.1 or later
- OS X 10.9 SDK (archived here)
Build steps:
cd /path/to/haxm/cd darwin/hax_driver/com_intel_hax/xcodebuild -config Release- Use
-sdkto override the default macOS SDK version (10.9), e.g.-sdk macosx10.12.
- Use
If successful, the kext (intelhaxm.kext/) will be generated in
/path/to/haxm/darwin/hax_driver/com_intel_hax/build/Release/.
You are welcome to file a GitHub issue if you discover a general HAXM bug or have a feature request.
However, please do not use the GitHub issue tracker to report security vulnerabilities. If you have information about a security issue or vulnerability with HAXM, please send an email to [email protected], and use the PGP key located at https://www.intel.com/security to encrypt any sensitive information.