OBS Screen Capture Tidak Muncul di CachyOS KDE Wayland? Ini Fix-nya
Troubleshooting lengkap mengatasi OBS screen capture yang kosong di CachyOS dengan KDE Plasma dan Wayland — mulai dari konflik xdg-desktop-portal hingga autostart fix permanen.
OBS Screen Capture Tidak Muncul di CachyOS KDE Wayland? Ini Fix-nya
Kalau lo baru install OBS di CachyOS (atau Arch Linux pada umumnya) dengan KDE Plasma di atas Wayland, dan pas lo coba tambah source Screen Capture tapi hasilnya kosong atau picker-nya gak muncul sama sekali — lo bukan sendirian. Ini masalah klasik yang muncul dari konflik antar komponen portal desktop.
Kenapa Bisa Terjadi?
Di Wayland, screen capture tidak bisa dilakukan langsung seperti di X11. Aplikasi harus minta izin lewat xdg-desktop-portal — semacam "jembatan" antara aplikasi dengan desktop environment. Masalahnya, di sistem dengan KDE Plasma, seringkali ada dua portal yang aktif bersamaan:
xdg-desktop-portal-kde→ portal resmi untuk KDExdg-desktop-portal-gtk→ portal untuk GTK/GNOME
Ketika OBS minta akses screen capture, sistem bingung portal mana yang harus dipanggil. Hasilnya: picker tidak muncul, atau OBS langsung gagal.
Diagnosa Sistem
Jalankan command berikut untuk cek kondisi sistem:
# Cek display server
echo $XDG_SESSION_TYPE
echo $XDG_CURRENT_DESKTOP
# Cek portal yang keinstall
pacman -Q | grep xdg-desktop-portal
# Cek service portal yang aktif
systemctl --user list-units | grep portal
Kalau outputnya menunjukkan wayland, KDE, dan ada kedua portal GTK dan KDE terinstall — itu konfirmasi masalahnya.
Kenapa Tidak Bisa Hapus Portal GTK?
Solusi paling simpel harusnya hapus xdg-desktop-portal-gtk, tapi:
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
gtk4 dan kde-gtk-config depend ke portal GTK, jadi tidak bisa dihapus begitu saja.
Fix: Override Portal Priority
Solusinya bukan hapus, tapi paksa KDE jadi portal utama lewat file konfigurasi:
mkdir -p ~/.config/xdg-desktop-portal
nano ~/.config/xdg-desktop-portal/portals.conf
Isi dengan:
[preferred]
default=kde
org.freedesktop.impl.portal.Screenshot=kde
org.freedesktop.impl.portal.ScreenCast=kde
Simpan, lalu restart semua portal:
systemctl --user restart xdg-desktop-portal plasma-xdg-desktop-portal-kde xdg-desktop-portal-gtk
Catatan: Nama service KDE portal di sistem adalahplasma-xdg-desktop-portal-kde, bukanxdg-desktop-portal-kde. Cek nama yang benar dengansystemctl --user list-units | grep portal.
Install OBS dan Jalankan dengan EGL
sudo pacman -S obs-studio
Lalu jalankan OBS dengan environment variable untuk Wayland EGL:
OBS_USE_EGL=1 obs
Tanpa OBS_USE_EGL=1, screen capture picker terkadang tetap tidak muncul di Wayland meskipun portal sudah benar.
Untuk menjadikan ini permanen, edit file .desktop OBS:
sudo sed -i 's/Exec=obs/Exec=env OBS_USE_EGL=1 obs/' /usr/share/applications/com.obsproject.Studio.desktop
Fix Permanen: Autostart Portal Restart
Setelah reboot, portal bisa belum ter-trigger dengan benar sebelum OBS dibuka. Solusinya buat autostart entry di KDE:
nano ~/.config/autostart/restart-portals.desktop
Isi dengan:
[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
sleep 5 memberi waktu KDE session untuk fully loaded sebelum portal di-restart.
Untuk pengguna Fish shell: Fish tidak support heredoc (<< 'EOF'). Gunakannanolangsung untuk membuat file, bukan command one-liner.
Ringkasan Root Cause
| Komponen | Status | Keterangan |
|---|---|---|
xdg-desktop-portal-kde |
✅ Dibutuhkan | Portal utama KDE |
xdg-desktop-portal-gtk |
⚠️ Konflik | Tidak bisa dihapus, harus di-override |
OBS_USE_EGL=1 |
✅ Wajib | Agar screen capture bekerja di Wayland |
portals.conf |
✅ Fix utama | Menentukan portal prioritas |
| Autostart restart | ✅ Fix permanen | Agar tidak perlu restart manual setiap reboot |
Penutup
Masalah ini cukup umum di distro berbasis Arch yang pakai KDE Plasma + Wayland, terutama karena xdg-desktop-portal-gtk ikut terinstall sebagai dependensi GTK. Solusinya bukan uninstall, tapi konfigurasi eksplisit lewat portals.conf untuk memastikan KDE portal yang diutamakan untuk operasi screen capture.
Kalau setelah semua langkah di atas OBS masih tidak bisa capture, cek juga apakah pipewire dan wireplumber berjalan normal:
systemctl --user status pipewire wireplumber
Keduanya harus active (running) karena screen capture di Wayland berjalan di atas PipeWire.