OBS Screen Capture Not Showing on CachyOS KDE Wayland? Here's the Fix
A complete troubleshooting guide for fixing blank OBS screen capture on CachyOS with KDE Plasma and Wayland — from xdg-desktop-portal conflicts to a permanent autostart fix.
OBS Screen Capture Not Showing on CachyOS KDE Wayland? Here's the Fix
If you've just installed OBS on CachyOS (or Arch Linux in general) running KDE Plasma on Wayland, and adding a Screen Capture source gives you nothing — no picker, no preview, just silence — you're dealing with a classic portal conflict issue.
Why Does This Happen?
On Wayland, screen capture cannot be done directly the way it works on X11. Applications must request permission through xdg-desktop-portal, which acts as a bridge between apps and the desktop environment. The problem is that on KDE Plasma systems, two portals often end up active simultaneously:
xdg-desktop-portal-kde→ the proper KDE portalxdg-desktop-portal-gtk→ the GTK/GNOME portal
When OBS requests screen capture access, the system becomes ambiguous about which portal to call. The result: the picker never appears, or OBS silently fails.
Diagnosing Your System
Run these commands to check your setup:
# Check display server
echo $XDG_SESSION_TYPE
echo $XDG_CURRENT_DESKTOP
# Check installed portals
pacman -Q | grep xdg-desktop-portal
# Check which portal services are running
systemctl --user list-units | grep portal
If output shows wayland, KDE, and both the GTK and KDE portals installed — that's your culprit.
Why You Can't Just Remove the GTK Portal
The obvious fix would be removing xdg-desktop-portal-gtk, but:
error: failed to prepare transaction (could not satisfy dependencies)
:: removing xdg-desktop-portal-gtk breaks dependency required by gtk4
:: removing xdg-desktop-portal-gtk breaks dependency required by kde-gtk-config
Both gtk4 and kde-gtk-config depend on it, so removal is off the table.
The Fix: Override Portal Priority
Instead of removing it, we force KDE to be the primary portal via an explicit configuration file:
mkdir -p ~/.config/xdg-desktop-portal
nano ~/.config/xdg-desktop-portal/portals.conf
Add the following content:
[preferred]
default=kde
org.freedesktop.impl.portal.Screenshot=kde
org.freedesktop.impl.portal.ScreenCast=kde
Save, then restart all portal services:
systemctl --user restart xdg-desktop-portal plasma-xdg-desktop-portal-kde xdg-desktop-portal-gtk
Note: On KDE systems, the portal service is namedplasma-xdg-desktop-portal-kde, notxdg-desktop-portal-kde. Verify the correct name withsystemctl --user list-units | grep portal.
Install OBS and Launch with EGL
sudo pacman -S obs-studio
Then launch OBS with the Wayland EGL environment variable:
OBS_USE_EGL=1 obs
Without OBS_USE_EGL=1, the screen capture picker may still fail to appear on Wayland even with the portal fix in place.
To make this permanent, patch the OBS desktop entry:
sudo sed -i 's/Exec=obs/Exec=env OBS_USE_EGL=1 obs/' /usr/share/applications/com.obsproject.Studio.desktop
Permanent Fix: Autostart Portal Restart
After a reboot, portals may not be properly triggered before OBS opens. The solution is a KDE autostart entry that restarts them after login:
nano ~/.config/autostart/restart-portals.desktop
With this content:
[Desktop Entry]
Type=Application
Name=Restart XDG Portals
Exec=/bin/bash -c 'sleep 5 && systemctl --user restart xdg-desktop-portal plasma-xdg-desktop-portal-kde xdg-desktop-portal-gtk'
Hidden=false
X-KDE-autostart-phase=2
The sleep 5 gives the KDE session time to fully load before the portals are restarted.
Fish shell users: Fish does not support heredocs (<< 'EOF'). Usenanodirectly to create the file rather than a one-liner piped command.
Root Cause Summary
| Component | Status | Notes |
|---|---|---|
xdg-desktop-portal-kde |
✅ Required | Primary KDE portal |
xdg-desktop-portal-gtk |
⚠️ Conflicts | Cannot be removed; must be overridden |
OBS_USE_EGL=1 |
✅ Required | Enables screen capture on Wayland |
portals.conf |
✅ Core fix | Explicitly sets portal priority |
| Autostart restart | ✅ Permanent fix | No more manual restarts after reboot |
Conclusion
This issue is common on Arch-based distros running KDE Plasma + Wayland, largely because xdg-desktop-portal-gtk gets pulled in as a GTK dependency. The solution isn't uninstalling it — it's explicitly configuring portals.conf to tell the system that KDE should handle screen capture operations.
If OBS still fails to capture after all of the above, verify that pipewire and wireplumber are both running:
systemctl --user status pipewire wireplumber
Both must show active (running) — Wayland screen capture runs on top of PipeWire, so if either is down, nothing will work.