Here is a small tutorial to help you setting-up AndroVM with hardware accelerated OpenGL rendering, using VirtualBox.
I will assume that you already have VirtualBox installed and working.
Network Adapter
To run with hardware acceleration, as for using the ADB with AndroVM, you’ll need an “Host Only” network adapter. To create one, open VirtualBox, get to the “File” menu, “Preferences…”, “Network”.
Don’t forget to enable DHCP Server for this network adapter.

Importing VM
Now, you can import the VM into VirtualBox. Just double-click on the OVA file, or use “File” menu, “Import Appliance”.
It can be a good idea to rename the VM into something more friendly.
Setting-up VM

By default, AndroVM has its first network adapter set to disable. Go to the VM network settings and set it to “Host Only Adapter”

Then, start the VM. Now, you’ve got a fully functional software-rendered AndroVM. Now, open the AndroVM Config app, and check the box to enable hardware OpenGL.
Note that you might see the VM IP on the top off the app. This is the Management IP. You can adb connect this IP.
If there’s no IP address, then you won’t be able to use hardware OpenGL. Verify your host-only adapter configuration.
Click on the “Save” button, The VM will restart.
The VM will stay in that state. Now it’s time to run the AndroVMplayer.
AndroVMplayer
The AndroVMplayer is a software used to display the VM content and manage its events. It won’t work if the VM is not running !
Open a command line interpreter, get to the AndroVMplayer directory, and type :
AndroVMplayer [width] [height] [density]
Wait a few seconds, and the Android boot animation will appear in the AndroVMplayer.
Typical problems
Step 8: the AndroVMplayer blocks on “waiting for connection from VM”
- If the VM shows a Management IP, try to connect to the VM through adb. If it doesn’t work, then turn off your firewall
- If the VM doesn’t show a Management IP, the your network adapter is not well configured
The VM displays “init: untracked pid xxxx”
- It means that the VM is waiting for the AndroVMplayer. Just launch it !






