How to run VNC server on Android-x86

VNC (Virtual Network Computing) allows you to share a local desktop screen with other remote users. VNC is a client-server model where a VNC server relays updates of local desktop screen and keyboard/mouse events over network, and VNC client (or viewer) receives updates and events to view and control a remote desktop.

If you would like to control an Android device remotely by using VNC, you can run a VNC server on the Android device. There is an Android version of VNC server called android-vnc-server.

However, in order to run VNC server on Android x86, you cannot use the original android-vnc-server which is ARM-based, but rather need to rebuild android-vnc-server for x86-based processor architecture. For your convenience, you can simply download an x86 version of android-vnc-server binary (named droidvnc_x86) here. Then follow the rest of the steps to run the binary on Android-x86.

I assume that you know the IP address of Android-x86 host.

First, transfer the downloaded VNC server binary to the host by using ADB.

$ export ADBHOST=<IP_ADDRESS of Android-x86>
$ adb start-server
$ adb push droidvnc_x86 /system/bin/

Then start a remote shell in the destination Android-x86 host.

$ adb shell

Now you are in the Android-x86 host. Change the permission of the downloaded VNC server binary, and launch it.

# chmod 755 /system/bin/droidvnc_x86
# droidvnc_x86

Once you have started VNC server, you can run any VNC viewer on a separate host or device to remotely control the Android-x86 host. In this example, I am going to use a VNC viewer app for Android, called androidVNC. So I end up controlling a remote Android-x86 host from another Android device.

Once you install and launch androidVNC app, type in the following info.

  • Nickname: android-x86
  • Password: (password is not needed)
  • Address: IP address of your Android-x86 host
  • Port: 5901

Once you connect to the VNC server, you will see the desktop screen of your Android-x86 host.

Subscribe to Xmodulo

Do you want to receive Linux FAQs, detailed tutorials and tips published at Xmodulo? Enter your email address below, and we will deliver our Linux posts straight to your email box, for free. Delivery powered by Google Feedburner.

Support Xmodulo

Did you find this tutorial helpful? Then please be generous and support Xmodulo!

The following two tabs change content below.
Dan Nanni is the founder and also a regular contributor of He is a Linux/FOSS enthusiast who loves to get his hands dirty with his Linux box. He likes to procrastinate when he is supposed to be busy and productive. When he is otherwise free, he likes to watch movies and shop for the coolest gadgets.

4 thoughts on “How to run VNC server on Android-x86

  1. Just a heads up this doesn't seem to work on Lollipop. I'm running android x86 5.1-rc1 and it has PIE (position independent executables) enforcement enabled. Running this gives the error:

    "error: only position independent executables (PIE) are supported."

    For this to work, you'll either need to recompile this using a newer ADK, or, I've managed a workaround by editing the PIE check out of /system/bin/linker:

Leave a comment

Your email address will not be published. Required fields are marked *