HAXM not working on Linux - android

Here we go for GingerBread:
http://software.intel.com/en-us/blogs/2012/03/12/how-to-start-intel-hardware-assistedvirtualization-hypervisor-on-linux-to-speed-up-intel-android-x86-gingerbread-emulator/
Any updates for ICECream sandwich or Kitkat? Helpful answers are highly appreciated!!

HAXM is only needed on Windows and OS X. On Linux, you need to have KVM installed.
See the "Configuring VM Acceleration on Linux" section on:
https://developer.android.com/studio/run/emulator-acceleration#vm-linux
Just download x86 based system images in the SDK Manager, then start the AVD, KVM will be auto-detected and used automatically if your machine/system supports it.

As already mentioned by #Digit, you do not need HAXM on Linux but KVM.
Although the links in the other answers give a comprehensive answer, for those who like it short, on my Ubuntu, this was just enough:
sudo apt-get install kvm

KVM has to be enabled by inserting the kernel module:
sudo modprobe kvm-intel
How to Start Intel Hardware-assisted Virtualization (hypervisor) on Linux to Speed-up Intel Android x86 Emulator might help; verbose output is also useful for testing:
emulator -avd ... -verbose
should log something like:
emulator: CPU Acceleration: working
emulator: CPU Acceleration status: KVM (version 12) is installed and usable.
the qemuhowto states:
You must have kvm module (kvm-intel or kvm-amd) installed for your kernel, and the permission of /dev/kvm is set to allow your user to access it. Otherwise the KVM support will be disabled and it may run very slow.

here is step by step how to get KVM Installation with images
How to Start Intel Hardware-assisted Virtualization (hypervisor) on Linux to Speed-up Intel Android x86 Emulator

The Intel Hardware Accelerated Execution Manager provides hardware-assisted virtualization. It should (hopefully) work the same with more recent versions of the Android emulator. Use the Android SDK Manager to download the KitKat x86 emulator.
Here's a more recent Intel document: http://software.intel.com/en-us/android/articles/speeding-up-the-android-emulator-on-intel-architecture
and Google's documentation: http://developer.android.com/tools/devices/emulator.html
Do follow those instructions.
If it still doesn't work for you, there are many possible causes such as: not having an Intel CPU, not installed properly, need to set BIOS settings, need to reboot, need to allocate lots of memory to HAXM, need to keep the AVD memory size down, attempting to configure the emulator to use the host GPU, ...
What are the specific symptoms? Do try searching for them on Google.
Also search for Hardware Accelerated Execution Manager linux for more documentation and experience reports.

Related

Running android emulator with Azure windows 10

