Intel's HAXM equivalent for AMD on Windows OS
Asked Answered
I

11

40

Is there any equivalent of Intel's HAXM for AMD (Windows OS) or has anybody been able to hack HAXM to make it work on AMD processors (Windows OS)?

Also, would Genymotion (http://www.genymotion.com) be significantly faster compared to the default Google APIs ARM / x86 system images provided by Google?

My exact dev machine specs:

  • OS: Windows 7 Ultimate
  • Processor: AMD FX 8120 8 Core 2.81 GHz
Ianiana answered 12/8, 2014 at 11:41 Comment(0)
A
23

From the Android docs (March 2016):

Before attempting to use this type of acceleration, you should first determine if your development system’s CPU supports one of the following virtualization extensions technologies:

  • Intel Virtualization Technology (VT, VT-x, vmx) extensions
  • AMD Virtualization (AMD-V, SVM) extensions (only supported for Linux)

The specifications from the manufacturer of your CPU should indicate if it supports virtualization extensions. If your CPU does not support one of these virtualization technologies, then you cannot use virtual machine acceleration.

Note: Virtualization extensions are typically enabled through your computer's BIOS and are frequently turned off by default. Check the documentation for your system's motherboard to find out how to enable virtualization extensions.

Most people talk about Genymotion being faster, and I have never heard anyone say it's slower. I definitely think it's faster, and it will be worth the ~20 minutes it will take to set up just to try it.

Accent answered 12/8, 2014 at 11:50 Comment(9)
According to the documentation AMD is supported if it has "AMD Virtualization (AMD-V, SVM) extensions (only supported for Linux)" (developer.android.com/tools/devices/emulator.html)Weil
Thanks @NoBugs, I changed my answer and added the linkAccent
@Accent only supported for Linux is the key, so AMD processors aren't supported on Windows OS which is the issue I have.Sacrilegious
I expanded your answer with the relevant quote from the docs. I hope that's helpful.Medici
Unfortunately Genymotion requires a purchased license. :(Decreasing
Thank you @Rickard, you are the man! There is some additional info related to a possible workaround with Xamarin/Visual Studio that may help others.Revealment
Sad when a 3rd party company with much less resources than Google can build something for Google's stuff, that is significantly faster. What does this tell you about the Android team at Google ?Votary
"only supported for Linux", so, will it work if run a virtual on my windows, with Linux as guest?Yves
This is outdated info, check out @Cementum 's answer instead.Nauseous
C
26

Posting a new answer since it is 2019.

TLDR: AMD is now supported on both Windows and Linux via WHPX and yes, Genymotion is faster as it is using x86 architecture virtualization.

From the Android docs (January 2019):

Though we recommend using HAXM on Windows, it is possible to use Windows Hypervisor Platform (WHPX) with the emulator. You should use WHPX with the emulator if you are using an AMD CPU or if you need to use Hyper-V at the same time.

To use WHPX acceleration on Windows, you must enable the Windows Hypervisor Platform option in the Turn Windows features on or off dialog box. For changes to this option to take effect, restart your computer.

Additionally, the following changes must be made in the BIOS settings:

Intel CPU: VT-x must be enabled. AMD CPU: Virtualization or SVM must be enabled.

Diff from 2016:

Virtualization extension requirements

Before attempting to use acceleration, you should first determine if your CPU supports one of the following virtualization extensions technologies:

  1. Intel Virtualization Technology (VT, VT-x, vmx) extensions
  2. AMD Virtualization (AMD-V, SVM) extensions (only supported for Linux)

Most modern computers do. If you use an older computer and you're not sure, consult the specifications from the manufacturer of your CPU to determine if it supports virtualization extensions. If your CPU doesn't support one of these virtualization technologies, then you can't use VM acceleration.

Virtualization extensions are typically enabled through your computer BIOS and are frequently turned off by default. Check the documentation for your motherboard to find out how to enable virtualization extensions.

Cementum answered 8/1, 2019 at 11:22 Comment(1)
I have enabled the SVM in BIOS and the Hyper-V feature but when I try to create a new android virtual device the setup downloads the Intel's HAXM installer which fails and therefore my emulator starts but stays offline. I don't really know what to do in this situationLoudish
A
23

From the Android docs (March 2016):

Before attempting to use this type of acceleration, you should first determine if your development system’s CPU supports one of the following virtualization extensions technologies:

  • Intel Virtualization Technology (VT, VT-x, vmx) extensions
  • AMD Virtualization (AMD-V, SVM) extensions (only supported for Linux)

The specifications from the manufacturer of your CPU should indicate if it supports virtualization extensions. If your CPU does not support one of these virtualization technologies, then you cannot use virtual machine acceleration.

Note: Virtualization extensions are typically enabled through your computer's BIOS and are frequently turned off by default. Check the documentation for your system's motherboard to find out how to enable virtualization extensions.

Most people talk about Genymotion being faster, and I have never heard anyone say it's slower. I definitely think it's faster, and it will be worth the ~20 minutes it will take to set up just to try it.

Accent answered 12/8, 2014 at 11:50 Comment(9)
According to the documentation AMD is supported if it has "AMD Virtualization (AMD-V, SVM) extensions (only supported for Linux)" (developer.android.com/tools/devices/emulator.html)Weil
Thanks @NoBugs, I changed my answer and added the linkAccent
@Accent only supported for Linux is the key, so AMD processors aren't supported on Windows OS which is the issue I have.Sacrilegious
I expanded your answer with the relevant quote from the docs. I hope that's helpful.Medici
Unfortunately Genymotion requires a purchased license. :(Decreasing
Thank you @Rickard, you are the man! There is some additional info related to a possible workaround with Xamarin/Visual Studio that may help others.Revealment
Sad when a 3rd party company with much less resources than Google can build something for Google's stuff, that is significantly faster. What does this tell you about the Android team at Google ?Votary
"only supported for Linux", so, will it work if run a virtual on my windows, with Linux as guest?Yves
This is outdated info, check out @Cementum 's answer instead.Nauseous
S
8

You will need to create a virtual device that runs on ARM. Virtual devices running on X86 require an Intel processor. AMD support as specified by Android is only available for Linux systems. If you want a better experience when creating your Virtual Device, use "Store a snapshot for faster startup" instead of the default "Use Host GPU".

Selemas answered 14/8, 2015 at 0:26 Comment(2)
This is not correct. I am running an AMD FX-8350, and AVD Manager told me "Your CPU does not support required features (VT-x or SVM)", until I enabled "Windows Hypervisor Platform" in "Windows Features" (Under Control Panel -> Turn Windows features on or off). Virtual Android devices run quickly and without issue for me.Coveney
@AdamHowell Thanks your suggestion helped me solve this problemVallo
S
7

https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html

Important

If you have an AMD processor in your computer you need the following setup requirements to be in place: AMD Processor - Recommended: AMD® Ryzen™ processors Android Studio 3.2 Beta or higher - download via Android Studio Preview page Android Emulator v27.3.8+ - download via Android Studio SDK Manager x86 Android Virtual Device (AVD) - Create AVD Windows 10 with April 2018 Update Enable via Windows Features: "Windows Hypervisor Platform"

Sarah answered 6/11, 2018 at 14:29 Comment(0)
C
2

Buying a new processor is one solution, but for some of us that means buying other components as well. Alternatively you could just buy an Android phone that supports your lowest target API level and run your apps off the phone. You can find some of those phones on Amazon, Ebay, craigslist for pennies (sometimes). Plus this grants you the benefit of actually running on the minimum hardware you intend to support. While this may be a bit slower than installing your app on an emulated system, it will probably save you money.

Android, device testing/debugging link: http://developer.android.com/tools/device.html

Cleland answered 24/10, 2014 at 11:38 Comment(3)
Does not answer the question.Melodist
Sorry my answer didn't help you. Depending on how you came about this thread however it is exactly what you needed to see. Testing against actual hardware that one's users will be executing against is extremely important (I think it might even say that in the link in my answer). Furthermore, when a new processor is required virtualization isn't even the good option anymore. It was presented as an alternative to a potentially much more expensive option (which does actually solve the problem by making it no longer a problem).Cleland
You can read @Accent answer... AMD cpu (with Linux) is supported but not Windows. It has nothing to do with buying new processor but simply Google stubbornness & laziness to do such thing. ^^Melodist
H
2

hello to run the avd manager on AMD processor you need update your SDK MANAGER in Android Studio: https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html

You go to tools->SDK MANAGER->SDK Tools

then look for Android Emulator and Android Emulator Hypervisor Driver for AMD Processors

check the boxes and click apply or OK

Husserl answered 2/2, 2020 at 13:13 Comment(0)
R
1

This limitation (of Windows) should be publicly announced! The issue for me is the combination of the following: Windows 10 + AMD CPU (with AMD-V/SMV) +/- Hyper Visor

I have no issues running: Intel (with VT-x) + Linux or AMD (with AMD-V) + Linux

Link to Android studio issue here:

https://developer.android.com/studio/run/emulator.html#accel-vm

Xamarin/Visual Studio seems to have a workaround, but I haven't tested it yet:

If you need to use Hyper-V for other emulators then I'd recommend using the Microsoft Android Emulator instead, which uses Hyper-V and can also be used with Xamarin Studio/Visual Studio. You can download it for free from here.

I will update this after I confirm it works. Wish I would have known this before purchasing a new machine.

UPDATE!! It does not work "Requires Intel ..." error message is shown

Final note:

*Must be revision F3 or grater or must be F2 with BIOS support. Presence or absence of SVM Disable or other virtualization options in the bios does not ensure presence of BIOS support. You should contact the OEM to ensure support of Hyper-V.

*Some AMD BIOS's have options to enable/disable SVM (virtualization assistance)

*Some BIOS's list this as SVM Disable and it's a double negative, i.e. you want to disable SVM disable to enable SVM.

*Some BIOS's list this as Secure Virtualization, thus enabling Secure Virtualization will enable SVM

*Must have No-Execute enabled in the BIOS, sometime this is referred to as NX or Execute Disable

*If you want to find CPU's that are F3 see AMD's guide http://products.amd.com/en-us/DesktopCPUFilter.aspx or http://products.amd.com/en-us/OpteronCPUFilter.aspx?f1=Second-Generation+AMD+Opteron%e2%84%a2

Revealment answered 19/4, 2017 at 21:1 Comment(1)
I <3 when a standard exists inconsistently. Also, if you use speccy, it will show you the instructions your CPU supports and has enabled while in Windows. The linux version of Android Studio is extremely buggy (crashes/etc), so this stinks of pushing developers to use Intel instead of AMD, even though AMD is more than capable. A bit rudimentary, but try something like Basic4Android instead.Votary
V
1

Posting a new answer since it is (almost) 2020.

The Android Emulator still only supports HAXM or WHPX on windows. And you may even call it a day already with the latter.

But if you don't like it, there is now work in progress AMD-V support for the former by one of the PS4 emulator developers: https://github.com/jarveson/haxm/tree/svm

Vying answered 18/12, 2019 at 20:49 Comment(1)
There now is Android Emulator Hypervisor Driver for AMD Processors.Inspiratory
I
1

Now there is another alternative: Android Emulator Hypervisor Driver for AMD Processors on Windows

Before you can install and use the Android Emulator Hypervisor Driver for AMD Processors, your computer must meet the following requirements:

  • AMD processor with Secure Virtual Machine (SVM) Technology
  • 64-bit Windows 10, Windows 8, or Windows 7 (32-bit Windows is not supported)
  • To use Android Emulator Hypervisor Driver for AMD Processors on Windows 10 or 8, you must turn off Hyper-V in the Windows Feaures Dialog.
    Note: Installing certain software might turn Hyper-V back on. Refer to Disabling Hyper-V for more details.
Inspiratory answered 29/4, 2021 at 12:17 Comment(0)
V
0

On my Mobo (ASRock A320M-HD with Ryzen 3 2200G) I have to:

SR-IOV support: enabled
IOMMU: enabled
SVM: enabled

On the OS enable Hyper V.

Vivien answered 6/4, 2020 at 15:35 Comment(0)
A
0

I have AMD ryzen processor. This worked for me.

  1. Go to boot menu.
  2. Go to advanced settings.
  3. Enable SVM.
  4. Make UVM to auto.
  5. Save and exit.
Alford answered 29/5, 2021 at 12:27 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.