Android emulator system images and AMD processor - android

I use AMD FX X6 6300 type processor. (it supports virtualization and my BIOS setting is ON)
I installed "Intel x86 Emulator Accelerator". When I tried to run Intel accelerator setup, I get that setup is unable to install. (error was virtualization)
SDK Manager has these system images options:
Android 4.2.2
Intel x86 Atom System Image
ARM EABI v7a System Image
MIPS System Image
So does it make sense to download Intel x86 system image ? Or is it useless without installing HAXM ?
Should I download ARM or MIPS images ? What would you recommend for emulator system images for an AMD processor ?
Or the only option is using snapshots?

According to the Android documentation for the emulator, the x86 image specifically requires an Intel processor. When they say:
...Virtual machine acceleration for Windows requires the installation of the Intel Hardware Accelerated Execution Manager (Intel HAXM). The software requires an Intel CPU with Virtualization Technology (VT) support...
They are referring not just to supporting "Virtualization", but to a specific set of processor extensions only available on recent Intel processors.
Use the ARM system image. It will get the job done, it just won't feel like you are running a native Android system.

As mentionned, HAXM won't work on non-intel CPUs.
So the X86 image won't be any faster than the ARM one (at least, in my experience on an AMD Phenom X6.)
An speedier alternative is to use GenyMotion.
It is free for personal use
An order of magnitude faster than the built-in android emulator.
It integrates nicely with ADT (Eclipse) once you follow the detailed user guide

I bumped into the same problem with after Windows 10 October update (1809) with my AMD Ryzen 7 2700 CPU.
There is the full solution tested on 3-Oct-2018:
Get latest Windows 10 update. (You can check your windows version by right click the left bottom corner window button, then select System) Currently, the October update (1809) won't download automatically, you have to download from here
Search "Turn windows features on or off", and check the "Windows Hypervisor Platform" (this option only appears when your Windows on version 1803 or higher)
IMPORTANT: Turn on AMD SVM! This option should be in somewhere under your BIOS menu. If your motherboard doesn't support AMD SVM, don't waste time, your computer doesn't support hardware acceleration for now.
For my Gigabyte B450 Aorus PRO Wifi with BIOS version F2, it's under:
Restart computer, click "Delete" button to open BISO menu, M.I.T. -> Advanced Frequency Settings -> Advanced CPU Core Settings -> SVM mode -> Enabled (This varied based on different motherboard manufactures)
Check your Android Studio version. The latest stable version works (3.2.1 when written)
Check your Android Emulator version. The latest stable version works (28.0.16 when written)
Now you should able to create a virtual device with a recommended system image, Oreo 27 x86 Android 8.1 (Google Play) works.
Under "Verify Configuration", you will see "Emulated Performance" -> "Graphics" is set to "Automatic" and cannot be changed, but it's OK, you emulator should still run.
If you like to use graphics hardware acceleration (Hardware - GLES 2.0), go to x86 Images, and select an ABI with x86_64 architecture.
NOTE: Do NOT install "Intel x86 Emulator Accelerator (HAXM installer)". The installation will fail, and you don't need it for AMD CPU at all!

Android Emulator - AMD Processor & Hyper-V Support in Windows 10.
You need the following setup requirements to be in place:
1. Android Emulator v27.3.8+ - download via Android Studio SDK Manager.
2. x86 Android Virtual Device (AVD) - Create AVD.
3. Windows 10 Update.
4. Enable via Windows Features: "Windows Hypervisor Platform"
Select - Windows Hypervisor platform
Note: Enable via Windows Features: "Hyper-V" - Only available for Windows 10 Professional/Education/Enterprise

Related

Android Emulator not running on AMD Ryzen 2400G

I tried to use the "Android Virtual Device Emulator" on my Windows-PC using a AMD Ryzen 2400G and Windows 10 Professional. I activated the Windows-Hypervisor-Platform, restarted my PC and Android Studio, but it still says "x86 emulation currently requires hardware acceleration". How can I install the hardware acceleration using an AMD Processor?
In order to run the Android Emulator with an AMD processor you need to do the following, according to Google
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)
Windows 10 with April 2018 Update (version 1803)
Enable "Windows Hypervisor Platform" via Windows Features: Search for Turn Windows features on or off and check this option, which is present in all Windows editions, including Home edition starting from version 1803. This term can be confused with Hyper-V, but they are different things. You only need to turn the former on in order to use the emulator.
I followed all these steps in my HP Envy X360 with AMD Ryzen 7 2700U and was still getting the "emulation currently requires hardware acceleration" error. What fixed it for me was turning on "Virtualization" in my BIOS settings. It may have another name in other BIOS systems, but apparently you need to turn the setting that allows virtualization on as a final step.
FYI, it's usable but laggy in my system (256 GB SSD + 8 GB RAM). I wouldn't use it for everyday work, only for some sort of emergency case. I'd suggest to stick to a physical device when possible, if you have similar specs.
I had all the requirements listed by schv09, like good versions and virtualization and Windows Hypervisor Platform enabled, but Android Emulator did not work for me either with Ryzen 5 1600. I updated Windows 10 from version 1803 to latest 1903, and now it works. I can't tell what has changed.

