|
| 1 | +--- |
| 2 | +title: installing Waydroid, an Android emulator, on Linux |
| 3 | +date: 2025-03-19 |
| 4 | +tags: |
| 5 | +- linux |
| 6 | +- Android |
| 7 | +- installation |
| 8 | +--- |
| 9 | +I wanted to use Android on Linux, so I searched the web and found <https://waydro.id/>. |
| 10 | + |
| 11 | +Instead of running in some kind of virtual machine, it seems to run Android slightly more natively on Linux (I really don't know how any of this works). |
| 12 | + |
| 13 | +Here is a small adventure at trying to install it: |
| 14 | + |
| 15 | +## Official installation guide |
| 16 | + |
| 17 | +Following steps from <https://docs.waydro.id/usage/install-on-desktops#ubuntu-debian-and-derivatives> (I'm on Pop!\_OS which I think is based on Debian). |
| 18 | + |
| 19 | +```bash |
| 20 | +$ sudo apt install curl ca-certificates |
| 21 | +$ curl -s https://repo.waydro.id | sudo bash |
| 22 | +$ sudo apt install waydroid |
| 23 | +$ waydroid init |
| 24 | +[11:27:05] Failed to load binder driver |
| 25 | +[11:27:05] modprobe: FATAL: Module binder_linux not found in directory /lib/modules/6.13.0-061300-generic |
| 26 | +[11:27:05] ERROR: Binder node "binder" for waydroid not found |
| 27 | +[11:27:05] See also: https://github.com/waydroid |
| 28 | +``` |
| 29 | + |
| 30 | +I don't really know what this error meant, but after searching, it seemed that Waydroid needed "wayland" and I was using X (which are both Desktop thingies which make pixels appear on the screen). I read things about Pop!\_OS not having something necessary installed in the kernel, but I could use "DKMS", meaning Dynamic Kernel Module Support. So I tried installing what I'd found links to with: |
| 31 | + |
| 32 | +```bash |
| 33 | +git clone https://github.com/choff/anbox-modules |
| 34 | +cd anbox-modules && ./INSTALL.sh |
| 35 | +``` |
| 36 | + |
| 37 | +now when I ran `waydroid init` it worked, but then I got nothing. I wasn't really sure what I was supposed to be doing to "open" it now that it was "init"'d. So I deleted all I could with |
| 38 | + |
| 39 | +```bash |
| 40 | +$ sudo apt remove waydroid |
| 41 | +$ sudo find / -type d -name "waydroid" |
| 42 | +/var/lib/waydroid |
| 43 | +$ rm -rf /var/lib/waydroid |
| 44 | +``` |
| 45 | + |
| 46 | +…and found a helper script to do stuff for me. |
| 47 | + |
| 48 | +## Installation script |
| 49 | + |
| 50 | +The script I found was <https://github.com/n1lby73/waydroid-installer>, which I ran with |
| 51 | + |
| 52 | +```bash |
| 53 | +git clone https://github.com/n1lby73/waydroid-installer |
| 54 | +cd waydroid-installer |
| 55 | +sudo bash install_script.sh |
| 56 | +``` |
| 57 | + |
| 58 | +The script didn't complete, and complained about modules not installing, specifically that `lxd-client` could not be installed. |
| 59 | + |
| 60 | +Looking at the script I saw it was trying to run `apt install lxd-client` but running that myself, it seemed that it didn't exist: |
| 61 | + |
| 62 | +```bash |
| 63 | +$ sudo apt install lxd-client |
| 64 | +E: Unable to locate package lxd-client |
| 65 | +``` |
| 66 | + |
| 67 | +After searching, it seems `lxd-client` provides a command `lxc`, so I looked for how to install `lxc`, and found it was possible via `snap`. I've not really used `snap` before and people have complained about it (about filesize and automatic updates), so I was wary to install it, but I did with: |
| 68 | + |
| 69 | +```bash |
| 70 | +$ sudo apt install snapd |
| 71 | +$ sudo snap install lxd |
| 72 | +$ lxc --version |
| 73 | +5.21.3 LTS |
| 74 | +``` |
| 75 | + |
| 76 | +I removed `lxd-client` from the install script and re-ran it, and it seemed to work OK. It said it installed a "Wayland" desktop option on my login page if I rebooted. |
| 77 | + |
| 78 | +## Opening waydroid |
| 79 | + |
| 80 | +So I rebooted, and on the login screen selected "Pop on Wayland" (I'm still not fully sure what this X/Wayland thing is), and tried starting Waydroid. |
| 81 | + |
| 82 | +Running… |
| 83 | + |
| 84 | +```bash |
| 85 | +waydroid session start |
| 86 | +``` |
| 87 | + |
| 88 | +…and… |
| 89 | + |
| 90 | +```bash |
| 91 | +waydroid show-full-ui |
| 92 | +waydroid app install org.fedorahosted.freeotp_46.apk |
| 93 | +waydroid app install Firefox Fast & Private Browser_136.0.2_APKPure.apk |
| 94 | +``` |
| 95 | + |
| 96 | +…installed some apps and filled one of my screens with a big Android display. |
| 97 | + |
| 98 | +It seems to work well! |
| 99 | + |
| 100 | +I suppose there's a lot you can do with Waydroid, if you want. I don't think I want. |
| 101 | + |
| 102 | +In some ways, this is an example of the involved-nature of installing things on Linux. |
0 commit comments