| Summary: | Log spam "drmPrimeHandleToFD() failed: No such file or directory" (Wayland, virtualization) | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Stefan Hoffmeister <stefan.hoffmeister> |
| Component: | core | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED UPSTREAM | ||
| Severity: | normal | CC: | qydwhotmail, xaver.hugl |
| Priority: | NOR | ||
| Version First Reported In: | git master | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Stefan Hoffmeister
2023-12-09 12:37:25 UTC
I believe this significantly correlates with Xwayland running into problems in legacy mode; the logs are full of this, too: ``` Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) glamor0: GL error: GL_OUT_OF_MEMORY in glTexSubImage Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) Backtrace: Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 0: /usr/bin/Xwayland (0x55d5958db000+0x17a432) [0x55d595a55432] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 1: /usr/lib64/dri/vmwgfx_dri.so (0x7f5ab6400000+0x36e0ef) [0x7f5ab676e0ef] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 2: /usr/lib64/dri/vmwgfx_dri.so (0x7f5ab6400000+0x1aff13) [0x7f5ab65aff13] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 3: /usr/lib64/dri/vmwgfx_dri.so (0x7f5ab6400000+0x1c2bf8) [0x7f5ab65c2bf8] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 4: /usr/lib64/dri/vmwgfx_dri.so (0x7f5ab6400000+0x1953ba) [0x7f5ab65953ba] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 5: /usr/lib64/dri/vmwgfx_dri.so (0x7f5ab6400000+0x198903) [0x7f5ab6598903] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 6: /usr/lib64/dri/vmwgfx_dri.so (0x7f5ab6400000+0x19f1b9) [0x7f5ab659f1b9] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 7: /usr/bin/Xwayland (0x55d5958db000+0x729f7) [0x55d59594d9f7] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 8: /usr/bin/Xwayland (0x55d5958db000+0x6117a) [0x55d59593c17a] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 9: /usr/bin/Xwayland (0x55d5958db000+0x61911) [0x55d59593c911] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 10: /usr/bin/Xwayland (0x55d5958db000+0x1b9ff5) [0x55d595a94ff5] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 11: /usr/bin/Xwayland (0x55d5958db000+0x1ba748) [0x55d595a95748] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 12: /usr/bin/Xwayland (0x55d5958db000+0x5cb37) [0x55d595937b37] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 13: /usr/bin/Xwayland (0x55d5958db000+0xff76b) [0x55d5959da76b] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 14: /usr/bin/Xwayland (0x55d5958db000+0x11b17a) [0x55d5959f617a] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 15: /usr/bin/Xwayland (0x55d5958db000+0xb5887) [0x55d595990887] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 16: /usr/bin/Xwayland (0x55d5958db000+0x3b840) [0x55d595916840] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 17: /lib64/libc.so.6 (0x7f5ac341d000+0x2814a) [0x7f5ac344514a] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 18: /lib64/libc.so.6 (__libc_start_main+0x8b) [0x7f5ac344520b] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) 19: /usr/bin/Xwayland (0x55d5958db000+0x3d255) [0x55d595918255] Dec 13 08:38:30 fedora kwin_wayland_wrapper[6521]: (EE) ``` Note that in atomic mode-setting mode, the VMware graphics kernel driver seems to crash on a NULL pointer access, also correlated with the above. The root cause of this is a combination of factors that hit with kwin running in "legacy mode" (this is the default right now due to driver detection and workarounds applied), on the DRM backend: Upon starting the Wayland compositor, output management adds outputs (WaylandCompositor::addOutput). In there, events are connected to handle workspace geometry changes and changes to the cursor (updateCursorLayer, moveCursorLayer). Lambda updateCursorLayer is responsible for handling cursor "content" change. It does that by trying to render a hardware cursor first, and, if that fails, then rendering a fallback. On vmwgfx as of kernel 6.7.0-rc5, trying to render a hardware cursor will *always* fail with "drmPrimeHandleToFD() failed" (and more log messages), and updating the cursor will always enter the fallback path. This causes the log spam. There is a way to disable the attempt to perform hardware cursor rendering: configure environment variable "KWIN_FORCE_SW_CURSOR=1" to enter the (software-based cursor rendering) fallback path immediately. This stops the logspam. *** Bug 473887 has been marked as a duplicate of this bug. *** We require drmPrimeHandleToFD to work correctly; please report this to the broken kernel driver. |