AndroVM – Configuration Tutorial

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”.

Step 1 - VBox Network Preferences

Don’t forget to enable DHCP Server for this network adapter.
Step 2 – Host Only Adapter Configuration

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.

Step 3 - Importing OVA

Setting-up VM

Step 4 - VM Parameters

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

Step 5 - Network Adapter 1

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.

Step 6 - AndroVM Config

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.

Spet 7 - VM Reboot

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]

Step 8 - AndroVMplayer

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 !

33 thoughts on “AndroVM – Configuration Tutorial

  1. @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

  2. 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?

      • 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.

  3. 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.

  4. 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?

  5. 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.

  6. 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?

  7. 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

  8. Thank you for this amazing project!
    Is there a repo for AndoVM somewhere, or will ever be one?

  9. 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.

    • 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.

  10. 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.??

      • 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.

  11. Pingback: Android: avviare le sue applicazioni su Linux | oneOpenSource

  12. 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.

  13. 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