[BUG] Waydroid fails to start in GNOME with NVIDIA GPU and iGPU
Describe the bug
When trying to open Waydroid, I only get a black window that appears, closes in a second, and opens again in a few seconds... and that loops endlessly.
Waydroid version
1.5.4
Device
Linux Desktop
Operating System
Ubuntu 25.04 amd64
Kernel version
6.14.0-28-generic
Desktop Environment
GNOME 48
GPU
NVIDIA GeForce RTX™ 4090
Logs
I am experiencing the same bug with Linux Mint 22.1
Looks like your machine has another GPU, probably the graphics card integrated in your CPU (later "iGPU").
Because Waydroid does not support the proprietary NVIDIA drivers, it will use the AMD or Intel iGPU instead.
Your Wayland compositor on the other hand wants to use the NVIDIA GPU. When trying to import the Waydroid pixels from the iGPU memory into the NVIDIA GPU memory it fails with:
zwp_linux_buffer_params_v1@26: error 7: failed to import supplied dmabufs: Could not bind the given EGLImage to a CoglTexture2D
This issue was already been reported against mutter: https://gitlab.gnome.org/GNOME/mutter/-/issues/3930
There might be something that Waydroid also does incorrectly. Multi-GPU is hard.
You have a few options to workaround the issue on your end:
- Instruct mutter to use the iGPU instead. This might have a non-insignificant performance hit on the system. https://gitlab.gnome.org/GNOME/mutter/-/blob/main/doc/multi-gpu.md#selecting-the-primary-gpu
- Disable the iGPU from your BIOS settings if you're not willingly using it for anything. You will have to run
waydroid upgrade --offlinefor it to detect the hardware change. With that, Waydroid will use software rendering and run very slowly. - Manually instruct Waydroid to use software rendering and run very slowly. https://docs.waydro.id/faq/get-waydroid-to-work-through-a-vm
Thanks for the detailed answer and links. Do you guys have any clue as for chances that the issue with mutter et al gets fixed?
Actually another option might be to wrap Waydroid in another compositor, such as cage. Something like cage waydroid show-full-ui might work.
It also might be of note that I was just trying out something on KDE (same system, just installed plasma-desktop) and I get something very similar in that it only shows a black window, but it does not close and re-open... Which I would take for mutter not being (the only one) to blame here.
Well, window not closing means it's not a crash so likely different issues.
Actually another option might be to wrap Waydroid in another compositor, such as cage. Something like
cage waydroid show-full-uimight work.
Confirming this works for me on GNOME in Ubuntu 25.10. Thanks!