#1312·waydroid

[BUG] waydroid show-full-ui fails to display by AMD iGPU

Author: AAlieZZCreated Mar 6, 2024Updated Sep 11, 2026

Describe the bug

This is an AMD + NVIDIA laptop and I use the script to select AMD iGPU

# bash waydroid-choose-gpu.sh
Please enter the GPU number you want to pass to WayDroid:

  1. 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] [10de:2520] (rev a1)
  2. 06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c5)

>> Number of GPU to pass to WayDroid (1-2): 2

Confirm that these belong to your GPU:

lrwxrwxrwx 1 root root  8  3月 6日 10:05 pci-0000:06:00.0-card -> ../card1
lrwxrwxrwx 1 root root 13  3月 6日 10:05 pci-0000:06:00.0-render -> ../renderD129

/dev/dri/card1
/dev/dri/renderD129

But the waydroid show-full-ui always fails to display.

~  waydroid show-full-ui
[10:18:49] Starting waydroid session
[10:18:50] Skipping clipboard manager service because of missing pyclip package
[gbinder] Service manager /dev/anbox-binder has appeared

Waydroid version

1.4.2

Device

Linux Desktop

Operating System

Arch Linux

Kernel version

6.7.4-arch1-1.1-g14

Desktop Environment

Plasma 5

GPU

AMD

Logs

/var/lib/waydroid/waydroid.cfg

[waydroid]
arch = x86_64
vendor_type = MAINLINE
system_datetime = 1708751846
vendor_datetime = 1709378634
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 = anbox-binder
vndbinder = anbox-vndbinder
hwbinder = anbox-hwbinder
binder_protocol = aidl3
service_manager_protocol = aidl3

[properties]

/var/lib/waydroid/waydroid.prop

sys.use_memfd=true
debug.stagefright.ccodec=0
ro.hardware.gralloc=gbm
ro.hardware.egl=mesa
ro.hardware.vulkan=radeon
ro.hardware.camera=v4l2
ro.opengles.version=196609
waydroid.system_ota=https://ota.waydro.id/system/lineage/waydroid_x86_64/VANILLA.json
waydroid.vendor_ota=https://ota.waydro.id/vendor/waydroid_x86_64/MAINLINE.json
waydroid.tools_version=1.4.2
ro.vndk.lite=true
gralloc.gbm.device=/dev/dri/renderD129
waydroid.host.user=aliez
waydroid.host.uid=1000
waydroid.host.gid=1000
waydroid.host_data_path=/home/aliez/.local/share/waydroid/data
waydroid.xdg_runtime_dir=/run/user/1000
waydroid.pulse_runtime_path=/run/user/1000/pulse
waydroid.wayland_display=wayland-0
waydroid.background_start=false
waydroid.stub_sensors_hal=1

/var/lib/waydroid/waydroid_base.prop

sys.use_memfd=true
debug.stagefright.ccodec=0
ro.hardware.gralloc=gbm
ro.hardware.egl=mesa
ro.hardware.vulkan=radeon
ro.hardware.camera=v4l2
ro.opengles.version=196609
waydroid.system_ota=https://ota.waydro.id/system/lineage/waydroid_x86_64/VANILLA.json
waydroid.vendor_ota=https://ota.waydro.id/vendor/waydroid_x86_64/MAINLINE.json
waydroid.tools_version=1.4.2
ro.vndk.lite=true
gralloc.gbm.device=/dev/dri/renderD129

/var/lib/waydroid/waydroid.log

