Linux on Android

How to run a Linux virtual machine on Android

With UserLAnd Pro on a device that supports Android's Virtualization Framework (AVF), you can run Linux as a real virtual machine with its own kernel, without root. That lets you run Docker and other tools that a standard Android app can't.

Step by step

  1. Install UserLAnd and get Pro

    Install UserLAnd from Google Play, then unlock UserLAnd Pro in the app. VM sessions are a Pro feature.

  2. Create a filesystem with the Virtual Machine backend

    When you set up a distribution, choose Virtual Machine as the execution backend.

  3. Run the UserLAnd VM setup wizard

    The first time, UserLAnd walks you through installing UserLAnd VM and granting it permission to run virtual machines.

  4. Choose CPU and memory

    Pick how many CPU cores and how much RAM the VM can use for this launch.

  5. Boot and connect

    The VM boots and you connect by terminal or desktop, just like a standard session.

What you get

  • A full Linux kernel inside a real VM
  • Docker and other kernel-dependent tools
  • Per-launch CPU and RAM settings
  • Choice of how storage is shared with Android
  • QEMU emulation for devices without AVF (also Pro)

What you need

  • UserLAnd Pro
  • A device whose Android build supports the Virtualization Framework (AVF) for VM mode
  • Enough RAM to give the VM (more is better)

Frequently asked questions

Which devices support Linux VMs?

VM mode needs a device whose Android build exposes the Virtualization Framework (AVF). Support varies by manufacturer and Android version.

Does it need root?

No. AVF is part of Android, and UserLAnd uses it without root.

Can I run Docker on Android this way?

Yes. VM sessions run a full Linux kernel, so Docker works inside them.

What if my device doesn't support AVF?

UserLAnd Pro also offers QEMU emulation, which works without AVF but is slower than a hardware VM. The free standard mode works on almost every device.

Related