NEW298776
REGRESSION(298556@main): [GTK] Rendering broken in Boxes with 3D passthrough disabled
https://bugs.webkit.org/show_bug.cgi?id=298776
Summary REGRESSION(298556@main): [GTK] Rendering broken in Boxes with 3D passthrough ...
Michael Catanzaro
Reported 2025-09-12 08:41:04 PDT
298556@main "[GTK][WPE] Simplify DRM devices handling" breaks rendering web view content in Boxes. The following errors are printed: KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied Failed to create GBM buffer of size 1024x691: Permission denied Actually, there are a lot more errors than this, but the earlier errors are NOT a regression. Only the above three errors are associated with the regression. The full output is: libEGL warning: failed to get driver name for fd -1 libEGL warning: MESA-LOADER: failed to retrieve device information libEGL warning: failed to get driver name for fd -1 MESA: error: ZINK: failed to choose pdev libEGL warning: egl: failed to create dri2 screen KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied Failed to create GBM buffer of size 1024x691: Permission denied
Attachments
Screenshot showing how to find 3D acceleration switch (32.56 KB, image/png)
2025-09-15 08:16 PDT, Michael Catanzaro
no flags
Michael Catanzaro
Comment 1 2025-09-12 08:42:37 PDT
Boxes has a "3D acceleration" switch that defaults to off. I haven't tested with it on. This bug report is for the off case.
Michael Catanzaro
Comment 2 2025-09-12 08:44:53 PDT
Er, sorry Nikolas, I CCed you because I thought you authored this patch, but I just misread I guess. I see it's Carlos Garcia's patch.
Michael Catanzaro
Comment 3 2025-09-12 09:58:53 PDT
So what I did here was, using GNOME Boxes with 3D acceleration turned off: create a new VM, clone WebKit, cd Tools/Scripts, then: $ ./build-webkit --gtk --cmakeargs "-DENABLE_EXPERIMENTAL_FEATURES=OFF -DUSE_LIBBACKTRACE=OFF -DDEVELOPER_MODE_FATAL_WARNINGS=OFF" $ ./run-minibrowser --release --gtk You can probably just use the latest commit in main. Building webkitglib/2.50 branch or 298556@main itself should also work. The image I used to install the VM was https://kojipkgs.fedoraproject.org/compose/rawhide/Fedora-Rawhide-20250911.n.0/compose/Workstation/x86_64/iso/Fedora-Workstation-Live-Rawhide-20250911.n.0.x86_64.iso in case you want the exact same environment I used, but I bet it will reproduce in any distro. If you use this image, spice-vdagent needs to be started manually (`systemctl --user start spice-vdagent.service`) due to changes in gnome-session 49.
Adam Williamson
Comment 4 2025-09-12 10:15:17 PDT
Just to add - it breaks "qemu KVM VMs with virtio graphics but without 3D acceleration passthrough", in my testing. Boxes uses this config by default. I didn't yet manage to test with working 3D passthrough, so not sure if that case is affected. Other video adapters available in qemu - qxl, VGA - aren't affected.
Carlos Garcia Campos
Comment 5 2025-09-15 01:07:23 PDT
I guess I don't know how to properly use boxes/qemu but I've tried with a debian live image and it's so slow that I can't do anything there. I don't see any 3D acceleration switch in boxes either.
Carlos Garcia Campos
Comment 6 2025-09-15 03:46:41 PDT
Carlos Garcia Campos
Comment 7 2025-09-15 03:47:40 PDT
I haven't been able to reproduce it, but I think I know what could be happening, could you try the PR, please?
Michael Catanzaro
Comment 8 2025-09-15 08:16:19 PDT
Created attachment 476732 [details] Screenshot showing how to find 3D acceleration switch
Adam Williamson
Comment 9 2025-09-15 08:18:56 PDT
the 3D acceleration switch may only be visible if it's built into libvirt, or if the system thinks it's available, or something. Debian may just not have it. Check the VM settings - it may have defaulted to insufficient memory. I'd want at least 4GB to run Workstation/GNOME. Otherwise, maybe the qemu KVM bits aren't installed? Not sure what that package is on Debian. Without KVM you get software CPU emulation, effectively, which is extremely slow.
Michael Catanzaro
Comment 10 2025-09-15 08:42:34 PDT
Your pull request fixes this bug. Thanks! There are still a bunch of warnings that we probably should not see, but these are preexisting problems: libEGL warning: failed to get driver name for fd -1 libEGL warning: MESA-LOADER: failed to retrieve device information libEGL warning: failed to get driver name for fd -1 MESA: error: ZINK: failed to choose pdev libEGL warning: egl: failed to create dri2 screen libEGL warning: egl: failed to create dri2 screen libEGL warning: DRI2: failed to create screen libEGL warning: egl: failed to create dri2 screen libEGL warning: DRI2: failed to create screen
Michael Catanzaro
Comment 11 2025-09-15 08:44:53 PDT
Created bug #298870 for the warnings.
EWS
Comment 12 2025-09-16 03:01:19 PDT
Committed 300021@main (865be85738f3): <https://commits.webkit.org/300021@main> Reviewed commits have been landed. Closing PR #50737 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.