(005526) [10:18:49] Starting waydroid session
(004641) [10:18:49] % /usr/lib/waydroid/data/scripts/waydroid-net.sh start
vnic is waydroid0
(004641) [10:18:50] % systemctl is-active -q nfcd
(004641) [10:18:50] % chmod 777 -R /dev/dri
(004641) [10:18:50] % chmod 777 -R /dev/fb0
(004641) [10:18:50] % chmod 777 -R /dev/video0
(004641) [10:18:50] % chmod 777 -R /dev/video1
(004641) [10:18:50] % mv /var/lib/waydroid/config_session /var/lib/waydroid/lxc/waydroid
(004641) [10:18:50] % mount -o ro /var/lib/waydroid/images/system.img /var/lib/waydroid/rootfs
(004641) [10:18:50] % 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
(004641) [10:18:50] % mount -o ro /var/lib/waydroid/images/vendor.img /var/lib/waydroid/rootfs/vendor
(004641) [10:18:50] % 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
(004641) [10:18:50] % mount -o bind /var/lib/waydroid/waydroid.prop /var/lib/waydroid/rootfs/vendor/waydroid.prop
(004641) [10:18:50] Save config: /var/lib/waydroid/waydroid.cfg
(004641) [10:18:50] % lxc-start -P /var/lib/waydroid/lxc -F -n waydroid -- /init
(004641) [10:18:50] New background process: pid=5569, output=background
(004641) [10:18:50] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH
RUNNING
(005526) [10:18:50] Skipping clipboard manager service because of missing pyclip package
(006118) [10:19:18] % tail -n 60 -F /var/lib/waydroid/waydroid.log
(006118) [10:19:18] *** output passed to waydroid stdout, not to this log ***
(005526) [10:29:01] Clipboard service is not even started
(004641) [10:29:01] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH
RUNNING
(004641) [10:29:01] % lxc-stop -P /var/lib/waydroid/lxc -n waydroid -k
lxc-start: waydroid: ../src/lxc/conf.c: run_buffer: 322 Script exited with status 126
lxc-start: waydroid: ../src/lxc/start.c: lxc_end: 985 Failed to run lxc.hook.post-stop for container "waydroid"
(004641) [10:29:01] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH
STOPPED
(004641) [10:29:01] % /usr/lib/waydroid/data/scripts/waydroid-net.sh stop
vnic is waydroid0
(004641) [10:29:01] % systemctl is-enabled -q nfcd
(004641) [10:29:01] % umount /var/lib/waydroid/rootfs/vendor/waydroid.prop
(004641) [10:29:01] % umount /var/lib/waydroid/rootfs/vendor
(004641) [10:29:01] % umount /var/lib/waydroid/rootfs/vendor
(004641) [10:29:01] % umount /var/lib/waydroid/rootfs
(004641) [10:29:01] % umount /var/lib/waydroid/rootfs
(004641) [10:29:07] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH
STOPPED
(004641) [10:29:07] % /usr/lib/waydroid/data/scripts/waydroid-net.sh stop
vnic is waydroid0
waydroid-net isn't running
(004641) [10:29:07] % systemctl is-enabled -q nfcd
(004641) [10:29:17] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH
STOPPED
(004641) [10:29:17] % /usr/lib/waydroid/data/scripts/waydroid-net.sh stop
vnic is waydroid0
waydroid-net isn't running
(004641) [10:29:17] % systemctl is-enabled -q nfcd

/var/lib/waydroid/lxc/waydroid/config_nodes

lxc.mount.entry = tmpfs dev tmpfs nosuid 0 0
lxc.mount.entry = /dev/zero dev/zero none bind,create=file,optional 0 0
lxc.mount.entry = /dev/null dev/null none bind,create=file,optional 0 0
lxc.mount.entry = /dev/full dev/full none bind,create=file,optional 0 0
lxc.mount.entry = /dev/fuse dev/fuse none bind,create=file,optional 0 0
lxc.mount.entry = /dev/tty dev/tty none bind,create=file,optional 0 0
lxc.mount.entry = /dev/char dev/char none bind,create=dir,optional 0 0
lxc.mount.entry = /dev/fb0 dev/fb0 none bind,create=file,optional 0 0
lxc.mount.entry = /dev/video0 dev/video0 none bind,create=file,optional 0 0
lxc.mount.entry = /dev/video1 dev/video1 none bind,create=file,optional 0 0
lxc.mount.entry = /dev/anbox-binder dev/binder none bind,create=file,optional 0 0
lxc.mount.entry = /dev/anbox-vndbinder dev/vndbinder none bind,create=file,optional 0 0
lxc.mount.entry = /dev/anbox-hwbinder dev/hwbinder none bind,create=file,optional 0 0
lxc.mount.entry = none dev/pts devpts defaults,mode=644,ptmxmode=666,create=dir 0 0
lxc.mount.entry = /dev/uhid dev/uhid none bind,create=file,optional 0 0
lxc.mount.entry = /dev/net/tun dev/tun none bind,create=file,optional 0 0
lxc.mount.entry = /var/lib/waydroid/host-permissions vendor/etc/host-permissions none bind,optional 0 0
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none rbind,create=dir,optional 0 0
lxc.mount.entry = tmpfs mnt_extra tmpfs nodev 0 0
lxc.mount.entry = tmpfs tmp tmpfs nodev 0 0
lxc.mount.entry = tmpfs var tmpfs nodev 0 0
lxc.mount.entry = tmpfs run tmpfs nodev 0 0
lxc.mount.entry = /dev/dri/card1 dev/dri/card0 none bind,create=file,optional 0 0
lxc.mount.entry = /dev/dri/renderD129 dev/dri/renderD128 none bind,create=file,optional 0 0