Skip to content
cccskills
FreePublished on GitHub

waydroid

Use when setting up or troubleshooting Waydroid on Linux - installation and initialization, waydroid CLI, GPU and networking setup, GApps and Play certification, ADB integration, file sharing, or desktop environment integration

The English summary is being prepared. Showing the original description.

See how to install

Files included (5)

  • SKILL.md7.4 KB
  • references/advanced-config.md573 B
  • references/desktop-troubleshooting.md2.0 KB
  • references/gapps-adb-files.md1.7 KB
  • references/gpu-networking.md2.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Waydroid

Container-based Android for Linux with native Wayland integration.

Overview

Waydroid runs Android in a Linux container with near-native performance using namespaces (user, pid, uts, net, mount, ipc).

Key features:

  • Wayland Integration: Full support for Wayland compositors
  • GPU Acceleration: Hardware-accelerated graphics
  • Native Performance: Near-native speed vs emulators
  • LineageOS-based: Custom Android system images
  • binderfs: Android IPC mechanism for container-host communication

When Not to Use Waydroid

Use CaseBetter AlternativeTrade-off
Need full Google Play Services fidelityAVD (Android Virtual Device) with Google APIs imageAVD has higher overhead but complete Play Services compatibility
Testing hardware/GPU behaviorPhysical Android deviceOnly real hardware reproduces device-specific GPU bugs
Running 5+ concurrent devicesCloud device lab (Firebase Test Lab, AWS Device Farm)Cost increases with scale, but built-in device diversity
Headless CI runners without displayGenymotion Cloud or Android CI containersThese provide headless Android runtime without display requirements
Building apps only (no runtime)Android SDK command-line tools + GradleNo emulator overhead when you only need to compile

CLI Quick Reference

CommandPurpose
waydroid session startStart user session (after systemd container)
waydroid session stopStop user session, keep container running
sudo systemctl start waydroid-container.serviceStart the Waydroid container (systemd)
sudo systemctl stop waydroid-container.serviceStop the container completely
adb connect 192.168.250.1:5555Connect ADB over Waydroid's network socket
waydroid app install <apk>Install an APK from host filesystem
waydroid app launch <package>Launch an installed Android app
waydroid screenshotCapture current screen to host
waydroid pull /sdcard/filePull file from Android to host
sudo waydroid session stop && sudo rm -rf /var/lib/waydroid && sudo waydroid initPull/reset image to restore state

Note: ADB over socket requires the container to be running. For deeper troubleshooting, see references/desktop-troubleshooting.md.

First 10 Minutes: Troubleshooting Path

When something doesn't work, follow this symptom → check order:

SymptomCheckDepth
App won't installVerify image ABI: waydroid shell getprop ro.product.cpu.abi — x86_64 vs arm64-v8a mismatch requires different imagereferences/gpu-networking.md
No network in Androidip addr show waydroid0 — interface should exist; waydroid shell ping google.com — tests DNSreferences/gpu-networking.md
Audio not workingwaydroid shell media list-sinks — verify audio sinks; try waydroid prop set audio.oss 1references/desktop-troubleshooting.md
No hardware accelerationwaydroid shell dumpsys SurfaceFlinger — check GPU renderer; verify virgl supportreferences/gpu-networking.md
Container won't start`lsmodgrep binder— binder module loaded?;waydroid log` — check init errors

Most common fix: sudo systemctl restart waydroid-container.service && waydroid session stop && waydroid session start

Installation

Ubuntu/Debian

sudo apt install curl ca-certificates python3-gbinder python3-trio -y
curl https://repo.waydro.id | sudo bash
sudo apt install waydroid -y

Supported: focal, jammy, kinetic, lunar, mantic, noble (Ubuntu); bullseye, bookworm, trixie, sid (Debian).

Fedora

sudo dnf copr enable aleasto/waydroid
sudo dnf install waydroid

For Silverblue/Kinoite: rpm-ostree install waydroid

Arch Linux

yay -S waydroid
# Or from git:
git clone https://aur.archlinux.org/waydroid.git && cd waydroid && makepkg -si

openSUSE

sudo zypper addrepo https://download.opensuse.org/repositories/openSUSE:Tools/openSUSE_Tools.repo
sudo zypper install waydroid

Void Linux

sudo xbps-install -S waydroid

Initialization

Basic

sudo waydroid init

With GApps

sudo waydroid init -s GAPPS

Manual OTA URLs

sudo waydroid init \
  -s https://ota.waydro.id/system \
  -v https://ota.waydro.id/vendor

Starting Waydroid

Using systemd (recommended)

sudo systemctl start waydroid-container.service
sudo systemctl enable waydroid-container.service
waydroid session start

Manual (without systemd)

sudo waydroid container start
waydroid session start

Common Commands

App Management

waydroid app install /path/to/app.apk
waydroid app list
waydroid app launch com.package.name
waydroid app uninstall com.package.name

Shell Access

waydroid shell
waydroid shell pm list packages
waydroid shell getprop ro.product.model
waydroid shell su -c "ls -la /sdcard/"

UI Control

waydroid show-full-ui
waydroid screenshot
waydroid window set <fullscreen|windowed|tablet> [position]

Status and Info

waydroid status
waydroid log
waydroid log -cat main
waydroid log -cat all
waydroid prop get
waydroid prop get ro.product.model

Container Control

waydroid session stop
sudo waydroid container stop
sudo waydroid container restart

Deep Dives

These reference files contain detailed information loaded on demand:

Best Practices

  1. Use Wayland session: Required for Waydroid
  2. Keep system updated: Ensures compatibility
  3. Use GAPPS if needed: Required for many apps
  4. Check logs first: waydroid log for troubleshooting
  5. Use proper GPU drivers: Install appropriate drivers
  6. Enable ADB for complex tasks: More control
  7. Back up data: Located in /var/lib/waydroid/

References

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when building Python async HTTP services or clients with aiohttp - web server routing, middleware, WebSocket, SSE, streaming, client sessions, pytest-aiohttp testing, or troubleshooting SSL and timeout issues

The English summary is being prepared. Showing the original description.

CodeAtCode/oss-ai-skills24Updated Oct 9, 2026

Use when doing structural code search and rewriting - ast-grep linting, refactoring, multi-language patterns

The English summary is being prepared. Showing the original description.

CodeAtCode/oss-ai-skills24Updated Oct 9, 2026

Use when building GBA games with the BPCore Lua engine - entity, sprite and tilemap functions, SRAM save and load, link cable multiplayer protocol, camera and scrolling, or optimization patterns

The English summary is being prepared. Showing the original description.

CodeAtCode/oss-ai-skills24Updated Oct 9, 2026

celery

Free

Use when running background tasks with Celery - worker and broker configuration (Redis, RabbitMQ), task routing by name vs queue, chains/groups/chords, retry patterns (autoretry_for, retry_backoff), acks_late semantics, failure detection, and monitoring with Flower

The English summary is being prepared. Showing the original description.

CodeAtCode/oss-ai-skills24Updated Oct 9, 2026

django

Free

Use when building Django applications - security hardening, authentication and permissions, ORM optimization, PostgreSQL features, Django 6.0, migrations, testing, and ecosystem libraries

The English summary is being prepared. Showing the original description.

CodeAtCode/oss-ai-skills24Updated Oct 9, 2026

Use when customizing Django Admin - save_formset, get_search_results, formsets, queryset optimization, db_index, custom URLs

The English summary is being prepared. Showing the original description.

CodeAtCode/oss-ai-skills24Updated Oct 9, 2026

See all skills by CodeAtCode

Report a problem with this skill