Waydroid — X11
Waydroid adalah solusi container-based untuk menjalankan Android (LineageOS) secara native di Linux dengan performa tinggi, tanpa emulasi hardware. Waydroid menggunakan container LXC yang memberikan akses langsung ke hardware host.
Weston adalah referensi Wayland compositor yang dapat berjalan sebagai aplikasi di dalam sesi X11 — bertindak sebagai jembatan agar Waydroid (yang membutuhkan Wayland) dapat berjalan di lingkungan X11.
Arsitektur
X11 Session (Desktop Host)
└── Weston (Wayland Compositor sebagai jendela)
└── Waydroid Container (LineageOS Android)
└── Aplikasi Android
Prasyarat
- CPU dengan dukungan virtualisasi (Intel VT-x / AMD-V).
- RAM minimal 4 GB (8 GB disarankan).
- Ruang disk minimal 4 GB untuk image Android.
- Kernel Linux dengan modul binder (kernel Void modern sudah mendukung).
Pastikan sesi berjalan di X11:
echo $XDG_SESSION_TYPE
# Output harus: x11
Instalasi
sudo xbps-install -S weston waydroid
Jika paket
waydroidtidak tersedia di repositori default, aktifkan repositorinonfreeterlebih dahulu.
Verifikasi instalasi:
waydroid --version
lsmod | grep binder
Jika modul binder tidak muncul, muat secara manual:
sudo modprobe ashmem_linux
sudo modprobe binder_linux
Konfigurasi Awal
Inisialisasi Image Android
Tanpa Google Apps:
sudo waydroid init
Dengan Google Play Services:
sudo waydroid init -s GAPPS
Proses ini mengunduh image Android (~2 GB) ke /var/lib/waydroid/images/.
Konfigurasi Service (runit)
Buat file /etc/sv/waydroid-container/run:
#!/bin/sh
exec waydroid-container-start 2>&1
Aktifkan service:
sudo mkdir -p /etc/sv/waydroid-container
sudo ln -s /etc/sv/waydroid-container /var/service/
sudo waydroid container start
Menjalankan Waydroid di X11
Manual
# Jalankan Weston di background
weston &
# Tunggu Weston siap, lalu jalankan Waydroid dari terminal Weston
waydroid show-full-ui
Script Otomatis
Buat ~/waydroid-x11.sh:
#!/bin/bash
echo "Starting Weston..."
weston &
sleep 3
if pgrep -x "weston" > /dev/null; then
echo "Weston started."
waydroid session start &
sleep 2
echo "Starting Waydroid UI..."
waydroid show-full-ui
else
echo "Failed to start Weston."
exit 1
fi
chmod +x ~/waydroid-x11.sh
~/waydroid-x11.sh
Alternatif: Cage (Lebih Ringan)
sudo xbps-install -S cage
cage -- waydroid show-full-ui
Cage tidak memiliki dekorasi jendela tambahan dan lebih ringan dari Weston.
Integrasi Desktop
Desktop Entry
Buat ~/.local/share/applications/waydroid-x11.desktop:
[Desktop Entry]
Name=Waydroid (X11)
Comment=Run Android apps on Linux
Exec=/home/username/waydroid-x11.sh
Icon=waydroid
Terminal=false
Type=Application
Categories=System;Emulator;
Manajemen Aplikasi Android
waydroid app install /path/to/app.apk # Install APK
waydroid app list # Daftar aplikasi
waydroid app launch com.example.app # Jalankan aplikasi
waydroid app remove com.example.app # Hapus aplikasi
Troubleshooting
WAYLAND_DISPLAY is not set
Weston belum berjalan. Pastikan Weston dijalankan sebelum waydroid show-full-ui.
Waydroid Container STOPPED
sudo waydroid container start
sudo sv status waydroid-container
Modul binder Tidak Ditemukan
zgrep BINDER /proc/config.gz
Jika tidak ada, perlu kernel dengan CONFIG_ANDROID_BINDER_IPC=y.
Waydroid Tidak Tampil di Weston
waydroid session stop
waydroid session start
waydroid show-full-ui
Tidak Ada Internet di Waydroid
sudo iptables -A FORWARD -i waydroid0 -j ACCEPT
sudo iptables -A FORWARD -o waydroid0 -j ACCEPT
Menghentikan Waydroid
sudo pkill waydroid-container
pkill weston
Optimalisasi
- Gunakan Cage sebagai compositor — lebih ringan dari Weston.
- Nonaktifkan animasi Android: Settings → Developer Options → set semua animation scale ke
0. - Edit
/etc/waydroid/waydroid.cfguntuk mengatur alokasi resource:
[resources]
memory_mb = 4096
cpu_shares = 1024
- GPU NVIDIA proprietary tidak kompatibel dengan baik di Wayland — gunakan driver
nouveauatau akselerasi software.
Uninstall
sudo xbps-remove waydroid weston
sudo rm -rf /var/lib/waydroid
sudo rm /var/service/waydroid-container
sudo rm -rf /etc/sv/waydroid-container