Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

57 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🌿 VineOS

A free, open-source, ad-free Android-on-Android virtual machine. Run a full isolated Android guest inside your existing device, with 32-bit app support on arm64-only hardware via QEMU user-mode emulation.

VineOS Android CI VineOS CodeQL CI VineOS Dependency Review VineOS Nightly Build CI VineOS Release CI GitHub Downloads (all assets, all releases) GitHub Downloads (latest) GitHub Release GitHub Repo stars GitHub Pull Requests GitHub Issues

Download Β· Documentation Β· Roadmap Β· FAQ


Table of Contents


What is VineOS?

VineOS runs a complete, isolated Android operating system inside your existing Android device, without modifying the host OS or requiring root on most paths.

Unlike simple "app cloners" (Parallel Space, Dual Space) that sandbox individual apps, VineOS virtualizes the full Android stack: its own init, Zygote, SurfaceFlinger, ServiceManager, and everything else. You get a real second phone inside your phone.

Why VineOS over alternatives like VPhoneOS or VMOS?

Feature VineOS VPhoneOS VMOS Virtual Master
Open source βœ… ❌ ❌ ❌
Ad-free βœ… ❌ ❌ ❌
Free (fully) βœ… Partial Partial ❌
32-bit on arm64-only devices βœ… βœ… ❌ ❌
Runs on arm, x86, and x86_64 hosts βœ… ❌ ❌ ❌
GPL-3.0 licensed βœ… ❌ ❌ ❌
Material You βœ… ❌ ❌ ❌
Multiple ROM versions βœ… Paid Partial Paid
No telemetry βœ… ❌ ❌ ❌

Features

  • πŸ†“ Completely free: no paywalls, no premium tiers, no ads, ever
  • πŸ”“ Open source: GPL-3.0, fully auditable
  • πŸ“¦ Multiple ROMs: Android 7.1, 9.0, 11, 12 (more planned)
  • πŸ—οΈ 32-bit support everywhere: runs armeabi-v7a apps on arm64-only devices via QEMU user-mode binary translation
  • πŸ–₯️ Multi-host support: builds and runs on arm64-v8a, armeabi-v7a, x86_64, and x86 devices, not just ARM
  • 🎨 Material You: dynamic color from your wallpaper on Android 12+, static vine-green fallback on 8-11
  • ⚑ Lightweight: zero background overhead when no VM is running, no persistent daemons
  • πŸ”’ Isolated: PID, mount, UTS, and IPC namespace separation
  • 🌱 Multi-instance: run multiple independent VMs simultaneously
  • πŸ”§ Root support: optional Magisk/root inside instances (requires rooted host)
  • πŸ“± minSdk 26, targetSdk 37: supports Android 8.0 through Android 17

Supported devices

  • Android 8.0 (API 26) or higher as the host OS
  • arm64-v8a, armeabi-v7a, x86_64, or x86 processor
  • A kernel with Linux namespaces and loop device support (standard since Android 4.4)

32-bit ARM guest apps run natively where the host CPU supports it, and through QEMU user-mode emulation everywhere else, including on the growing range of arm64-only SoCs across many vendors, and on non-ARM hosts entirely. See ARCHITECTURE.md for the full host/guest compatibility matrix.


ROM support

ROM Android Version API 32-bit Status
vine-rom-7 Android 7.1.2 Nougat 25 βœ… 🟑 In progress
vine-rom-9 Android 9.0 Pie 28 βœ… πŸ”΄ Planned
vine-rom-11 Android 11 30 βœ… πŸ”΄ Planned
vine-rom-12 Android 12 31 βœ… πŸ”΄ Planned

ROMs are built from AOSP targeting the ranchu virtual device board and distributed as .vrom archives. See docs/BUILDING.md for the ROM build guide.


Installation

Download the latest release APK from the Releases page.

VineOS is not yet on the Play Store. First release planned at Beta stability.


Documentation

All project documentation, including the architecture guide, build instructions, usage guide, contributing guide, and policies, lives in docs/. Start there.


Roadmap

Phase 1: Foundation (current)

  • Linux namespace container runtime (unshare, pivot_root, execl)
  • QEMU binfmt_misc integration for 32-bit support (4-layer AArch32 detection)
  • JNI bridge with FramebufferBridge + UInputBridge wiring
  • Material You UI: Home, ROMs, Settings, and detail/create-instance screens
  • Room DB + ViewModels + DataStore preferences
  • ROM downloader (manifest fetch, streaming download, SHA-256 verification)
  • Multi-host-ABI support (arm64-v8a, armeabi-v7a, x86_64, x86)
  • First bootable Android 7.1.2 ROM image

Phase 2: Display & Input

  • Framebuffer render loop (mmap to ANativeWindow blit)
  • RGB565 to RGBA8888 conversion for Android 7.x guests
  • Single-touch forwarding, synced to the guest's real display resolution
  • Hardware key forwarding (back, home, volume, recents)
  • Multi-touch forwarding (MT type B, up to 10 fingers)
  • Clipboard sharing host to guest

Phase 3: Storage & ROMs

  • Writable /data partition (overlayfs on top of read-only ROM)
  • Instance snapshot / restore
  • Android 9, 11, 12 ROM images
  • ROM CDN + in-app download UI completion

Phase 4: No-root Path

  • proot fallback for non-rooted devices
  • Android Virtualization Framework (AVF) backend (Android 13+)

Phase 5: Polish

  • Play Store + F-Droid release
  • Magisk inside instances
  • Per-instance VPN / network isolation
  • GPU passthrough research

FAQ

Does VineOS require root? Root is not required for the planned no-root path (Phase 4). The current implementation requires CAP_SYS_ADMIN for unshare() and mount(). Root is optional, only for Magisk inside instances.

Does VineOS work on arm64-only phones without 32-bit support? Yes, this is one of the core things VineOS is built for. We're aiming to support a wide range of SoCs across vendors, not just a specific model or two, and VineOS auto-detects arm64-only chips and switches to QEMU mode automatically.

Why GPL-3.0 and not MIT/Apache? VineOS uses QEMU (GPL-2.0-or-later) and is architecturally inspired by Anbox/Waydroid (GPL-3.0). GPL-3.0 ensures commercial forks must also open their changes.

Can I use VineOS on x86_64 Android devices or emulators? Yes. VineOS builds and runs on arm64-v8a, armeabi-v7a, x86_64, and x86 hosts; ARM guest ROMs run through QEMU on non-ARM hosts. See ARCHITECTURE.md for exactly what runs natively versus emulated on each host.


License

VineOS is licensed under the GNU General Public License v3.0. See LICENSE for the full text, and docs/TERMS.md for the project's terms of use.

Third-party components

Component License Use
QEMU GPL-2.0-or-later ARMv7 user-mode emulation
AOSP Apache-2.0 + various ROM images
Jetpack Compose Apache-2.0 UI framework
Hilt Apache-2.0 Dependency injection
Room Apache-2.0 Local database

Credits & acknowledgements

  • Anbox: the original Android-in-a-Linux-container project; VineOS's container architecture is directly inspired by its design
  • Waydroid: maintained successor, reference for namespace setup and binfmt_misc integration
  • redroid: Android in Docker, reference for mount table and device node setup
  • QEMU: the backbone of VineOS's 32-bit emulation
  • VPhoneOS / VPhoneGaGa: the closed-source inspiration that VineOS aims to replace with an open alternative
  • The entire Android homebrew and modding community

Made with 🌿 by Hexadecinull and contributors

About

An Android VM engine, for Android

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages