However, Android x86 has been releasing steady updates as of late, including an update to Android Oreo. So if you want to enjoy a great Android experience on your desktop, its a good idea to try out Android x86 before trying one of the other forks (Remix OS has totally stopped development, for example).

Requirements:

If you are on Ubuntu, you can grab UNetbootin with the terminal command: sudo apt-get install unetbootin If you are on Arch Linux, you can use: pacman -S unetbootin

USB Flash Drive Installation

For CD / DVD Installation

The installation process is nearly exactly the same, except that you will burn a bootable CD from the Android x86 ISO. There’s a really a ton of ISO burners out there – you could just go with Free ISO Burner.

Installing to a Virtual Machine

Adding Android x86 to the GRUB Menu

Install GRUB Customizer first, it will make this process much easier. Now launch GRUB Customizer, and add a new GRUB entry. Click the ‘Sources’ tab, and enter these commands: If you notice, we bolded a few parts in those commands. That is because you need to change them as follows. For set root=’(hd0,4)’, change the (hd0,4) to the partition where Android x86 is installed. HD0 means SDA, so if you install Android x86 to SDB, it will be HD1, etc. The number afterwards is the partition number. So hd0,4 would be SDA4, for example – if you installed Android x86 on SDA6, then you will change it to hd0,6. For the part –set=root e1f9de05-8d18-48aa-8f08-f0377f663de3, the random string is the UUID of the partition where Android x86 was installed. You need to change it to the correct UUID. You can obtain your correct UUID by creating a new entry in GRUB Customizer, then going into the Options tab, and choosing the ‘Linux’ option from the dropdown menu. In the partition dropdown menu, you need to choose your partition, then go to the Source tab. It will display your UUID. Where we bolded androidx86/, this is the root of Android x86. You need to change it to your actual Android x86 root, by going into your Android x86 partition. You should see a folder named ‘android’, and that will be the root of your Android x86 installation. androidboot.hardware is going to be your specific device. If you’re using an older version of Android x86, such as the Android 4.03 versions, you need to change it to androidboot_hardware (with an _ underscore, not a . period). This is entirely unnecessary for latest Android x86 versions. When androidboot.hardware is not set in kernel cmdline, the init process would still get the correct value of ro.hardware. This eliminates the necessity of androidboot.hardware. Here’s the list of hardware you can change it to:

Final Tips and Tricks

Android x86 is unable to use Android Market, so there are alternative solutions to obtaining Android apps. First you should enable unknown sources. Go to Settings > Applications > enable Unknown Sources, and ignore the warning dialogue. Now you can download and install APKs from outside of Google Play. There’s a ton of third-party app stores out there, just be really careful. Some of the better stores are:

How to Display Correct Battery Value

Android was developed for specific batteries in mind, thus an Android-based OS will show incorrect battery values on different hardware platforms (such as a laptop). In order to correct this, there are a few things to tweak. In Linux, applications collect the battery status through sysfs, where the battery status is located in /sys/class/power_supply/. Different platforms, however, may give you a different directory layout under /sys/class/power_supply/, but Android hardcodes the directory layout to /sys/class/power_supply/. To resolve this issue, you can add new entries in vendor/asus/eeepc/system.prop, where the user can change the value of these entries to correctly configure the sysfs directory layout for different platforms. These entries are: In essence, these entries tell the Android battery service code to look for the information in the correct place. To implement your own battery status handling code, simply re-implement the IBatteryServiceStatus class in frameworks/base/libs/utils/IBatteryServiceStatus.cpp, replacing frameworks/base/libs/utils/BatteryServiceStatus.cpp with your own implementation.

To Wake up the Machine

Unlike other OS, you cannot simply wake up the system from sleep status by moving around the mouse or hitting a random keyboard button. You can only use ESC, Menu, left, right, up and down keys to wake up the system. To wake up the system, you have to hold the keys mentioned above for at least 1 second. You can push menu key when keyguard screen showing up to unlock screen, and you can use mouse to turn the wheel on the keyguard screen to unlock screen.

How to boot Android x86 on Unsupported Graphics

When booting the Live-CD, on the menu that offers various boot options, hit the Tab key on your keyboard. This will display the boot prompt. Now you should see something like: You should edit this line, first by removing “quiet” to see what the kernel messages are displaying. Then you can set different video mode parameters. You can use NoModeSet, which disables the kernel mode setting and instructs the kernel to not automatically set the graphic resolution. Alternatively you can use Xforcevesa, which enforces using the VESA driver. Play with these parameters to see which works for you – you can also set them both together “nomodeset xforcevesa”.

Fix: x86 Emulation Currently Requires Hardware AccelerationApple Mac With ARM CPUs Instead Of Intel’s x86 Chips Won’t Allow Running Windows…Apple M1 Chip vs. Intel x86 Processors: What is the Difference?Fix: Remove C:Program Files (x86)Search ExtensionsClient.exe pop-up