Waydroid on Qubes (LineageOS w/ Gapps)

Waydroid info:

Waydroid uses Linux namespaces (user, pid, uts, net, mount, ipc) to run a full Android system in a container and provide Android applications on any GNU/Linux-based platform. The Android inside the container has direct access to needed hardwares. The Android runtime environment ships with a minimal customized Android system image based on the LineageOS. The used image is currently based on Android 10.

The prerequisites are:

Waydroid requires the following in order to work properly on your PC:
python3
lxc
curl
Wayland session manager IMPORTANT!!
Wayland session manager comes with distros running GNOME by default (Ubuntu, Pop!_OS, Fedora, etc), so no need to install separately.Other desktop environments/window managers, might not support Wayland out of the box. (KDE Plasma does after 5.21)

I installed in both a standalone debian 11 and focal VM. I installed task-gnome-desktop to make sure whatever the wayland session manager thing is that its installed plus all the other prerequisites. I get up to the last step:

sudo waydroid init

Error output (both focal & debian 11):

[04:09:03] Failed to load binder driver
[04:09:03] modprobe: FATAL: Module binder_linux not found in directory /lib/modules/5.4.156-1.fc25.qubes.x86_64
[04:09:03] ERROR: Binder node “binder” for waydroid not found

No idea what this means (my nickname is not Dum0 for nothing) but it looks Qubes specific.

Any thoughts?

1 Like

We do not have proper Wayland support yet, that could be the issue?

try to install kernel model binder
however

but you need to start it, which is might not possible

Qubes uses Xorg, not Wayland. This will not work.

B

1 Like

What you could do is create a standalone VM and install an OS that matches the prerequisite as an HVM. Then follow the instructions within that HVM. Wayland can run inside the VM.

B

2 Likes

You actually don’t even need a StandaloneVM. You can just install and run Weston. It is a Wayland implementation that can run inside X11. It is a bit inconvenience, but definitely not hard.

I’ve briefly tried running Waydroid in Weston in Debian 11 AppVM. It seems to work well except the network connection (Android doesn’t get any IP), which isn’t a good thing, since we need it even for ADB. Maybe Qubes networking doesn’t play well with Waydroid. I’ve found https://github.com/waydroid/waydroid/issues/143 and tried few restarts, but I haven’t digged much deeper.

Well, a HVM without any network tools might do the trick.