Research project aimed to port Waydroid to Umvirt Linux From Scratch.
Disabling lightdm
systemctl stop lightdm
systemctl disable lightdm
chimp install weston
chimp install waydroid
Get *-vendor.zip and *-system.zip with same prefixes and unpack it.
Copy vendor.img and system.img to /usr/share/waydroid-extra/images
Note: At first try "lineage-18.1-20241116-MAINLINE-waydroid_x86_64-vendor.zip" and "lineage-18.1-20241116-VANILLA-waydroid_x86_64-system.zip". Then try other versions.
copy %waydroid_kernel% to linux kernel directory (/usr/src/linux-6.13.4)
cp -v /sources/waydroid.config /usr/src/linux-6.13.4/.config
go to linux kernel directory. Build and install kernel
cd /usr/src/linux-6.13.4
chimp kernel_build
chimp kernel_install
reboot
edit /etc/profile (as root) change XDG_USER_DIR from
export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/tmp/xdg-$USER}
to
export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/run/user/$(id -u)}
tip: to check XDG_USER_DIR value run (as user, after logout)
env | grep XDG_USER_DIR
usermod -aG seat user
systemctl enable seatd
systemctl start seatd
or
systemctl enable --now seatd
tip: To check seatd status (as root) type
systemctl status seatd
mkdir -p /run/user/1000
chown 1000:1000 /run/user/1000
chmod 700 /run/user/1000
dbus-launch weston
Tip: press [ctrl]+[alt]+[backspace] to exit.
Edit /etc/pulse/daemon.conf. Replace
;exit-idle-time = 20
to
exit-idle-time = -1
Edit /etc/pulse/system.pa. Comment or delete line
load-module module-suspend-on-idle
Check that vendor.img and system.img is located in /usr/share/waydroid-extra/images
ls /usr/share/waydroid-extra/images
Init waydroid LXC container
waydroid init -f
Enable and run waydroid service
systemctl enable waydroid-container
systemctl start waydroid-container
or
systemctl enable --now waydroid-container
tip: To check waydroid-container status (as root) type
systemctl status waydroid-container
7.4 Check that memfd module for waydroid container is enabled in /var/lib/waydroid/waydroid_base.prop
cat /var/lib/waydroid/waydroid_base.prop | grep memfd
You should get
sys.use_memfd=true
mkdir -p /run/user/1000
chown 1000:1000 /run/user/1000
chmod 700 /run/user/1000
dbus-launch weston
pulseaudio --start
waydroid session start
message "Android with user 0 is ready" should appear
waydroid show-full-ui
Tip: to close Android session open new terminal and run
waydroid session stop