Arch Linux KDE Plasma Wayland session screen capture is not working. All tools including Spectacle, Flameshot, Ksnip, and grim fail. on grim Error shown is “Compositor doesn’t support the screen capture protocol”.
[marcelstevano@ArchPC ~]$ grim screenshot.png
compositor doesn't support the screen capture protocol
All troubleshooting steps such as reinstalling screenshot tools, restarting xdg-desktop-portal services, and testing both GUI and CLI methods have been done, but no screen capture method works. Expected behavior is working screen capture on KDE Wayland, but currently the compositor does not expose the required screen capture protocol. Need clarification whether this is a KWin Wayland limitation, missing configuration, or a bug on Arch KDE.
xdg-desktop-portal services details:
[marcelstevano@ArchPC ~]$ systemctl --user status xdg-desktop-portal
● xdg-desktop-portal.service - Portal service
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static)
Active: active (running) since Sat 2026-05-23 12:22:38 WIB; 12min ago
Invocation: 150bd8e81d2f45dfb1d9d641d38734dc
Main PID: 21801 (xdg-desktop-por)
Tasks: 7 (limit: 2288)
Memory: 6.2M (peak: 6.5M, swap: 16K, swap peak: 60K, zswap: 3.2K)
CPU: 971ms
CGroup: /user.slice/user-1002.slice/user@1002.service/session.slice/xdg-desktop-portal.service
└─21801 /usr/lib/xdg-desktop-portal
May 23 12:22:37 ArchPC systemd[16798]: Starting Portal service...
May 23 12:22:38 ArchPC /usr/lib/xdg-desktop-portal[21801]: Choosing gtk.portal for org.freedesktop.impl.porta>
May 23 12:22:38 ArchPC systemd[16798]: Started Portal service.
...skipping...
● xdg-desktop-portal.service - Portal service
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static)
Active: active (running) since Sat 2026-05-23 12:22:38 WIB; 12min ago
Invocation: 150bd8e81d2f45dfb1d9d641d38734dc
Main PID: 21801 (xdg-desktop-por)
Tasks: 7 (limit: 2288)
Memory: 6.2M (peak: 6.5M, swap: 16K, swap peak: 60K, zswap: 3.2K)
CPU: 971ms
CGroup: /user.slice/user-1002.slice/user@1002.service/session.slice/xdg-desktop-portal.service
└─21801 /usr/lib/xdg-desktop-portal
May 23 12:22:37 ArchPC systemd[16798]: Starting Portal service...
May 23 12:22:38 ArchPC /usr/lib/xdg-desktop-portal[21801]: Choosing gtk.portal for org.freedesktop.impl.porta>
May 23 12:22:38 ArchPC systemd[16798]: Started Portal service.
Screenshot request failed: "The process is not authorized to take a screenshot"
QPixmap::scaled: Pixmap is a null pixmap
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Could not take a screenshot
I’d like to chime in that I have the same problem, on two separate installs of CachyOS, one a mere day old. So far I’ve tried grim and hyprshot, both fail with “compositor doesn’t support the screen capture protocol.” If it’s a problem with configuration then CachyOS has that problem by default.
I am facing the same or similar issue on an ~6 month old install of CachyOS. I think I have first had it since before the rollout of Plasma 6.7, so only around two months ago. Screen sharing in Firefox doesn’t work until I run this command: systemctl --user restart xdg-desktop-portal.service. I say same or similar issue, since I believe it is related to the same Screen Cast API creating problems. While the issue in Firefox or other browsers is resolved in this way, I can confirm that programs like grim, hyprshot or ksnip do not work even after restarting the service. Spectacle always works without error. On a different PC where I only recently installed CachyOS I can do screen sharing without any hitches. I did not test the other programs there. Maybe my problem is different enough to warrant a separate thread, but would appreciate some confirmation on what exactly Firefox does different to the apps where it doesn’t work at all. I think the desktop capture module from WebRTC seems to be the relevant part of the Firefox code base in my case. It does not seem clear whether it is exactly the same API or not.
For anyone where this command systemctl --user restart xdg-desktop-portal.service helps to make the screen sharing prompt appear, doing systemctl --user edit xdg-desktop-portal.service and adding the lines:
[Unit]
After=plasma-core.target
should resolve the issue. I believe there is some weird race condition going on on my machine for some reason, which causes the issue in the first place. This fixes it (maybe it’s only a hack, rather than a real fix lol).