(AMD using Windows & Android Studio) ERROR: x86 emulation currently requires hardware acceleration

This is my experience to the apparent update for users with AMD based computers on July 9, 2018.
https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html
To start, I'm using a Ryzen 1700x and Windows 10 Pro that just finished it's round of windows updates yesterday.
I think I followed everything to the letter but it continues to display that error.
10:40 PM Emulator: emulator: ERROR: x86 emulation currently requires
hardware acceleration!
https://i.imgur.com/Rdm7CyH.png
I'm currently using Android Studio 3.2.1 and Android Emulator 27.3.10
https://i.imgur.com/TTtbHu0.png
I made sure AMD's virtualization option "SVM Mode" was enabled in BIOS.
https://i.imgur.com/8ouqmxb.jpg
I have tried enabling BOTH Hyper-V and Windows Hypervisor Platform. I have since disabled Hyper-V since it isn't a requirement, but kept Windows Hypervisor Platform enabled as listed. Either way, it still doesn't work.
https://i.imgur.com/d3Y79NK.png
https://i.imgur.com/vyzpQck.png
I have also tried downloading the Canary build 3.3. Still nothing.
I have also tried completely uninstalling my Android Studio, re-downloading and re-installing it. Still nothing.
Any ideas??
The following answer is not mine, It was taken from this question:
Run Android studio emulator on AMD processor
Go to this URL and give him appropriate credit to Jorge Valdés.
To solve this problem you have to install the and Android OS for another chip different from the x86 architecture, to do this follow this instruction:
-Create Virtual Device
-Choose any hardware
-Now in system image you need to click on the "Other Images" tab
-Select an image to install. IMPORTANT: Notice that for AMD in the "ABI" column it has to say: ARM EABI v7a or ARM 64 v8a
-Install it and restart Android Studio
I did try and It works.

Android Studio emulator minimum CPU requirement

I used to have HP Pro Book 4320s(2010 laptop) and I downloaded Android Studio with no problems. However when I tried to run emulator, Android Studio said CPU is too old to support emulator. So, what is minimum requirement for emulator?
Also if you can't run emulator, would real device be able to run an app regardless CPU or something?
In order to run the emulator, you need to have a CPU that supports HAXM, Intel VT-x, or AMD-V for virtualization. Processors like i3,i5,i7 and recent AMD processors have that support.
Yes, you can run the app on a physical device regardless of the CPU.
If getting access to a physical device is challenging, then I suggest checking out the Firebase Testlab . You can test your app in the cloud and see if it runs, quite cool.
Please have a look of below content according to android official documentation. I hope it will help you
The Android Emulator has additional requirements beyond the basic system requirements for Android Studio:
SDK Tools 26.1.1 or higher
64-bit processor
Windows: CPU with UG (unrestricted guest) support
HAXM 6.2.1 or later (HAXM 7.2.0 or later recommended)
The use of hardware acceleration has additional requirements on Windows and Linux:
Intel processor on Windows or Linux: Intel processor with support for Intel VT-x, Intel EM64T (Intel 64), and Execute Disable (XD) Bit functionality
AMD processor on Linux: AMD processor with support for AMD Virtualization (AMD-V) and Supplemental Streaming SIMD Extensions 3 (SSSE3)
AMD processor on Windows: Android Studio 3.2 or higher and Windows 10 April 2018 release or higher for Windows Hypervisor Platform (WHPX) functionality
To work with Android 8.1 (API level 27) and higher system images, an attached webcam must have the capability to capture 720p frames.
https://developer.android.com/studio/run/emulator

Which System Images Should I Install for Android L Developement?

I want to Have an Android L Emulator in my AVDs , I used to use Genymotion for android developement,
but till now genymotion doesn't supports android L.
I'm using Windows 8.1 x64 ,an Intel Processor, and HAXM Installed.
Which system Images should i Download and Use ?
What's The Differences between :
Intel x86 Atom_64 System Image
Google APIs Intel x86 Atom_64 System
Image
Should i download both for this Purpose?
I want an Emulator Which is Fast as Possible that Supports Google API too.
Thanks Alot.
If your processor is Intel and supports hardware virtualization, use an Intel x86 Atom Image and install Intel x86 Emulator Accelarator (HAXM installer) under Extras.
However, you still need to manually install the HAXM after downloading it. Go to C:\Program Files (x86)\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager and run intelhaxm-android.exe
And don't forget to check "Use host GPU" as previously suggested.
Both are full images, the Google APIs one isn't an add-on.
The only difference between the two is the support for Google APIs that is only in 2., both 64bit images are as fast.
You should tick "Use host GPU" setting instead of Snaphost as Snapshot will save you start time but the emulator will be overall slower.

Intel's HAXM equivalent for AMD on Windows OS

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
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:
Intel Virtualization Technology (VT, VT-x, vmx) extensions
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.
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.
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".
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"
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
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
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
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
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.
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.
I have AMD ryzen processor. This worked for me.
Go to boot menu.
Go to advanced settings.
Enable SVM.
Make UVM to auto.
Save and exit.

Categories

Resources