Skip to content

Latest commit

 

History

History
executable file
·
275 lines (183 loc) · 4.76 KB

readme.md

File metadata and controls

executable file
·
275 lines (183 loc) · 4.76 KB

Waydroid Installation and Usage Guide for X11

Table of Contents

  1. Introduction
  2. System Requirements
  3. Installation
  4. Usage
  5. Additional Configuration
  6. Automation
  7. Uninstallation
  8. Troubleshooting
  9. References

Introduction

This comprehensive guide walks you through setting up and optimizing Waydroid on an X11-based Linux system. Waydroid offers a seamless Android container experience, tightly integrated into your Linux desktop. We cover everything from installation to advanced configuration to ensure a smooth experience.


System Requirements

Ensure your system meets these prerequisites:

  • Running an X11 desktop environment.
  • Administrative privileges (sudo).
  • Essential packages: curl and ca-certificates.

Install the prerequisites:

sudo apt install curl ca-certificates -y

Installation

Auto Install

You can use the following one-liner to install and set up Waydroid directly.

curl -sSL https://raw.githubusercontent.com/1999AZZAR/use-waydroid-on-x11/master/install.sh | sudo bash

Manual Install

Installing Weston

Install Weston, the required Wayland compositor:

sudo apt install weston -y

Installing Waydroid

Step 1: Add the Waydroid Repository

Add the repository:

curl https://repo.waydro.id | sudo bash
Step 2: Install Waydroid

Install Waydroid:

sudo apt install waydroid -y

Initializing Waydroid

Follow these steps within a Weston session:

  1. Start Weston:

    weston --socket=mysocket
  2. Initialize Waydroid:

    • Without Google Apps:
      sudo waydroid init
    • With Google Apps:
      sudo waydroid init -f -s GAPPS

Troubleshooting Binder Module Errors

For issues like:

[21:15:53] Failed to load binder driver
[21:15:53] ERROR: Binder node "binder" for waydroid not found

Follow this guide.


Usage

Launching Waydroid

  1. Start Weston:

    weston --socket=mysocket
  2. Launch Waydroid:

    waydroid show-full-ui

Stopping Waydroid

Stop Waydroid gracefully:

waydroid session stop

Additional Configuration

Hiding Waydroid Apps

Run this script to hide Waydroid apps from the system launcher:

for app in ~/.local/share/applications/waydroid.*.desktop; do
    grep -q NoDisplay $app || sed '/^Icon=/a NoDisplay=true' -i $app
done

Clipboard Integration

Enable clipboard sharing:

  1. Install pyclip:

    sudo pip install pyclip
  2. Install wl-clipboard:

    sudo apt install wl-clipboard

Automation

Startup Scripts

1. Configure Weston

Create ~/.config/weston.ini:

[libinput]
enable-tap=true

[shell]
panel-position=none

2. Create a Startup Script

Save this script as /usr/bin/waydroid-session.sh:

#!/bin/bash

weston --xwayland &
WESTON_PID=$!
export WAYLAND_DISPLAY=wayland-1
sleep 2

waydroid show-full-ui &
WAYDROID_PID=$!

trap "waydroid session stop; kill $WESTON_PID; kill $WAYDROID_PID" EXIT

wait $WESTON_PID

Make it executable:

chmod +x /usr/bin/waydroid-session.sh

3. Add a Desktop Entry

Create /usr/share/applications/waydroid-session.desktop:

[Desktop Entry]
Version=1.0
Type=Application
Name=Waydroid Session
Comment=Start Waydroid in a Weston session
Exec=/usr/bin/waydroid-session.sh
Icon=waydroid
Terminal=false
Categories=System;Emulator;

Make it executable:

chmod +x /usr/share/applications/waydroid-session.desktop

Uninstallation

Full Removal

Run the clean-removal.sh script:

  1. Make it executable:

    chmod +x clean-removal.sh
  2. Execute:

    sudo ./clean-removal.sh

Troubleshooting

  • Weston startup issues: Verify Weston and X11 configurations.
  • Waydroid launch failures: Ensure a running Weston session.
  • Performance problems: Allocate more system resources.

References