Waydroid/vkcube black screen when trying to render with secondary iGPU #12576
Unanswered
ssareta
asked this question in
Bugs - DRM
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
I have an nvidia dGPU (using nvidia-open drivers) on my desktop, with an AMD iGPU available from my AMD CPU. When trying to render apps using the AMD iGPU while using the nvidia dGPU as Hyprland primary GPU, they render as a black screen.
Background
I want to use Waydroid to play some Android games. Sadly Waydroid only supports software rending on nvidia, so I enabled my AMD iGPU in BIOS, and tried to switch waydroid to it. Nada, black screen, although it didn't seem to crash or anything.
Then I tried
vkcube --gpu_number 1to force it to run with my iGPU to see if rendering using the iGPU works at all - this produced a black screen.WAYLAND_DEBUG=1seems to show everything running fine - gets/releases fifo barriers/commits at framerate, etc (logs attached), but the window is a pure black screen, same as Waydroid.In nvtop I can see the GPU/mem usage of the iGPU actually go up while running vkcube, so clearly it's doing something; it feels like it's somehow just failing to copy across the framebuffer to the nvidia GPU to be output or something.
Maybe what I'm doing just isn't really supported yet; I couldn't find much info on this rather specific use case online. Still, any info would be appreciated!
What I did find to work:
If I set
AQ_DRM_DEVICESto prefer the iGPU for Hyprland rendering, both GPUs work with vkcube, and Waydroid also works. But my iGPU isn't the greatest, maybe, or maybe more likely it just smashes the CPU really hard and perhaps also isn't synchronised too well, since I imagine it's not copying the framebuffers from gpu to gpu too efficiently... in any case Hyprland doesn't run very smoothly at all like this, and animations are pretty choppy.If I stick to dGPU primary, but I use https://github.com/cage-kiosk/cage (as suggested in [BUG] Waydroid fails to start in GNOME with NVIDIA GPU and iGPU waydroid/waydroid#2018) to run waydroid from within Hyprland, like
cage waydroidin a terminal or so, it does somehow render just fine using the iGPU. Not the smoothest experience, but it does work.So, steps to repro:
AQ_DRM_DEVICES- it still preferred my nvidia dGPU to render Hyprland without that, but adding the iGPU as secondary didn't seem to change anything.vkcube --gpu_number 1(for me, it is 1, but using whichever the iGPU is enumerated to by vkcube)For now I am using workaround number 2 above, but would love to see if I'm doing something stupid and this can be fixed.
Running on cachyOS with kernel 6.18.0, nvidia drivers 580.105.08, mesa 25.3.1.
vulkaninfo
hyprctl systeminfo
WAYLAND_DEBUG=1 of vkcube
wayland_debug_vkcube_amdgpu.txt
Beta Was this translation helpful? Give feedback.
All reactions