I am trying to run an android emulator on an azure VM running windows, Windows 10 Pro version 1809 - But I am getting the following error message running the android emulator:
C:\Program Files (x86)\Android\android-sdk\emulator>emulator -AVD androidemulatorapi28
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure the Windows Hypervisor Platform (WHPX) is properly installed and usable.
CPU acceleration status: HAXM is not installed on this machine
The hyper-v is enabled:
And Windows Hypervisor Platform as well:
The size of the VM is D2_v3 and Dv3 - series is supposed to support Nested Virtualization. Here, here and here are claims about it being so and that android emulator functions. And as I far as I have understood:
...is part of Dv3 series.
What could be the problem?
I am able to run an Ubuntu VM in Hyper-V of the Azure Windows VM.
Disabling Hyper-V and Windows Hypervisor Platform, installing HAXM and running I get this error:
According to the writer of this medium article and this StackOverflow discussion - A special custom implementation of OpenGL is necessary - because the particular azure VM size doesn't come with a GPU. However, following the steps of the article I get another type of crash - when using the Mesa3D+LLvmpip version of opengl32.dll from the authors Github repo, replacing the OpenGL file in system32 and running the android emulator:
I found there was a gihub repo - distributing Mesa3D and LLvmpip - downloading mesa3d-19.1.3-release-mingw.exe and running the cmd file:
There is the following message in cmd:
This deployment utility targets systems without working GPUs and any use case
where hardware-accelerated OpenGL is not available. This mainly covers
virtual machines in cloud environments and RDP connections. It can be
used to replace Microsoft Windows inbox OpenGL 1.1 software render
driver with Mesa3D soft pipe, llvmpipe or SWR driver.
...which seems to be a fit for the driver rendering problem.
I was able to git rid of all cmd warnings and error by-avd myandroidemulatorapi28, and any with of following two flags -gpu angle_indirect or -gpu swiftshader_indirect. And set QEMU_AUDIO_DRV=none before running it. The GUI message about the driving issue still comes up and there is a black screen.
According to the owner of the mesa-dist-win GitHub repo - he could reproduce the GUI message diver complaint and still run the emulator successfully - when imitating the state of a VM with his machine.
Note: This is not a solution, this is for sharing details of what I learned after trying out around 10-20 ways:
To enable virtualization in azure VDI, you need to enable Hyper-V feature.
After that you can see in your task manager->Performance that the virtualization is set to true.
If not, try enabling it from command prompt.
bcdedit /set hypervisorlaunchtype auto
After that virtualization is enabled.
Now, you won't be able to install Intel HAXM, as there is a race condition between Hyper-V and Intel HAXM for virtualization.
So, Without Intel HAXM, AVD won't run.
Without Enabling Virtualization with Hyper-V, there will be just black screen in AVD, and it won't boot.
So, I believe there is no solution to this problem until now, I have search everything on google, stackoverflow. If someone finds a solution, please post it over here.
Im facing the same issue with you using Win10 or Windows Server 2019 for DV3 and EV3 series. But I got it working on ubuntu if you are open for that option. No hyper v or haxm required, it is using KVM
Just go to the link "https://github.com/intel/haxm".
Scroll down to find "Downloads".
Download the "haxm-windows_v7_7_1.zip" for windows & haxm-macosx_v7_7_1.zip for macoxs.
Install the package and it will solve the issue.
They is another android emulator that is working
https://www.sanganakauthority.com/2020/04/run-android-emulator-and-android-studio.html

Error after android studio Installation?

I got this problem when installing android studio ? Although the program runs OK ! But what is the use of HAXM, what if I did not enable INTEL VT -x ?
But what is the use of HAXM
It enables the use of the Android x86 emulator images, which run significantly faster than the ARM emulator images.
what if I did not enable INTEL VT -x ?
You will not be able to install or use HAXM. As a result, you will be limited to development using the ARM emulator images, actual Android devices, and possibly third-party emulators (e.g., Genymotion).
You could check if it's already enabled by trying a few commands.
Start with
bcdedit /set hypervisorlaunchtype off
VT-x must be enabled for hypervisor to run, and hypervisor has to be off for HAXM to run so by trying to turn it off, you can possibly do 2 things at once.
You can also try installing HAXM and it will tell you if disabled.
You can also check your CPU capabilities by looking it up at https://ark.intel.com or getting the Intel CPU ID utility at http://www.intel.com/content/www/us/en/support/processors/processor-utilities-and-programs/intel-processor-identification-utility.html
You doesn't have to use AVD which comes with Android Studio, you can try third party AVD, such as Genymotion or Bluestack. Genymotion is the one that I prefer.

Couldn't Run the Emulator on Android Studio

I couldn't run emulator on Android studio.
It says,
emulator: ERROR: x86 emulation currently requires hardware
acceleration! Please ensure Intel HAXM is properly installed and
usable. CPU acceleration status: HAX kernel module is not installed!
But I already installed intel HAX and also enabled Hyper V from BIOS
I'm using Windows 8.1 Pro
Check in Android SDK manager if the Intel x86 packages are properly installed.
Did you run
{SDK_FOLDER}\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe ?
Try closing and opening your android studio so that android studio can detect installed intel HAXM.
Check whether you have the right version or of intel HAXM compatible to your android sdk. Also check whether you have installed 32 bit intel HAXM or 64 bit, as you required 32 bit.
More importantly, enable hardware virtualization technology extensions in BIOS.
It can be found under ‘Advanced Chipset settings’ in AWARD BIOS. Normally these vt-x/amd-v extension settings will be available in advanced settings in most of the motherboards.
After you have changed the settings to disable or enable, it’s recommended to shutdown the computer for minimum 10 seconds and restart it (Cold Restart) to take effect. Latest motherboards automatically detect these type of changes and do the cold restart. Whenever I change VT setting in my motherboard, it delays the restart automatically.
You can use Genymotion instead of built-in emulator, it's much faster and has a lot of nice features.
Just found the solution
Goto Control Panel and in windows and feature untick all Hyper-V related content.
Then restart the machine and enable Hyper-V and install intel HAX "intelhaxm.exe" inside the AppData->Local->Temp folder in C Particition in Windows

