Some unfinished notes about creating Waydroid template.
You can use them as starting point.
Waydroid template
Install debian-12-minimal
template using “Qubes Template Manager” tool if you don’t have it.
Update debian-12-minimal
template using “Qubes Update” tool.
Clone debian-12-minimal
and name it d12m-waydroid
.
Start d12m-waydroid
and open its root terminal using this command in dom0 terminal:
qvm-run -u root d12m-waydroid xterm &
Install Xfce and Weston:
apt install qubes-core-agent-networking xfce4 xfce4-goodies weston
Install Waydroid:
apt install curl ca-certificates -y
curl --proxy http://127.0.0.1:8082/ --tlsv1.2 --proto =https --max-time 180 https://repo.waydro.id | https_proxy=http://127.0.0.1:8082 bash
apt install waydroid -y
NOTE: I couldn’t make clipboard sharing work in Weston and in Waydroid, but still some notes for reference:
Install Waydroid clipboard support:
apt install pip python3-venv
python3 -m venv /opt/venv/pyclip
source /opt/venv/pyclip/bin/activate
pip install --proxy http://127.0.0.1:8082 pyclip
deactivate
echo 'export PATH="/opt/venv/pyclip/bin:$PATH"' >> /etc/profile.d/python-venv.sh
echo 'export PYTHONPATH="/opt/venv/pyclip/lib/python3.11:$PYTHONPATH"' >> /etc/profile.d/python-venv.sh
Initialize Waydroid
Run this command to init Waydroid, It’ll download VANILLA Android image:
https_proxy=http://127.0.0.1:8082 http_proxy=http://127.0.0.1:8082 waydroid init
Or this command for Waydroid image with GApps support:
https_proxy=http://127.0.0.1:8082 http_proxy=http://127.0.0.1:8082 waydroid init -s GAPPS
Update Waydroid image
In template run:
https_proxy=http://127.0.0.1:8082 http_proxy=http://127.0.0.1:8082 waydroid upgrade
You also need to add firewall rules in AppVM to allow networking:
nft add rule ip qubes custom-forward iifname "waydroid0" oifgroup 1 accept
nft add rule ip qubes custom-forward oifname "waydroid0" iifgroup 1 accept
nft add rule ip qubes custom-input iifname "waydroid0" meta l4proto {tcp, udp} th dport { 53, 67 } accept
Restart the container after applying the rules:
systemctl restart waydroid-container
Aurora Store newer than version 4.2.5 crashes on Waydroid:
opened 08:13AM - 28 Jul 23 UTC
**Describe the bug**
I manged to run Waydroid without issues on Manjaro. I inst… alled Aurora shop from apk. It run with the setup steps, I logged in to Google and then it crashed. It looks like it opens the usual, main app screen but it doesn't load fully, because it crashes before any app or graphic shows up.
I also wanted to run Skyshowtime app (streaming TV) and it let me to log in and the main screen, but when clicking on any of the show or movie icons, it minimizes and on second try it crashes.
Apps installed via F-Droid work. There is some additional problem with F-Droid not updating repos on the next launch, but that is a different issue that we can ignore here.
During crashes, I get in log:
```
(015983) [09:51:03] % tail -n 60 -F /var/lib/waydroid/waydroid.log
(015983) [09:51:03] *** output passed to waydroid stdout, not to this log ***
```
The path above is the path to the general log, but it still doesn't have the details. So where is this output passed and how to access it? When I use `waydroid --details-to-stdout log` it just show the usual log entries, nothing more (see the log below).
**General information (please complete the following information):**
- Waydroid tools Version 1.4.1
arch = x86_64
vendor_type = MAINLINE
system_datetime = 1690085411
vendor_datetime = 1690089493
suspend_action = freeze
mount_overlays = True
images_path = /var/lib/waydroid/images
system_ota = https://ota.waydro.id/system/lineage/waydroid_x86_64/VANILLA.json
vendor_ota = https://ota.waydro.id/vendor/waydroid_x86_64/MAINLINE.json
binder = binder
vndbinder = vndbinder
hwbinder = hwbinder
binder_protocol = aidl3
service_manager_protocol = aidl3
**Desktop (please complete the following information):**
Operating System: Manjaro Linux
KDE Plasma Version: 5.27.6
KDE Frameworks Version: 5.108.0
Qt Version: 5.15.10
Kernel Version: 6.4.6-1-MANJARO (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-6700HQ CPU @ 2.60GHz
Memory: 7.6 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 530
Manufacturer: Alienware
Product Name: Alienware 17 R3
System Version: 1.13.1
**Additional context**
Add any other context about the problem here.
**Logs (please upload as file)**
```
michaldybczak alienware-PC ~ waydroid --details-to-stdout log
(016283) [09:55:16] % tail -n 60 -F /var/lib/waydroid/waydroid.log
(016283) [09:55:16] *** output passed to waydroid stdout, not to this log ***
bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NotSupported: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead
(002288) [08:36:13] % /usr/lib/waydroid/data/scripts/waydroid-net.sh start
vnic is waydroid0
(002288) [08:36:13] % systemctl is-active -q nfcd
(002288) [08:36:13] % chmod 777 -R /dev/dri
(002288) [08:36:13] % chmod 777 -R /dev/fb0
(002288) [08:36:13] % chmod 777 -R /dev/video1
(002288) [08:36:13] % chmod 777 -R /dev/video0
(002288) [08:36:13] % mv /var/lib/waydroid/config_session /var/lib/waydroid/lxc/waydroid
(002288) [08:36:13] % mount -o ro /var/lib/waydroid/images/system.img /var/lib/waydroid/rootfs
(002288) [08:36:13] % mount -t overlay -o ro,lowerdir=/var/lib/waydroid/overlay:/var/lib/waydroid/rootfs,upperdir=/var/lib/waydroid/overlay_rw/system,workdir=/var/lib/waydroid/overlay_work/system,xino=off overlay /var/lib/waydroid/rootfs
(002288) [08:36:13] % mount -o ro /var/lib/waydroid/images/vendor.img /var/lib/waydroid/rootfs/vendor
(002288) [08:36:13] % mount -t overlay -o ro,lowerdir=/var/lib/waydroid/overlay/vendor:/var/lib/waydroid/rootfs/vendor,upperdir=/var/lib/waydroid/overlay_rw/vendor,workdir=/var/lib/waydroid/overlay_work/vendor,xino=off overlay /var/lib/waydroid/rootfs/vendor
(002288) [08:36:13] % mount -o bind /var/lib/waydroid/waydroid.prop /var/lib/waydroid/rootfs/vendor/waydroid.prop
(002288) [08:36:13] Save config: /var/lib/waydroid/waydroid.cfg
(002288) [08:36:13] % lxc-start -P /var/lib/waydroid/lxc -F -n waydroid -- /init
(002288) [08:36:13] New background process: pid=5771, output=background
(002288) [08:36:13] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH
RUNNING
(005723) [08:36:23] waydroidusermonitor: Received transaction: 1
(005723) [08:36:23] Android with user 0 is ready
(005723) [08:36:23] % adb start-server
(005723) [08:36:23] % adb connect 192.168.240.112
already connected to 192.168.240.112:5555
(005723) [08:36:23] Established ADB connection to Waydroid device at 192.168.240.112.
(002288) [08:36:39] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH
RUNNING
(005723) [09:14:56] waydroidusermonitor: Received transaction: 2
(005723) [09:16:21] waydroidusermonitor: Received transaction: 2
(005723) [09:18:56] waydroidusermonitor: Received transaction: 2
(005723) [09:19:39] waydroidusermonitor: Received transaction: 2
(005723) [09:20:51] waydroidclipboard: Received transaction: 2
(005723) [09:20:51] Could not setup clipboard
(005723) [09:20:54] waydroidclipboard: Received transaction: 2
(005723) [09:20:54] Could not setup clipboard
(005723) [09:20:54] waydroidclipboard: Received transaction: 2
(005723) [09:20:54] Could not setup clipboard
(005723) [09:24:21] waydroidclipboard: Received transaction: 2
(005723) [09:24:21] Could not setup clipboard
(005723) [09:24:21] waydroidclipboard: Received transaction: 2
(005723) [09:24:21] Could not setup clipboard
(005723) [09:24:23] waydroidclipboard: Received transaction: 2
(005723) [09:24:23] Could not setup clipboard
(005723) [09:24:23] waydroidclipboard: Received transaction: 2
(005723) [09:24:23] Could not setup clipboard
(005723) [09:27:17] waydroidclipboard: Received transaction: 2
(005723) [09:27:17] Could not setup clipboard
(005723) [09:32:54] waydroidclipboard: Received transaction: 2
(005723) [09:32:54] Could not setup clipboard
(005723) [09:37:57] waydroidclipboard: Received transaction: 2
(005723) [09:37:57] Could not setup clipboard
(005723) [09:41:05] waydroidusermonitor: Received transaction: 2
(005723) [09:42:57] waydroidusermonitor: Received transaction: 2
(014768) [09:44:39] % tail -n 60 -F /var/lib/waydroid/waydroid.log
(014768) [09:44:39] *** output passed to waydroid stdout, not to this log ***
(015983) [09:51:03] % tail -n 60 -F /var/lib/waydroid/waydroid.log
(015983) [09:51:03] *** output passed to waydroid stdout, not to this log ***
```
Additional info:
```
michaldybczak alienware-PC ~ zgrep -i -e android -e memfd -e ashmem /proc/config.gz
CONFIG_X86_ANDROID_TABLETS=m
# Android
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
# end of Android
CONFIG_MEMFD_CREATE=y
```
EDIT: I tried Disney+ from APK and it runs, but when I try to play the video, it informs me that it plays in full screen mode, I hear the sound (very quietly thou) but the screen is black, as if the output was to some other screen.
`
waydroidusermonitor: Received transaction: 2`
It looks like Manjaro kernel is compatible, but the issue lies elsewhere.
Info about Weston and Waydroid usage:
https://wiki.archlinux.org/title/Weston
https://wiki.archlinux.org/title/Waydroid
Some example script to start Waydroid in Weston: