I have a problem running Genymotion "inside" VMWare that is running on Windows 7 32-bit. It gives me an error "Unable to initialize OpenGL renderer library.". At first, I didn't notice the version of the OpenGL of my guest (Windows 7 32-bit) is 1.1 or 1.4 (I can't remember) then I read some solutions online on how to update the driver to 2.1 but still, Genymotion is giving me the same error. I tried to uninstall Genymotion and reinstalling it again but unfortunately, the problem is still there.
I also read on a blog that the user was able to run Genymotion on VMWare with Windows XP I also tried that too but it didn't worked for me. Then I installed it on the host (I am running Windows 8 with OpenGL 4.x) and it worked.
Here's the result of the test I did with glewinfo.exe to see the version of OpenGL my guest is running: http://pastebin.com/ncZv58DV
Indeed, Genymotion needs a direct access to the hardware in order to provide OpenGL acceleration. Running Genymotion from a virtual machine prevents it to directly access the hardware components.
https://www.genymotion.com/faq/#virtual-machine-start-impossible
Related
The Set Up
I have a personal (gaming) Windows 10 Pro PC and I want to use it for some home development work without loading up the gaming side with extra installs. Win10 Pro allows you to create virtual machines using Hyper-V and the Hyper-V Manager.
I used the quick start to create a Win11 Dev environment. When I logged in I downloaded and installed Visual Studio 2022 community, and Myql Workbench. I have a MySql Server on a separate box on my network and the Win11 VM can connect to it.
There is a program I wrote using VS2022 and Ximiran to learn Mobile App development and thar is what I want to work on again. It was written on a regular Dev box where I could launch android emulators and/or connect my mobile device to test.
I tried setting up the Android ADM with the standard emulator (Pixel 5 API 30), a more generic 6.7dpi (API 32) and while I was able to DL and install them, they failed.
The Issue
I did read many google and SO entries and I saw that the emulators would not work in Virtual Box, but I did not see anything with hyper-v. I did changes the windows features to use hyper-v, windows hypervisor, and set up the SDK > tools > Extras > intel x86 ... (HAXM accelerator).
When I start either emulator I get an error then when boiled down says "ERROR | x86-64 emulation currently requires hardware acceleration." ... "Android Emulator requires an intel processor with VT-x and NX support. (VT-x is not supported).
The Question
Is this just a situation where no matter what I try this combination of a PC running a VM running an Emulator will just not work?
If it can, what piece am I missing?
The VM knows I have a Intel(R) Core(TM) i7-4970K CPU # 4.00GHz and this is a 64bit OS. This also has a GeForce RTX 3060 gpu which the VM does not see.
Any thoughts would be welcomed. I would like to keep my two environments separate and though I can code almost anything else, I would like to work on my android app in VS2022.
(I may try plugging in my mobile device...hmmmm)
I have a MacBook Pro running bootcamp with windows 7 on it, and I am trying to run a MEmu android emulator on a VMware windows 10 VM (all inside my bootcamp partition). The reason for this is id like to have a sandbox keeping my data private and separate from my bootcamp partition while using the emulator.
MEmu downloads, and installs fine but then gets stuck at 99% infinitely while setting up the emulator. I have been searching the web for quite some time now looking for anything that might give me some insight on how to do this or why this isn't possible and have found nothing.
I have tried installing VMware tools to try and match the graphics requirements, and I have edited my VMs settings so that its configured to run with VT-x/AMD-V enabled. Is there any other way I can make this work?
Wont work because memu is a virtual machine. Memu actually uses a hacked version of virtualbox.
I'm trying to get into Android development in a virtual machine hosted on Hyper-V, but cannot seem to find a way to use HAXM inside the guest OS. Everything I can find seems to be about disabling Hyper-V on the machine that you want to host the Android emulator on.
For reference, the host OS is Windows 8.1 and the guest OS is a Windows 10 preview. I'm using the most recent Android IDE and Java 7 SDK, with the default emulator that comes with those.
You cannot use the Intel Accelerator (HAXM) and Hyper-V at the same time. Basically, both are hypervisors trying to use the Intel VT (virtualization) extensions of your CPU at the same time, and this is not possible.
Hyper-V is a type 1 hypervisor (on bare metal) that takes full ownership of the Intel VT extensions of your processor.
Any other type 2 hypervisor (e.g HAXM or VirtualBox) trying to use the VT extension of the CPU will fail or cause a system error
An operating system running in a VM cannot access the VT extensions without the help of the parent hypervisor. HAXM running in a VM cannot access the VT extensions if it runs on Hyper-V. Hyper-V supports nested virtualization, i.e. a Hyper-V in a VM running on Hyper-V, but you may require specific versions of the OS and some time configuring all the stuff. Windows 10 supports Windows Containers but I think you cannot use that technology to run the emulators.
You can use the official Android emulator. This emulator may take advantage of HyperV for improved performance. You must uninstall (or avoid to run) the HAXM. You can connect your development VM to the android VM using its IP address.
Some time ago, the only alternative for running an emulator with HyperV was the the Android Emulators for Visual Studio (that you may use with Eclipse or Android Studio, without installing Visual Studio). Although these emulators can be used nowadays, Microsoft is recommending developers use the official Android emulators.
Finally, if you want to use HAXM, you can configure an additional boot entry in your Windows and use a type-2 hypervisor such as VirtualBox. You can use BCEDIT to select at boot-time if the machine must start with the Hyper-V or not. You must restart your computer each time you want to enable/disable Hyper-V. To create an additional boot entry, you may check here and here
I tried this once before but I had issues with it. I tried running Android Studio on vmware fusion but the emulator always showed a black screen. LAter I found out the reason which was 'you cannot run one virtual machine on another.'.
The android emulator running with Adnroid Studio is a virtual machine which I was trying to run in vmware fusion so it never worked.
I installed Android Studio on Azure VM and installed all the prerequisites. When I try to run the emulator, I get the following error
When I try to install HAXM, I get the following error:
I checked that my Azure VM runs on AMD Processor. Is there any way, that I can make Android Emulator run on Azure Virtual Machine?
Something that requires virtualization isn't going to run in an Azure VM (which is already virtualized). Same thing with, say, WP8 emulator (see this question, with the same answer).
EDIT - As of mid-2017, there are now VMs that support nested virtualization (Dv3 and Ev3 series, for now). See this post for more information.
The Android emulator works with the following setup:
Azure VM: Windows 10 Enterprise N
Android Studio: 2.3.1
AVD Manager
Hardware: Phone -> Nexus 5X
System Image: Other Images -> Nougat 25 armeabi-v7a [Android 7.1.1]
Start the emulator and wait about 5-10 minutes for the process to complete.
Then run your Android app by attaching it to the running emulator.
Note that "Apply Changes" (lightning bolt icon) also works for small code changes.
If you set the CPU of the emulator to armeabi-v7a it will work (albeit very very slowly). Tested with Rev 25. I assume this works because it doesn't use virtualization, but rather CPU Emulation.
As of mid-2017, there are now VMs that support nested virtualization (Dv3 and Ev3 series, for now). Still, I couldn't run the Android virtual device(AVD) created in the android studio. But, below solution worked for me:
Check if Azure VM supports nested virtualization.
Enable hyper-v in VM as mentioned here 1.
Use Visual Studio Emulator. Visual studio emulator definitely works on azure VM.
Forget about enabling nested virtualization or else.
All you have to do is:
Disable Hyper-V
Install Mumu emulator.
And you'll see emulator working on your VM.
I am using Windows 7 64-bit (12 GB of RAM), with VirtualBox 4.2.4 running an instance of Linux Ubuntu 12.04 32-bit.
My Ubuntu VM has 128MB of Video Memory, 3D Acceleration, 4GB of RAM, 2 CPU processors, and ample space.
I installed Eclipse Juno in my VirtualBox instance, downloaded the Android SDK from http://developers.android.com.
I set up my AVD to be running Android 4.2, with an API level of 17 using an ARM CPU.
In Eclipse, I created a new Android application (a basic application) and tried to run it. The emulator never loads up, though.
I get variations of the following error when trying to launch:
OpenGL Warning: glXGetFBConfigAttrib for 0x9dbb250, failed to get XVisualInfo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x9dbb328
I did some research on the XGetVisualInfo, and it appears to be VirtualBox related. Can any one provide a pointer?
You can't do that for two reasons: the emulator use the Intel Virtualization Technology (VT) or the AMD Virtualization (AMD) extension but this is already used by the Ubuntu VM running inside the VirtualBox and you cannot use that a second time inside an already running VM.
There is also the same thing for a CPU interrupt related to debugging/interrupting the VM that is also already used by the VirtualBox and that cannot be shared a second time by another embedded VM but I don't remember the exact detail about this one.
I don't know your reasons of running the emulator inside a VM but one thing you can do is to run the emulator directly inside the VirtualBox as its own VM or outside of VirtualBox and etablish a connection between Eclipse and the emulator. On the web, you will find many references on how to run an emulator directly inside VirtualBox. I have done it myself in the past and there were no problem.