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
Win7
configuration ensures the driver is compatible with Windows 7 and later. - The
Debug
configuration also signs the driver with a test certificate. TheRelease
configuration does not do that. - Use
Win32
instead ofx64
to build a 32-bit driver that works on 32-bit Windows. - Add
/t:rebuild
for 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
-sdk
to 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 secure@intel.com, and use the PGP key located at https://www.intel.com/security to encrypt any sensitive information.