Error about hardware acceleration while loading AVD

I installed Android studio in my windows 7 OS and it doesn't allow me to load AVDs. It shows this error.
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: HAX kernel module is not installed!
I tried several things. I enabled "Intel Virtualization Technology" from the BIOS setup and re-installed XHAM installer from SDK Manager. But nothing changed. At last I tried to install "intelhaxm-android.exe" at the file location but it gives an error as below...!
"This computer meets the requirements for the XHAM, but intel
virtualization technology (VT-x) is not turned on. XHAM cannot be installed
untill VT-x is enabled. Please refer to the Intel XHAM documentation for the
information"
But I have already enabled it from the BIOS!!
Your computer can only use one type of VT at a time. That's why many Windows 8 users are having trouble with Hyper-V. Avast Antivirus (and probably others) also use this. You can either uninstall your antivirus software, or search for the option that uses virtualization. In Avast, you can do it as seen in the picture. You have to reboot your computer after this change.
To run the AVD with HAXM you require both the HAXM packages from the SDK manager along with installing https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager from intel.
Ensure that VT is enabled in your bios and then try again. There is also a guide on the intel site that explains how to enable this: https://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-windows

Running the new Intel emulator for Android

Lately Google and Intel have published a new way to run the emulator, which should work much better than the previous version (which has emulated ARM CPU). Here are some links about it: this and this.
However, after installing the new components and creating a new emulator configuration as instructed, I get an error and I also can't see any improvements. I've tried both API 10 and API 15, and with GPU enabled and disabled. None of those configurations helped. I've also tried it on two different computers and didn't get any boost (and got the same errors).
It seems that on the posts I've read about it, nobody had any problems with it and all report a much faster emulator.
The error it shows is:
emulator: Failed to open the HAX device!
HAX is not working and emulator runs in emulation mode
emulator: Open HAX device failed
Why is it happening, and is there a way to fix it? Is there anyone else who gets those errors or vice versa?
By the way, I have an Intel CPU, if that could be a problem.
EDIT:
here's what I see in the BIOS, so it should be available... :
I had the same issue, solved it by Installing the Intel Hardware Accelerated Execution Manager. Download it with the SDK Manager, it's in Extras. After this, go to the folder
[Android SDK Root]\extras\intel\Hardware_Accelerated_Execution_Manager
then run IntelHaxm.exe and install.
Here the link of the Intel Hardware Accelerated
IntelHaxm.exe for
Microsoft Windows,Mac OS* X, and Linux
Ubuntu
You'll get the following message if you don't have virtualization enabled in your BIOS:
Small Note for Windows 8 user, Intel HAX will not work if Hyper-V feature is enable. Hyper-V (like most of the virtualization tech) will exclusively lock the VT extension witch will prevent HAX to work properly. A workaround if you “need” Hyper-V too might be to stop manually the Hyper-V services when you need HAX (haven’t tested it yet through).
If all else fails. Simply try to download the Intel HAXM zip manually, extract and install.
check here
Remember this only works for an Intel cpu that supports Intel Virtualization Technology. And you MUST enable virtulization in your bios.
It's a fairly decent and very noticeable improvement to the android emulator if you ask me.
Not every processor is supporting the virtualization!
To find out your chipset abilities go to http://ark.intel.com/,
insert the name of your processor in the search line and check out the resolve.
Advanced Technologies: ...
Intel® Virtualization Technology (VT-x) = ???
If you see "No", you can forget HAXM!
Here are the steps to get the Hardware Accelerated Execution (HAX) which is really quite a lot:
1-check your processor Intel website to see if it supports Intel VT-x or not:
http://ark.intel.com/Products/VirtualizationTechnology
all Intel Core i processors and some other selected processors support Intel VT-x
2- check your bios to enable Intel VT-x , usually called hardware virtualization or Intel virtualization in bios
3- check if you are using a software conflicting with HAXM, popular software conflicting with haxm include but not limited to:
Hyper-V
Windows phone SDK 8
Avast antivirus 8
4-install Intel management engine interface (MEI), this driver is usually not installed and is not part of retailer Windows DVD, even Windows 8.
Check this post about how to install:
http://communities.intel.com/community/vproexpert/blog/2011/12/19/mei-driver-now-available-via-microsoft-windows-update
This driver is required and is not optional to activate Hardware Acceleration
you can also install it from windows update
5-use android SDK manager to download Extras -> Intel x86 Hardware Accelerated Execution Manager.
6-Run installer of HAXM from:
[Android SDK Root]\extras\intel\Hardware_Accelerated_Execution_Manager\IntelHaxm.exe
if you passed the previous steps the installer will work just fine ,otherwise it will fail
7-start AVD and see the difference in performance, Animations are faster
System UI and launchers crashes in 4.0.3 but are just fine for 4.2.2
see installation guide by intel:
Using SDK Manager to download Intel HAX did not work.
Downloading and installing it from the Intel website did work.
http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/
Top Tip: making the change in my BIOS to enable virtualization and then using "restart" did not enable virtualization. Doing a cold boot (i.e. shutdown and restart) suddenly made it appear.
The first step (on Windows) is to make sure that the Micrsoft Hardware-Assisted Virtualization Tool reports that "this computer is configured with hardware-assisted virtualization".
http://www.microsoft.com/en-us/download/details.aspx?id=592
You might need to turn on virtualization in your BIOS, most manufacturers disable it by default. Intel HAX requires CPU virtualization to be enabled.
The same began to happen to me about one week ago, without apparent reason (99% sure that I didn't upgrade anything); after being able to run the emulator for some time it just stopped working without an apparent reason.
I tried to install the Intel thingie, but the installer reported that my machine doesn't support Intel VM, despite the fact that it has an Intel i3 processor and that virtualization is enabled (perhaps XP is too old an OS for that, although MS VM, Oracle's Virtual Box and VMWare have been installed an working in this machine with the same OS).
I just edited the VD to emulate an Arm processor, and everything is working again.
Perhaps not the optimal solution, but it works!
For Windows, there are some answers explained how it works. But I'm a Mac User, I don't know how to install HAX driver for Mac as they did for Windows. Finally I found the below link and it did fix my problem. You should download HAXM of Mac
and then install it.
https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-end-user-license-agreement-macosx/
Complete step-by-step instructions for running the accelerated emulator can be found on the official Android developers website:
Caution: As of SDK Tools Revision 17, the virtual machine acceleration
feature for the emulator is experimental; be alert for
incompatibilities and errors when using this feature.
You have to download the Intel® Hardware Accelerated Execution Manager.
Then you will get this message:
Starting emulator for AVD 'test'
emulator: device fd:740
HAX is working and emulator runs in fast virt mode
For Mac users who want to check whether your processor supports virtualisation, use the maccpuid software and look for VMX. If it is checked then you're good to go.
Download it here
Here there are two issues we have to concentrate on:
HAX device failed to open,
For this problem, you have to run the HAX device setup file from the HAX addon folder. Follow Speed Up Android Emulator to know clearly how.
If you created the AVD through AVD manager then you can change the RAM size in AVD Manager and device edit option.
If you created the AVD through command line, then you should start the AVD from command line will work,
emulator -memory 512 -avd gtv_avd
If everything else fails, it's good to try my option and download a HAXM installer.
It needs to be copied to HAXM installation folder and then started from command line (start CMD as an Administrator). After restarting computer HAXM will be installed. It perfectly worked for me as I was having problems with installing it on my laptop.
After all simply type sc query intelhaxm in your cmd in order to check whether HAXM is installed properly.
If you are running an Intel processor make sure the HAXM (Intel® Hardware Accelerated Execution Manager) installer is installed via SDK Manager by checking this option in SDK Manager. And then run the HAXM installer ext via the path below.
your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe
Also check the RAM size allocated while doing HAX installation so it fits the RAM size of your emulator.
This video shows all the required steps which may help you to solve the problem.
This video will also help you if you face a problem after installing HAXM.
Download HAXM from the Intel site.
Install it.
And then run the AVD from AndroidStudio, menu -> Tools -> AVD. Choose x86.
It works!

Categories

Resources