@sam
thanks a lot for the tutorial!
Some help might be helpful (at least for me) as how to configure the physical keyboard, German in my case. Even though I know how to do it for the Software OpenGL version, I’m not successful for the Hardware OpenGL version.
volker
OpenGL not working here
Some way to install Whatsapp and work it?
Hi,
Just download it from the Play Store
Seems to work with TP version.
Sam.
Hi AndroVM-Team,
like ZAKTECH90 stated i too can’t get OpenGL to work.
Latest Virtualbox (4.2.4 x64), AMD HD 5850, i5 – 750 (2,6 GHz)
Windows 7 x64, Java JDK 7u9 x64
Any possible solutions?
Hi Andre,
Can you say us a bit more, please ?
What does the AndroVMplayer display on you cmd ?
Thanks,
Sam.
Console-Ouput from AndroVMplayer:
C:\>cd AndroVMplayer
C:\AndroVMplayer>AndroVMplayer.exe 400 800 160
Window ID: 000403CA
– FrameBuffer::initialize
– FrameBuffer::initialize – new FrameBuffer
– FrameBuffer::initialize – eglGetDisplay
– FrameBuffer::initialize – eglGetDisplay returns
– FrameBuffer::initialize – eglInitialize
– FrameBuffer::initialize – eglChooseConfig
– FrameBuffer::initialize – eglCreateContext
listen() returned 0, errno=0
creating window 0 0 400 800
creating vinput server on TCP port 22469 returns 576
—————————
The second window that gets opened, where the VM should be displayed just get stuck and i have to kill it manually via the task manager.
I’ve exactly the same problem.
OpenGL not working here, too.
Win7 x64, i7-2630QM, GeForce GT 540M
Message at the start:
Cannot find /system/etc/install-recovery.sh
And then, again and again:
init: untracked pid xxxxx
for different pid’s.
There’s no problem.
Just launch the AndroVMplayer !
Sam.
Hello! How can I launch the AndroVMplayer? In my download directory I have only the file I`ve downloaded on this site and nothing else. Typing AndroVMplayer 480 800 160 I get the answer the command is unknown. What am I doing wrong?
Hi,
The AndroVMplayer is available here : http://androvm.org/blog/download/
Just extract the archive matching you OS, open a terminal and get to the extracted directory.
Then you can launch it using AndroVMplayer [width] [height] [density]
Sam.
Those who can read have a clear advantage! Thank you for your quickly answer. Now I can start it!
Serpent
This is amazing. The OpenGL hardware acceleration works smoothly. I tested it on a game called Defender II
However, I have a problem, how do I get the device to access the Internet? I used to make it access the Internet by having the network adapter as a Bridged Adapter. However, this can no longer be done, as it needs to be in Host-Only adapter for OpenGL acceleration to work. I also tried to setup a 2nd adapter but that doesn’t work either. I’m guessing there has to be some sort of dhcpc involved to give an IP to the second network adapter, and also make it as a priority for Internet connection (and as you have noticed, I’m not well-versed in linux). Any ideas?
EDIT: Just to add, connecting to WiredSSD makes it work. You do need to have a second network adapter bridged to your adapter for it to work.
Software works fine but using AndroVMplayer I get:
% sh run.sh 1024 768 160
Window ID: 0x4a0000d
– FrameBuffer::initialize
– FrameBuffer::initialize – new FrameBuffer
– FrameBuffer::initialize – eglGetDisplay
– FrameBuffer::initialize – eglGetDisplay returns
– FrameBuffer::initialize – eglInitialize
– FrameBuffer::initialize – eglChooseConfig
– FrameBuffer::initialize – eglCreateContext
listen() returned 0, errno=11
creating vinput server on TCP port 22469 returns 17
While the VM is waiting with processes exiting.
This is on linux 32-bit. Host-only adapter appears to be correct since I can connect with ADB. Tried both VirtualBox 4.1.X and 4.2.4 Any ideas?
had the exactly same problem.
i had peerguard running. after stopping it it worked.
Hi, I’m having the same problem that Martin described (OpenGL not working), but when I try to run AndroVMPlayer it crashes and stops working.
Could you help me with this?
Thanks
Thank you for this amazing project!
Is there a repo for AndoVM somewhere, or will ever be one?
I’m pushing sources to github. Should be available soon.
I have the same problem like Andre and Martin, after launching AndroVMplayer.exe nothing happened. I got lot of init: untracked pid xxxxx and output in cmd like Andre.
Suggestions:
1. VM is now blocked we can’t revert to software rendering, you should add timer, for example 60 sec, to switch to software if there is no AndroVMplayer.exe service available.
2. On the screenshot image for enable DHCP(http://androvm.org/wp-uploads/2012/11/step2.png) you made mistake, for network mask you wrote IP address. Network mask should be in different format: for example 255.255.255.0 if you need /24 range.
It works great on Intel Pentium G620, 4GB DDR3, Intel HD Graphics, Windows 7 64 bit, but how can I turn vm off?
Hi,
If your VM has been powered-on using VirtualBox graphic interface, just close the VirtualBox VM Window.
If your VM has been powered-on in headless mode, type VBoxManage controlvm [VM Name] poweroff
Sam.
Just want to say thanks for the awesome work!
Hi I had the INIT: UNTRACKED PID XXXX problem, so I downloaded AndroVMplayer on my linux distibution. I am running a 64bit O.S. and when I try to launch AndoVMplayer bash says that the executible doesn’t exist!!
[andrea@chakra-pc AndroVMplayer]$ ls
AndroVMplayer* libEGL_translator.so* libGLES_CM_translator.so* libGLES_V2_translator.so* libOpenglRender.so* run.sh*
[andrea@chakra-pc AndroVMplayer]$ ./AndroVMplayer 1024 600 160
bash: ./AndroVMplayer: File o directory non esistente
Do you know what is the reason of this error?? Does it do this because I am running a 64bit O.S.??
Hi,
yes that’s because you don’t have 32 bit libs on your system.
You should install a package like ‘ia32-lib’, or use 64-bit version of AndroVMplayer : http://androvm.org/Download/AndroVMplayer-win64-20121110.zip
Dan.
Thanks for the reply… I went again to the download page and I saw the 64bit download… I don’t know why I haven’t downloaded that before!
But I have one more question: are there the back, home, mlti-tasking buttons in the virtual machine??? Because I don’t know how to use android without those buttons!
Yes, but there’re not present by default in low resolutions VM.
Just force them to appear using the AndroVM Config app!
Sam.
Thanks again! Now I have them
Now I can say that with the buttons the VM is awsome!!
Pingback: Android: avviare le sue applicazioni su Linux | oneOpenSource
I follow the steps, but end up with the following:
Window ID: 00000000000E08B6
listen() returned 0, errno=0
creating window 0 0 800 600
[OpenGL init OK]
creating vinput server on TCP port 22469 returns 532
[Input Server init OK]
You shall know start the AndroVM Virtual Machine configured for OpenGL Hardware
support – waiting for connection from VM …
After here, player stays black. Things I tried:
- I am able to ping the vm ip, no problem
- Disabled firewall, no use
- Tried the options (dont render UI in OpenGL, etc.), no use
Any ideas?
I got one error, which says:
cannot find ‘/system/bin/rild’, disabling ‘ril-daemon’
in case that might have any relevance to the problem.
Thanks in advance for any replies.
Failing to load shared libs on Ubuntu 12.04.1 LTS:
localhost ~ [0]$ LD_LIBRARY_PATH=/usr/local/lib:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/mesa:/lib:/usr/lib:. ./AndroVMplayer 1024 600 160
Window ID: 0x440000d
– FrameBuffer::initialize
– FrameBuffer::initialize – new FrameBuffer
– FrameBuffer::initialize – eglGetDisplay
– FrameBuffer::initialize – eglGetDisplay returns
– FrameBuffer::initialize – eglInitialize
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
– FrameBuffer::initialize – eglChooseConfig
– FrameBuffer::initialize – eglCreateContext
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
listen() returned 0, errno=11
creating vinput server on TCP port 22469 returns 10
Here’s all the *GL* libs from my current system. (Tested working with other OpenGL applications, including xscreensaver.)
localhost ~ [0]$ ldconfig -N -X -v 2> /dev/null | grep GL
libGLU.so.1 -> libGLU.so.1.3.1
libGLEWmx.so.1.6 -> libGLEWmx.so.1.6.0
libGLEW.so.1.6 -> libGLEW.so.1.6.0
libQtOpenGL.so.4 -> libQtOpenGL.so.4.8.2
libGL.so.1 -> libGL.so.1.2.0
libGLEW.so.1.5 -> libGLEW.so.1.5.2