Bug 506288 - kwin_wayland-6.4.3 is not working with drm (from unprivileged user, regardless on GPU)
Summary: kwin_wayland-6.4.3 is not working with drm (from unprivileged user, regardles...
Status: REPORTED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: 6.4.1
Platform: Gentoo Packages Linux
: NOR major
Target Milestone: ---
Assignee: KWin default assignee
URL: https://bugs.gentoo.org/959144
Keywords:
Depends on:
Blocks:
 
Reported: 2025-06-27 17:31 UTC by Denis Reva
Modified: 2025-08-21 02:31 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
emerge --info (9.76 KB, text/plain)
2025-06-27 17:32 UTC, Denis Reva
Details
wayland-session logs from sddm (25.58 KB, text/x-log)
2025-06-27 17:32 UTC, Denis Reva
Details
vulkaninfo (147.03 KB, text/plain)
2025-06-27 17:57 UTC, Denis Reva
Details
glxinfo (59.40 KB, text/plain)
2025-06-27 17:57 UTC, Denis Reva
Details
Kwin data FROM X11 (5.87 KB, text/plain)
2025-06-27 17:59 UTC, Denis Reva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Reva 2025-06-27 17:31:05 UTC
SUMMARY
Gentoo bug:
https://bugs.gentoo.org/959144

I am not able to login within wayland session after upgrade to >kde-plasma/kwin-6.4.0 (kde 6.4.0 generally).
I can launch KDE (kwin) with X11.
I can launch KDE (kwin) on wayland with root user.
I can't launch KDE (kwin) on wayland with normal user.
The issue is reproduced on any unpriveleged user both from tty (dbus-run-session kwin_wayland) or from SDDM.
But launching KDE (or kwin) session with root user works just fine!
All the normal users (elwe) within video group.
I have no other running wayland compositor.

Also a lot of information is provided in gentoo bug https://bugs.gentoo.org/959144
I will provide any related information if you tell what is needed. 

STEPS TO REPRODUCE
Ether:
1. Launch kwin_wayland --drm
Or:
2.  Launch dbus-run-session startplasma-wayland (or kwin_wayland directly)
3. Launch it with SDDM

OBSERVED RESULT

THE LOG FROM SDDM:

elwe@RarogCmexDell ~ $ cat ~/.local/share/sddm/wayland-session.log 
org.kde.startup: not a reply org.freedesktop.locale1 QDBusMessage(type=Error, service="", error name="org.freedesktop.DBus.Error.ServiceUnknown", error message="The name org.freedesktop.locale1 was not provided by any .service files", signature="s", contents=("The name org.freedesktop.locale1 was not provided by any .service files") )
dbus-daemon[30986]: [session uid=1005 pid=30986 pidfd=5] Activating service name='org.kde.KSplash' requested by ':1.0' (uid=1005 pid=30987 comm="/usr/bin/startplasma-wayland")
dbus-daemon[30986]: [session uid=1005 pid=30986 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.4' (uid=1005 pid=31004 comm="/usr/bin/kcminit_startup")
dbus-daemon[30986]: [session uid=1005 pid=30986 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.5' (uid=1005 pid=31007 comm="/usr/libexec/xdg-desktop-portal")
dbus-daemon[30986]: [session uid=1005 pid=30986 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore'
dbus-daemon[30986]: [session uid=1005 pid=30986 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.5' (uid=1005 pid=31007 comm="/usr/libexec/xdg-desktop-portal")
dbus-daemon[30986]: [session uid=1005 pid=30986 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents'
fusermount3: failed to access mountpoint /run/user/1005/doc: Permission denied
error: fuse init failed: Can't mount path /run/user/1005/doc

(/usr/libexec/xdg-desktop-portal:31007): xdg-desktop-portal-WARNING **: 21:45:04.326: Document portal fuse mount point unknown: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.8 was not provided by any .service files
dbus-daemon[30986]: [session uid=1005 pid=30986 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.5' (uid=1005 pid=31007 comm="/usr/libexec/xdg-desktop-portal")
No backend specified, automatically choosing drm
kwin_core: Failed to activate /org/freedesktop/login1/session/_321 session. Maybe another compositor is running?
kwin_wayland_drm: failed to open drm device at "/dev/dri/card0"
kwin_wayland_drm: failed to open drm device at "/dev/dri/card1"
kwin_wayland_drm: No suitable DRM devices have been found
No backend specified, automatically choosing drm

...
(long spam of the same error with "Failed to activate")
The following errors is probably unrelated and there only because from 
qt.qpa.wayland: "wl-shell" is a deprecated shell extension, prefer using "xdg-shell" if supported by the compositor by setting the environment variable QT_WAYLAND_SHELL_INTEGRATION
qt.qpa.wayland: "wl-shell" is a deprecated shell extension, prefer using "xdg-shell" if supported by the compositor by setting the environment variable QT_WAYLAND_SHELL_INTEGRATION
qt.qpa.wayland: Loading shell integration failed.
qt.qpa.wayland: Attempted to load the following shells QList("xdg-shell", "wl-shell", "ivi-shell", "qt-shell")
qt.qpa.wayland: "wl-shell" is a deprecated shell extension, prefer using "xdg-shell" if supported by the compositor by setting the environment variable QT_WAYLAND_SHELL_INTEGRATION
qt.qpa.wayland: Loading shell integration failed.
org.kde.startup: "kdeinit5_shutdown" QList() exited with code 255
qt.qpa.wayland: Attempted to load the following shells QList("xdg-shell", "wl-shell", "ivi-shell", "qt-shell")
qt.qpa.wayland: Loading shell integration failed.
qt.qpa.wayland: Attempted to load the following shells QList("xdg-shell", "wl-shell", "ivi-shell", "qt-shell")
startplasma-wayland: Shutting down...
startplasmacompositor: Shutting down...
startplasmacompositor: Done.

---------------
LOGS FROM X11
From X11 session (unpriveleged user) issue can be reproduced:
elwe@RarogCmexDell ~ $ kwin_wayland --drm
kwin_core: Failed to activate /org/freedesktop/login1/session/_322 session. Maybe another compositor is running?
Accepting client connections on sockets: QList("wayland-0")
kwin_wayland_drm: failed to open drm device at "/dev/dri/card0"
kwin_wayland_drm: failed to open drm device at "/dev/dri/card1"
kwin_wayland_drm: No suitable DRM devices have been found.

X11 backend of kwin_wayland is working (with some unrelated errors):

elwe@RarogCmexDell ~ $ kwin_wayland 
No backend specified, automatically choosing X11 because DISPLAY is set
Accepting client connections on sockets: QList("wayland-0")
kwin_wayland_x11windowed: X server supports SHM extension but not shared pixmaps
kf.globalaccel.kglobalacceld: Failed to register service org.kde.kglobalaccel
kwin_scene_opengl: 0x502: GL_INVALID_OPERATION error generated. <image> and <target> are incompatible
kwin_scene_opengl: Invalid framebuffer status:  "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"

EXPECTED RESULT

It simply works

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Gentoo Linux with gentoo-kernel 6.15.3 and nvidia-drivers 575.64
KDE Plasma Version: 6.4.1
KDE Frameworks Version: 6.15.0
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Denis Reva 2025-06-27 17:32:18 UTC
Created attachment 182739 [details]
emerge --info
Comment 2 Denis Reva 2025-06-27 17:32:36 UTC
Created attachment 182740 [details]
wayland-session logs from sddm
Comment 3 Denis Reva 2025-06-27 17:33:56 UTC
Also:
elwe@RarogCmexDell ~ $ groups elwe
lp wheel audio dialout video input kvm render plugdev lpadmin docker lxd libvirt pipewire qbittorrent teleri
elwe@RarogCmexDell ~ $ LC_ALL=C ls -la /dev/dri/
total 0
drwxr-xr-x   3 root root        140 Jun 27 20:03 .
drwxr-xr-x  20 root root       5820 Jun 27 20:04 ..
drwxr-xr-x   2 root root        120 Jun 27 20:03 by-path
crw-rw----+  1 root video  226,   0 Jun 27 20:03 card0
crw-rw----+  1 root video  226,   1 Jun 27 20:03 card1
crw-rw-rw-   1 root render 226, 128 Jun 27 20:03 renderD128
crw-rw-rw-   1 root render 226, 129 Jun 27 20:03 renderD129
elwe@RarogCmexDell ~ $ nvidia-smi
Fri Jun 27 22:33:27 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.64                 Driver Version: 575.64         CUDA Version: 12.9     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1060 3GB    On  |   00000000:04:00.0  On |                  N/A |
|  0%   46C    P8              9W /  125W |     529MiB /   3072MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  Tesla P100-PCIE-12GB           On  |   00000000:42:00.0 Off |                    0 |
| N/A   59C    P0             28W /  250W |       6MiB /  12288MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
Comment 4 Denis Reva 2025-06-27 17:38:08 UTC
I have found the simular issues:
1. On Garuda Linux:
https://forum.garudalinux.org/t/switching-to-wayland-failed-to-open-drm-device-at-dev-dri-card0/14738/41
2. On Gentoo Linux Forum:
https://forums.gentoo.org/viewtopic-t-1173686.html
(but it has intel gpu).

I have tried reinstalling both kwin, nvidia-drivers and gentoo-kernel.
Comment 5 Denis Reva 2025-06-27 17:57:23 UTC
Created attachment 182741 [details]
vulkaninfo
Comment 6 Denis Reva 2025-06-27 17:57:38 UTC
Created attachment 182742 [details]
glxinfo
Comment 7 Denis Reva 2025-06-27 17:59:20 UTC
Created attachment 182743 [details]
Kwin data FROM X11
Comment 8 Denis Reva 2025-06-28 06:53:22 UTC
The closest bug that I found is https://bugs.kde.org/show_bug.cgi?id=446160
Comment 9 Denis Reva 2025-06-28 07:49:14 UTC
Dbus and Elogind is working https://bugs.gentoo.org/959144#c16
Comment 10 Denis Reva 2025-06-28 10:25:05 UTC
The issue has been reproduced with x11-drivers/nvidia-drivers-570.169
Comment 11 Denis Reva 2025-07-02 09:03:21 UTC
The issue has been reproduced with kwin-6.4.2 and x11-drivers/nvidia-drivers-575.64.03
Comment 12 Vlad Zahorodnii 2025-07-08 09:38:10 UTC
Do you know whether the issue happens when using GDM instead?
Comment 13 Denis Reva 2025-07-08 17:45:28 UTC
(In reply to Vlad Zahorodnii from comment #12)
> Do you know whether the issue happens when using GDM instead?
I haven't test GDM yet, but I tested Weston and it worked.
Comment 14 Denis Reva 2025-07-09 04:56:19 UTC
> I haven't test GDM yet, but I tested Weston and it worked.
I mean Weston works standalone.
The issue is reproduced when I launch it from TTY with dbus-session-start startplasma_wayland, I don't think that GDM will change something, but I'll give it a try later.
Comment 15 Denis Reva 2025-07-11 09:50:35 UTC
I have just tested Gnome's Mutter; it works on that system (with SDDM).
Comment 16 Matt Snow 2025-07-13 19:52:53 UTC
have you confirmed yet that that KMS is functional, e.g. via the kernel command line option ‘nvidia-drm.modeset=1’?  I faced nearly this exact issue with a new Gentoo installation: in my case, I was building a unified kernel image and wasn’t correctly setting the cmdline options
Comment 17 Denis Reva 2025-07-14 17:07:00 UTC
(In reply to Matt Snow from comment #16)
> have you confirmed yet that that KMS is functional, e.g. via the kernel
> command line option ‘nvidia-drm.modeset=1’?
Sadly, yes, it is the first thing I have checked. I am using Gentoo's dist-kernel
RarogCmexDell /home/elwe # cat /sys/module/nvidia_drm/parameters/modeset
Y
RarogCmexDell /home/elwe # cat /sys/module/nvidia_drm/parameters/fbdev 
Y
Comment 18 Denis Reva 2025-07-14 17:07:38 UTC
Issue still present even if modesetting is enabled.
Comment 19 Denis Reva 2025-07-14 17:20:57 UTC
I added nvidia-drm.modeset=1 to kernel commandline. Nothing changed.
I have also unmasked matrox mgag200 to test if it works. The log become even more hilarious:
No backend specified, automatically choosing drm
kwin_core: Failed to activate /org/freedesktop/login1/session/_35 session. Maybe another compositor is running?
kwin_wayland_drm: failed to open drm device at "/dev/dri/card0"
kwin_wayland_drm: failed to open drm device at "/dev/dri/card1"
kwin_wayland_drm: failed to open drm device at "/dev/dri/card2"
kwin_wayland_drm: No suitable DRM devices have been found
No backend specified, automatically choosing drm...
(loop)
Comment 20 Denis Reva 2025-07-14 17:22:39 UTC
I have amd radeon rx 560 2gb, I will attempt with one later.
Comment 21 Denis Reva 2025-07-17 09:03:13 UTC
The issue has reproduced with kwin 6.4.3
Comment 22 Denis Reva 2025-07-17 11:40:34 UTC
The issue has been reproduced with Radeon RX 560 2Gb. This is not nvidia's fault this time :)
The bug become a lot more mysterious.
Comment 23 matti.tiainen 2025-07-17 14:19:46 UTC
I have the same issue running Gentoo (ARM64) on UTM w/ Apple hypervisor and virtio_gpu + llvmpipe.

kwin/plasma wayland worked fine until upgrading to 6.4.1 or so, now I see the same "Failed to activate: ... Maybe another compositor is running" and "failed to open drm device at /dev/dri/card0" messages.

I'm using greetd as the display/session manager. kwin x11 still works.
Comment 24 Denis Reva 2025-07-18 09:34:48 UTC
I have found a suspicious piece. Under normal user `eglinfo -B` shows:
GBM platform:
_amdgpu_device_initialize: amdgpu_query_info(ACCEL_WORKING) failed (-13)
amdgpu: amdgpu_device_initialize failed.
_amdgpu_device_initialize: amdgpu_query_info(ACCEL_WORKING) failed (-13)
amdgpu: amdgpu_device_initialize failed.
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: llvmpipe (LLVM 20.1.8, 256 bits)
OpenGL core profile version: 4.5 (Core Profile) Mesa 25.1.6
OpenGL core profile shading language version: 4.50
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: llvmpipe (LLVM 20.1.8, 256 bits)
OpenGL compatibility profile version: 4.5 (Compatibility Profile) Mesa 25.1.6
OpenGL compatibility profile shading language version: 4.50
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: llvmpipe (LLVM 20.1.8, 256 bits)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 25.1.6
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

However, under root user GBM platform is working as intended:
GBM platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: AMD
OpenGL core profile renderer: AMD Radeon RX 560 Series (radeonsi, polaris11, ACO, DRM 3.63, 6.15.7-gentoo-dist)
OpenGL core profile version: 4.6 (Core Profile) Mesa 25.1.6
OpenGL core profile shading language version: 4.60
OpenGL compatibility profile vendor: AMD
OpenGL compatibility profile renderer: AMD Radeon RX 560 Series (radeonsi, polaris11, ACO, DRM 3.63, 6.15.7-gentoo-dist)
OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 25.1.6
OpenGL compatibility profile shading language version: 4.60
OpenGL ES profile vendor: AMD
OpenGL ES profile renderer: AMD Radeon RX 560 Series (radeonsi, polaris11, ACO, DRM 3.63, 6.15.7-gentoo-dist)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 25.1.6
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20
Comment 25 Denis Reva 2025-07-21 08:39:36 UTC
(In reply to Reva Denis from comment #24)
> I have found a suspicious piece. Under normal user `eglinfo -B` shows:
> So what the amdgpu_query_info(ACCEL_WORKING) failed (-13) mean?

After long research - this is "not a bug" and it's not related to the issue:
https://bbs.archlinux.org/viewtopic.php?pid=2236371#p2236371
https://gitlab.freedesktop.org/mesa/mesa/-/issues/7289
Comment 26 Denis Reva 2025-07-23 05:18:26 UTC
See also:
https://bugs.gentoo.org/959144#c26
Comment 27 Louis Leseur 2025-08-21 02:25:49 UTC
I'm having a similar issue on a Dell laptop using intel GPU on Alpine Linux 3.22.

When running `kwin_wayland --drm --exit-with-session=kwrite` as user:

kwin_watchdog: Watchdog: disabled, not running on a systemd environment or watchdog is not set up. No WATCHDOG_USEC.
kwin_core: Failed to activate /org/freedesktop/login1/session/c5 session. Maybe another compositor is running?
Accepting client connections on sockets: QList("wayland-0")
kwin_core: Compositing forced to QPainter mode by environment variable
kwin_wayland_drm: failed to open drm device at "/dev/dri/card1"
kwin_wayland_drm: No suitable DRM devices have been found
QThreadStorage: entry 7 destroyed before end of thread 0x7cbcc8763a60

But when running as root, it works fine:

kwin_watchdog: Watchdog: disabled, not running on a systemd environment or watchdog is not set up. No WATCHDOG_USEC.
Accepting client connections on sockets: QList("wayland-0")
kwin_core: Compositing forced to QPainter mode by environment variable
kwin_wayland_drm: drmModeAddFB2WithModifiers is supported on GPU "/dev/dri/card1"
kwin_wayland_drm: Using Atomic Mode Setting on gpu "/dev/dri/card1"
kwin_wayland_drm: Number of planes on GPU "/dev/dri/card1" : 9
kwin_wayland_drm: adding GPU /dev/dri/card1
kwin_wayland_drm: New output on GPU /dev/dri/card1: eDP-1-0x082E
kwin_xkbcommon: XKB: created compose table from locale en_US.UTF-8 with path /usr/share/X11/locale/en_US.UTF-8/Compose
kwin_libinput: Libinput: event12 - thumb: enabled thumb detection (area)
kwin_libinput: Libinput: event12 - lid: activated for DELL08BC:00 04F3:30CA Touchpad<->Lid Switch
kwin_libinput: Libinput: event1  - lid: keyboard paired with Lid Switch<->AT Translated Set 2 keyboard
kwin_libinput: Libinput: event12 - palm: dwt activated with DELL08BC:00 04F3:30CA Touchpad<->AT Translated Set 2 keyboard
kwin_core: KGlobalAcceld inited
kwin_core: Attempting to load the QPainter scene
kwin_core: QPainter compositing has been successfully initialized
kwin_decorations: Trying to load decoration plugin:  "/usr/lib/qt6/plugins/org.kde.kdecoration3/org.kde.breeze.so"
kwin_wayland_drm: Attempting to match QList(DrmConnector(id=99, gpu="/dev/dri/card1", name="eDP-1", connection="Connected", countMode=2), DrmConnector(id=107, gpu="/dev/dri/card1", name="HDMI-A-1", connection="Disconnected", countMode=0), DrmConnector(id=116, gpu="/dev/dri/card1", name="DP-1", connection="Disconnected", countMode=0), DrmConnector(id=123, gpu="/dev/dri/card1", name="HDMI-A-2", connection="Disconnected", countMode=0)) with QList(DrmObject(id=53, gpu="/dev/dri/card1"), DrmObject(id=75, gpu="/dev/dri/card1"), DrmObject(id=97, gpu="/dev/dri/card1"))
kwin_wayland_drm: Assigning CRTC 53 to connector 99
kwin_wayland_drm: Attempting to match QList(DrmConnector(id=107, gpu="/dev/dri/card1", name="HDMI-A-1", connection="Disconnected", countMode=0), DrmConnector(id=116, gpu="/dev/dri/card1", name="DP-1", connection="Disconnected", countMode=0), DrmConnector(id=123, gpu="/dev/dri/card1", name="HDMI-A-2", connection="Disconnected", countMode=0)) with QList(DrmObject(id=75, gpu="/dev/dri/card1"), DrmObject(id=97, gpu="/dev/dri/card1"))
kwin_wayland_drm: Attempting to match QList(DrmConnector(id=116, gpu="/dev/dri/card1", name="DP-1", connection="Disconnected", countMode=0), DrmConnector(id=123, gpu="/dev/dri/card1", name="HDMI-A-2", connection="Disconnected", countMode=0)) with QList(DrmObject(id=75, gpu="/dev/dri/card1"), DrmObject(id=97, gpu="/dev/dri/card1"))
kwin_wayland_drm: Attempting to match QList(DrmConnector(id=123, gpu="/dev/dri/card1", name="HDMI-A-2", connection="Disconnected", countMode=0)) with QList(DrmObject(id=75, gpu="/dev/dri/card1"), DrmObject(id=97, gpu="/dev/dri/card1"))
kwin_wayland_drm: Testing CRTC assignment... passed
[...]
Comment 28 Louis Leseur 2025-08-21 02:31:32 UTC
Unfortunately, I did not manage to get any more verbose output from kwin_wayland.

I did run it with strace to compare when run as root / user, but I did not find any obvious error that would cause this issue.

Also, I'm running on 6.3.6, and other compositors (tested weston) seems to work fine.