Hyprland Ekran Paylaşımı | OBS çalışıyor, Web ve Discord Çalışmıyor

Herekeze Merhaba, Sistem bligilerim;

OS: Arch Linux x86_64
Host: 82L5
Kernel: 6.6.63-1-lts
Uptime: 36 mins
Packages: 1072 (pacman)
Shell: zsh 5.9
1920x1080
DE: Hyprland
Theme: Adwaita [GTK3]
Icons: Adwaita [GTK3]
Terminal: alacritty
CPU: AMD Ryzen 5 5600H with Radeon Graphics (12) @ 4.280GHz
GPU: AMD ATI Radeon Vega Series / Radeon Vega Mobile Series
Memory: 4773MiB / 13828MiB

Sorun;

xdg-desktop-portal-hyprland, xdg-d-p, xdg-d-p-wlr, xvaylandvideobridge yüklü olmasına rağmen OBS studio da screen capture yapabiliyorken webde veya discord native uygulamasında ekran paylaşamıyorum.
systemd --user start yaparak yukarıda saydığım kütüphaneleri başlattım, internette hyprland confige eklemem söylenen konfigleri ekledim kaynak , kaynak, kaynak

okuduğum issualarda aşağıdaki şekilde hyprconfig dosyasına eklemeler yapmam söylendi, ancak hiçbiri düzgün bir şekilde xdg dph yi başlatamayınca bende systemctl den manuel olarak --user flagıyla start verdim, sonuç olarak en azından şuan ekran seçme arayüzü görüyorum ancak web de ve discord da paylaşmak istediğim ekranı seçsemde yükleniyorda kalıyor veya çöküyor.

env = XDG_SESSION_TYPE,wayland
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland 
windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$
windowrulev2 = noanim, class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$
windowrulev2 = noblur, class:^(xwaylandvideobridge)$
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

özellikle dbus ile alakalı bir problem olduğunu düşünüyorum, çünkü bu eklemelerden sonra status kontrolu yaptığımda

Couldn't create the dbus connection ([org.freedesktop.DBus.Error.FileExists] Failed to request bus name (File exists)

bu şekilde hata alıyordum.

Daha önce yaptıklarım;

  • İnternetten sorunun sebebini kontrol ettim
  • Forumda alakalı issue leri kontrol ettim
  • İnternetten ve forumlardaki çözümleri denedim ve işe yaramadı.

Arch linuxde ve hyprland de yeniyim, bu tür sorunlarla ilk kez karşılaşıyorum ve lütfen hatalı br açıklama yaptıysam belirtin

Ekleme : kde nin desktop portal’ınıda denemiştim yine sorun çözülmemişdi.

Son düzenleyen: @nxjoseph 2024-12-03T19:00:23Z

Discord’da yapamama sebebiniz Wayland. Vencord ve ya Vesktop kullanırsanız ekran paylaşımı sorunsuz çalışacaktır.

1 Like

Evet hocam farkındayım ancak webden görüntü paylaşamıyorsam Vencord da da paylaşamam zaten, bu gönderide de zaten konuşuldu bu, Yusuf İpek’ in test etmesi için attı web rtc ekran paylaşım sitesinde de paylaşım yapamıyorum, sadece obs çalışıyor.

Herkeze merhaba arkadaşlar. Belki fark etmişsinizdir ama Yusuf İpek’in son videosunda da söylendiği şekilde Discord Canary sürümünde Wayland ekran paylaşımı desteği geldi, gözümüz aydın. Ancak benim sorunum bununla alakalı değildi çünkü ben OBS haricinde hiç bir uygulamada ekran paylaşımı yapamıyordum. Kendim için sorunu çözdüm belki sizde de işe yarar diye umuyorum ancak hybrd Ekran kartlı bir laptop kullandığım için ve Nvidia olan 2. ekran kartı laptopu satın aldığım günden itibaren ısınma sorunlarına sahip olduğu için genelde kapatıyorum bu yuzde Nvidia ekran kartlarında kesin çalışır diyemem ancak bu yöntem benim için işe yaradı…

Yöntem;

hyprland.conf (~/.config/hypr/hyprland.conf)


# Monitör ayarlarımdaki bitdepth kısmını normalde 10 yapın diyorlar. Ancak bende 8 işe yaradı. 

monitor=HDMI-A-1,preferred,0x0,auto,bitdepth,8
monitor=eDP-1,preferred,1920x0,1.333333,bitdepth,8

# Bu scripti birazdan oluşturucaz
exec-once=~/.config/xdgdpscript.sh
exec-once=dbus-update-activation-environment --systemd --all

xwayland {
  force_zero_scaling = true
}

env = XDG_SESSION_TYPE,wayland
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland



exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

# Burdaki kısımları büyük ihtimalle eklemesenizde olur, ancak ben ekli bırakıcam çünkü bir haftadır uğraştığım için bir kere çalıştı birdağa bozulmasını istemiyorum :)

exec = systemctl --user start xdg-desktop-portal-hyprland.service

xdph.conf (~/.config/hypr/xdph.conf)

screencopy {
    max_fps = 60
}

xdgdpscript.sh (~/.config/xdgdpscript.sh)

#!/usr/bin/env bash
sleep 1
killall -e xdg-desktop-portal-hyprland
killall xdg-desktop-portal
/usr/lib/xdg-desktop-portal-hyprland &
sleep 2
/usr/lib/xdg-desktop-portal &

Gerekli Kütüphaneler;

  • xdg-desktop-portal
  • xdg-desktop-portal-wlr
  • xdg-desktop-portal-hyprland
  • xdg-desktop-portal-gtk

Ayrıca pipewire ve wireplumber / pipewire-session-manager inizi güncellemeniz tavsiye ederim ekliceğimiz kütühaneleri systemctl den enable edin ve varsa pipewire eksik dependency lerinide yükleyin. Lütfen sorununuz hala devam ederse bana yazın ama dediğim gibi bende çalıştı umarım sizde de çalışır sorunun temel kaynağı büyük ihtimalle bende başlamayan kütüphaneler özellikle dbus vs.
kaynak kaynak kaynak kaynak kaynak kaynak kaynak … daha fazla kaynak için yazmanız yeterli

1 Like