Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Screen Sharing does not work now #251

Open
piyushyadav0191 opened this issue Aug 21, 2024 · 82 comments
Open

Screen Sharing does not work now #251

piyushyadav0191 opened this issue Aug 21, 2024 · 82 comments
Labels
bug Something isn't working

Comments

@piyushyadav0191
Copy link

Regression?

Yes

System Info and Version

System/Version info
ble controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] [1002:15d8] (rev c4) (prog-if 00 [VGA controller])


os-release: NAME="EndeavourOS"
PRETTY_NAME="EndeavourOS"
ID="endeavouros"
ID_LIKE="arch"
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://endeavouros.com"
DOCUMENTATION_URL="https://discovery.endeavouros.com"
SUPPORT_URL="https://forum.endeavouros.com"
BUG_REPORT_URL="https://forum.endeavouros.com/c/general-system/endeavouros-installation"
PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2"
LOGO="endeavouros"


plugins:

======Config-Start======


Config File: /home/ranker/.config/hypr/hyprland.conf: Read Succeeded

#      ░▒▒▒░░░░░▓▓          ___________
#    ░░▒▒▒░░░░░▓▓        //___________/
#   ░░▒▒▒░░░░░▓▓     _   _ _    _ _____
#   ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/
#    ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___
#     ░▒▒░░▓▓   ▓▓   \__  |____/ |____/
#       ░▒▓▓   ▓▓  //____/


$scrPath = $HOME/.local/share/bin # set scripts path


# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄

# See https://wiki.hyprland.org/Configuring/Monitors/

monitor=,preferred,auto,1,bitdepth,10


# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█

# See https://wiki.hyprland.org/Configuring/Keywords/

exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = dbus-update-activation-environment --systemd --all # for XDPH
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps
exec-once = waybar # launch the system bar
exec-once = blueman-applet # systray app for Bluetooth
exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media
exec-once = nm-applet --indicator # systray app for Network/Wifi
exec-once = dunst # start notification demon
exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
exec-once = $scrPath/batterynotify.sh # battery notification


# █▀▀ █▄░█ █░█
# ██▄ █░▀█ ▀▄▀

# See https://wiki.hyprland.org/Configuring/Environment-variables/

env = PATH,$PATH:$scrPath
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = MOZ_ENABLE_WAYLAND,1
env = GDK_SCALE,1


# █ █▄░█ █▀█ █░█ ▀█▀
# █ █░▀█ █▀▀ █▄█ ░█░

# See https://wiki.hyprland.org/Configuring/Variables/

input {
    kb_layout = us
    follow_mouse = 1

    touchpad {
        natural_scroll = no
    }

    sensitivity = 0
    force_no_accel = 1
}

# See https://wiki.hyprland.org/Configuring/Keywords/#executing

device {
    name = epic mouse V1
    sensitivity = -0.5
}

# See https://wiki.hyprland.org/Configuring/Variables/

gestures {
    workspace_swipe = true
    workspace_swipe_fingers = 3
}


# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█

# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/

dwindle {
    pseudotile = yes
    preserve_split = yes
}

# See https://wiki.hyprland.org/Configuring/Master-Layout/

master {
    new_status = master
}


# █▀▄▀█ █ █▀ █▀▀
# █░▀░█ █ ▄█ █▄▄

# See https://wiki.hyprland.org/Configuring/Variables/

misc {
    vrr = 0
    disable_hyprland_logo = true
    disable_splash_rendering = true
    force_default_wallpaper = 0
}

xwayland {
    force_zero_scaling = true
}


# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀
# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄

source = ~/.config/hypr/animations.conf
source = ~/.config/hypr/keybindings.conf
source = ~/.config/hypr/windowrules.conf
source = ~/.config/hypr/themes/common.conf # shared theme settings
source = ~/.config/hypr/themes/theme.conf # theme specific settings
source = ~/.config/hypr/themes/colors.conf # wallbash color override
source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static
source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static

# Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults


Config File: /home/ranker/.config/hypr/animations.conf: Read Succeeded

# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█

# See https://wiki.hyprland.org/Configuring/Animations/

animations {
    enabled = yes
    bezier = wind, 0.05, 0.9, 0.1, 1.05
    bezier = winIn, 0.1, 1.1, 0.1, 1.1
    bezier = winOut, 0.3, -0.3, 0, 1
    bezier = liner, 1, 1, 1, 1
    animation = windows, 1, 6, wind, slide
    animation = windowsIn, 1, 6, winIn, slide
    animation = windowsOut, 1, 5, winOut, slide
    animation = windowsMove, 1, 5, wind, slide
    animation = border, 1, 1, liner
    animation = borderangle, 1, 30, liner, loop
    animation = fade, 1, 10, default
    animation = workspaces, 1, 5, wind
}


Config File: /home/ranker/.config/hypr/keybindings.conf: Read Succeeded

# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█

# See https://wiki.hyprland.org/Configuring/Keywords/
#  &  https://wiki.hyprland.org/Configuring/Binds/

# Main modifier
$mainMod = Super # super / meta / windows key

# Assign apps
$term = kitty
$editor = code
$file = dolphin
$browser = firefox

# Window/Session actions
bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window
bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window
bind = $mainMod, Delete, exit, # kill hyprland session
bind = $mainMod, W, togglefloating, # toggle the window between focus and float
bind = $mainMod, G, togglegroup, # toggle the window between focus and group
bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen
bind = $mainMod, L, exec, swaylock # launch lock screen
bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window
bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu
bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar

# Application shortcuts
bind = $mainMod, T, exec, $term # launch terminal emulator
bind = $mainMod, E, exec, $file # launch file manager
bind = $mainMod, C, exec, $editor # launch text editor
bind = $mainMod, F, exec, $browser # launch web browser
bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)

# Rofi menus
bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher
bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher
bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer

# Audio control
bindl  = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume
bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume
bindl  = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
bindl  = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume

# Media control
bindl  = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause
bindl  = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause
bindl  = , XF86AudioNext, exec, playerctl next # media next
bindl  = , XF86AudioPrev, exec, playerctl previous # media previous

# Brightness control
bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness
bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness

# Move between grouped windows
bind = $mainMod CTRL , H, changegroupactive, b
bind = $mainMod CTRL , L, changegroupactive, f

# Screenshot/Screencapture
bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture
bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture
bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture

# Custom scripts
bind = $mainMod+Alt, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
bind = $mainMod+Alt, Right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper
bind = $mainMod+Alt, Left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper
bind = $mainMod+Alt, Up, exec, $scrPath/wbarconfgen.sh n # next waybar mode
bind = $mainMod+Alt, Down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode
bind = $mainMod+Shift, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu
bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu
bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard
bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout
bind = $mainMod, slash, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint

# Move/Change window focus
bind = $mainMod, Left, movefocus, l
bind = $mainMod, Right, movefocus, r
bind = $mainMod, Up, movefocus, u
bind = $mainMod, Down, movefocus, d
bind = Alt, Tab, movefocus, d

# Switch workspaces
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Switch workspaces to a relative workspace
bind = $mainMod+Ctrl, Right, workspace, r+1
bind = $mainMod+Ctrl, Left, workspace, r-1

# Move to the first empty workspace
bind = $mainMod+Ctrl, Down, workspace, empty 

# Resize windows
binde = $mainMod+Shift, Right, resizeactive, 30 0
binde = $mainMod+Shift, Left, resizeactive, -30 0
binde = $mainMod+Shift, Up, resizeactive, 0 -30
binde = $mainMod+Shift, Down, resizeactive, 0 30

# Move focused window to a workspace
bind = $mainMod+Shift, 1, movetoworkspace, 1
bind = $mainMod+Shift, 2, movetoworkspace, 2
bind = $mainMod+Shift, 3, movetoworkspace, 3
bind = $mainMod+Shift, 4, movetoworkspace, 4
bind = $mainMod+Shift, 5, movetoworkspace, 5
bind = $mainMod+Shift, 6, movetoworkspace, 6
bind = $mainMod+Shift, 7, movetoworkspace, 7
bind = $mainMod+Shift, 8, movetoworkspace, 8
bind = $mainMod+Shift, 9, movetoworkspace, 9
bind = $mainMod+Shift, 0, movetoworkspace, 10

# Move focused window to a relative workspace
bind = $mainMod+Ctrl+Alt, Right, movetoworkspace, r+1
bind = $mainMod+Ctrl+Alt, Left, movetoworkspace, r-1

# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓]
$moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
binded = $mainMod SHIFT $CONTROL, left,Move activewindow to the right,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
binded = $mainMod SHIFT $CONTROL, right,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
binded = $mainMod SHIFT $CONTROL, up,Move activewindow to the right,exec, $moveactivewindow  0 -30 || hyprctl dispatch movewindow u
binded = $mainMod SHIFT $CONTROL, down,Move activewindow to the right,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d

# Scroll through existing workspaces
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# Move/Resize focused window
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bindm = $mainMod, Z, movewindow
bindm = $mainMod, X, resizewindow

# Move/Switch to special workspace (scratchpad)
bind = $mainMod+Alt, S, movetoworkspacesilent, special
bind = $mainMod, S, togglespecialworkspace,

# Toggle focused window split
bind = $mainMod, J, togglesplit

# Move focused window to a workspace silently
bind = $mainMod+Alt, 1, movetoworkspacesilent, 1
bind = $mainMod+Alt, 2, movetoworkspacesilent, 2
bind = $mainMod+Alt, 3, movetoworkspacesilent, 3
bind = $mainMod+Alt, 4, movetoworkspacesilent, 4
bind = $mainMod+Alt, 5, movetoworkspacesilent, 5
bind = $mainMod+Alt, 6, movetoworkspacesilent, 6
bind = $mainMod+Alt, 7, movetoworkspacesilent, 7
bind = $mainMod+Alt, 8, movetoworkspacesilent, 8
bind = $mainMod+Alt, 9, movetoworkspacesilent, 9
bind = $mainMod+Alt, 0, movetoworkspacesilent, 10


Config File: /home/ranker/.config/hypr/windowrules.conf: Read Succeeded

# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█

# See https://wiki.hyprland.org/Configuring/Window-Rules/

windowrulev2 = opacity 0.90 0.90,class:^(firefox)$
windowrulev2 = opacity 0.90 0.90,class:^(Brave-browser)$
windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$
windowrulev2 = opacity 0.80 0.80,class:^(Code)$
windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$
windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$
windowrulev2 = opacity 0.80 0.80,class:^(kitty)$
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$
windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$
windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$
windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$
windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$
windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$
windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$
windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$
windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$
windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$
windowrulev2 = opacity 0.70 0.70,class:^(steamwebhelper)$
windowrulev2 = opacity 0.70 0.70,class:^(Spotify)$
windowrulev2 = opacity 0.70 0.70,initialTitle:^(Spotify Free)$

windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt
windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk

windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$
windowrulev2 = float,title:^(About Mozilla Firefox)$
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
windowrulev2 = float,class:^(firefox)$,title:^(Library)$
windowrulev2 = float,class:^(kitty)$,title:^(top)$
windowrulev2 = float,class:^(kitty)$,title:^(btop)$
windowrulev2 = float,class:^(kitty)$,title:^(htop)$
windowrulev2 = float,class:^(vlc)$
windowrulev2 = float,class:^(kvantummanager)$
windowrulev2 = float,class:^(qt5ct)$
windowrulev2 = float,class:^(qt6ct)$
windowrulev2 = float,class:^(nwg-look)$
windowrulev2 = float,class:^(org.kde.ark)$
windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = float,class:^(blueman-manager)$
windowrulev2 = float,class:^(nm-applet)$
windowrulev2 = float,class:^(nm-connection-editor)$
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$

windowrulev2 = float,class:^(Signal)$ # Signal-Gtk
windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk
windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk
windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk
windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk
windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk


# █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀
# █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█

layerrule = blur,rofi
layerrule = ignorezero,rofi
layerrule = blur,notifications
layerrule = ignorezero,notifications
layerrule = blur,swaync-notification-window
layerrule = ignorezero,swaync-notification-window
layerrule = blur,swaync-control-center
layerrule = ignorezero,swaync-control-center
layerrule = blur,logout_dialog


Config File: /home/ranker/.config/hypr/themes/common.conf: Read Succeeded

# █▀▀ █░█ █▀█ █▀ █▀█ █▀█
# █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄

exec = hyprctl setcursor Bibata-Modern-Ice 20
exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice'
exec = gsettings set org.gnome.desktop.interface cursor-size 20


# █▀▀ █▀█ █▄░█ ▀█▀
# █▀░ █▄█ █░▀█ ░█░

exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10'
exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10'
exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9'
exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
exec = gsettings set org.gnome.desktop.interface font-hinting 'full'


# █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░
# ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄

decoration {
    dim_special = 0.3
    blur {
        special = true
    }
}


Config File: /home/ranker/.config/hypr/themes/theme.conf: Read Succeeded
exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-green'
exec = gsettings set org.gnome.desktop.interface gtk-theme 'Decay-Green'
exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'

general {
    gaps_in = 3
    gaps_out = 8
    border_size = 2
    col.active_border = rgba(90ceaaff) rgba(ecd3a0ff) 45deg
    col.inactive_border = rgba(86aaeccc) rgba(93cee9cc) 45deg
    layout = dwindle
    resize_on_border = true
}

group {
    col.border_active = rgba(90ceaaff) rgba(ecd3a0ff) 45deg
    col.border_inactive = rgba(86aaeccc) rgba(93cee9cc) 45deg
    col.border_locked_active = rgba(90ceaaff) rgba(ecd3a0ff) 45deg
    col.border_locked_inactive = rgba(86aaeccc) rgba(93cee9cc) 45deg
}

decoration {
    rounding = 10
    drop_shadow = false

    blur {
        enabled = yes
        size = 5
        passes = 4
        new_optimizations = on
        ignore_opacity = on
        xray = false
    }
}

layerrule = unset,waybar


Config File: /home/ranker/.config/hypr/themes/colors.conf: Read Succeeded


Config File: /home/ranker/.config/hypr/monitors.conf: Read Succeeded

# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ █▀
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ ▄█

# Set your monitor configuration here
# See https://wiki.hyprland.org/Configuring/Monitors/
# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2


Config File: /home/ranker/.config/hypr/userprefs.conf: Read Succeeded

# █░█ █▀ █▀▀ █▀█   █▀█ █▀█ █▀▀ █▀▀ █▀
# █▄█ ▄█ ██▄ █▀▄   █▀▀ █▀▄ ██▄ █▀░ ▄█

# Set your personal hyprland configuration here
# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2

======Config-End========

Description

Screensharing used to work but it's not working now even after enabling bitdepth 10 and followed https://gist.github.com/brunoanc/2dea6ddf6974ba4e5d26c3139ffb7580
still not working

How to reproduce

Google meet screen share

Crash reports, logs, images, videos

After screensharing, screen share button gets disabled
image

@piyushyadav0191 piyushyadav0191 added the bug Something isn't working label Aug 21, 2024
@vaxerski
Copy link
Member

system info cut off (incomplete)

can you try on aquamarine-git, hyprland-git and xdph-git?

@vaxerski vaxerski transferred this issue from hyprwm/Hyprland Aug 21, 2024
@piyushyadav0191
Copy link
Author

I tried xdph-git, hyprland-git but no luck.

@vaxerski
Copy link
Member

can you post logs from xdph?

@piyushyadav0191
Copy link
Author

xdg-desktop-portal-hyprland.service - Portal service (Hyprland implementation)
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal-hyprland.service; static)
Active: active (running) since Wed 2024-08-21 16:02:02 IST; 15min ago
Invocation: 4f5324d846c0429b9ca2404925b05155
Main PID: 1011 (xdg-desktop-por)
Tasks: 9 (limit: 7014)
Memory: 28.5M (peak: 46.4M)
CPU: 954ms
CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/xdg-desktop-portal-hyprland.service
└─1011 /usr/lib/xdg-desktop-portal-hyprland

Aug 21 16:10:22 laptop xdg-desktop-portal-hyprland[1011]: [LOG] [screencopy] | /org/freedesktop/portal/desktop/session/1_49/webrtc_session1356338398
Aug 21 16:10:22 laptop xdg-desktop-portal-hyprland[1011]: [LOG] [screencopy] | appid:
Aug 21 16:10:22 laptop xdg-desktop-portal-hyprland[1011]: [LOG] [screencopy] SelectSources:
Aug 21 16:10:22 laptop xdg-desktop-portal-hyprland[1011]: [LOG] [screencopy] | /org/freedesktop/portal/desktop/request/1_49/webrtc791307243
Aug 21 16:10:22 laptop xdg-desktop-portal-hyprland[1011]: [LOG] [screencopy] | /org/freedesktop/portal/desktop/session/1_49/webrtc_session1356338398
Aug 21 16:10:22 laptop xdg-desktop-portal-hyprland[1011]: [LOG] [screencopy] | appid:
Aug 21 16:10:22 laptop xdg-desktop-portal-hyprland[1011]: [LOG] [screencopy] option persist_mode to 1
Aug 21 16:10:22 laptop xdg-desktop-portal-hyprland[1011]: [LOG] [screencopy] unused option multiple
Aug 21 16:10:22 laptop xdg-desktop-portal-hyprland[1011]: [LOG] [screencopy] unused option types
Aug 21 16:10:22 laptop xdg-desktop-portal-hyprland[1011]: [LOG] [screencopy] restore data invalid / missing, prompting
~

@piyushyadav0191
Copy link
Author

Screen Capture (pipewire) works fine in OBS but screen sharing not working in Firefox/Google-chrome
image

@piyushyadav0191
Copy link
Author

@vaxerski Hi, Sorry to disturb you but I have tried everything and noticed that this service doesn't seems to run and throw this status

`
systemctl --user status xdg-desktop-portal.service
○ xdg-desktop-portal.service - Portal service
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static)
Active: inactive (dead)

Aug 23 21:09:50 ranker systemd[663]: Started Portal service.
Aug 23 21:19:34 ranker systemd[663]: Starting Portal service...
Aug 23 21:19:34 ranker xdg-desktop-por[10138]: No skeleton to export
Aug 23 21:19:34 ranker systemd[663]: Started Portal service.
Aug 23 21:19:49 ranker systemd[663]: Starting Portal service...
Aug 23 21:19:49 ranker xdg-desktop-por[10352]: No skeleton to export
`

And xdph is running fine. What could be the issue?

This is what i am getting with journalctl

journalctl --user -xeu xdg-desktop-portal.service ░░ ░░ A start job for unit UNIT has begun execution. ░░ ░░ The job identifier is 280. Aug 23 21:19:34 ranker xdg-desktop-por[10138]: No skeleton to export Aug 23 21:19:34 ranker systemd[663]: Started Portal service.

@vaxerski
Copy link
Member

I dont think "no skeleton to export" is an error. Anyways, xdp being dead would be a problem, yes

@piyushyadav0191
Copy link
Author

Should I try replacing xdph with aquamarine?

@vaxerski
Copy link
Member

same question as "should I replace an axe with social studies"

@piyushyadav0191
Copy link
Author

😒

@deepanchal
Copy link

I am experiencing the same issue with Slack. I have bitdepth,10 enabled in my configuration, but when I attempt to screenshare, I get a black screen. Notably, screensharing works fine with OBS.

I also noticed that window screensharing works, but only if the Slack window is on the same monitor as the shared window. If I move the Slack window to another monitor, screensharing breaks again. Additionally, I tested screensharing on this test page (https://mozilla.github.io/webrtc-landing/gum_test.html) using Brave Browser, and it had the same behavior.

To troubleshoot, I ran the following script to restart all portals before restarting Slack and it still didn't work :(

#!/usr/bin/env bash
systemctl --user stop xdg-desktop-portal-hyprland
systemctl --user stop xdg-desktop-portal-gtk
systemctl --user stop xdg-desktop-portal
sleep 2
systemctl --user start xdg-desktop-portal-hyprland
systemctl --user start xdg-desktop-portal-gtk
systemctl --user start xdg-desktop-portal

To make sure it wasn't an issue with slack, I tried screensharing from SwayWM with xdg-desktop-portal-wlr, it worked without any issues.

@ArkadyBuryakov
Copy link

ArkadyBuryakov commented Aug 27, 2024

Had same problem. All services work fine and no errors in logs.

Have found following behavior:

  • Sharing with OBS is almost stable (around 95% attempts are successful)
  • Sharing with WebRTC is unstable (5% of success) when trying share a full screen (1920x1080)
  • Sharing a small window works stable (half-screen window - 80% success; quarter-screen window - 100% success)

Feels like some racing condition that breaks a pipeline.

PS: could be irrelevant, window size change breaks screen sharing.
PPS: I used bitdepth, 10 hack to workaround. It worked like a charm (however only on window-sharing red and blue channels were mixed). However workaround stopped working few weeks ago after one of updates.

@piyushyadav0191
Copy link
Author

piyushyadav0191 commented Aug 27, 2024

I really like Hyprland but screen sharing issue is preventing me from using hyprland because my All work and others things happens on Meet with Screenshare. Previously, bitdepth, 10 used to work but after one update, It stopped

@eg-ayoub
Copy link

eg-ayoub commented Aug 27, 2024

I am having similar issues as described above,
although in my case screen capture will sometimes work, but in most cases it won't
this happens seemingly arbitrarily,
I have had most chances with gUM testing page
obs, google meet (on chrome and firefox) work a lot less often.
I can't find anything interesting in xdph logs but OBS spits this out

info: User added source 'Screen Capture (PipeWire)' (pipewire-screen-capture-source) to scene 'Scene'
info: [pipewire] Screencast session created
info: [pipewire] Asking for monitor and window
info: [pipewire] source selected, setting up screencast
info: [pipewire] Server version: 1.2.2
info: [pipewire] Library version: 1.2.2
info: [pipewire] Header version: 1.2.2
info: [pipewire] Created stream 0x3800410
info: [pipewire] Stream 0x3800410 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x3800410
info: [pipewire] Stream 0x3800410 state: "paused" (error: none)
info: [pipewire] Negotiated format:
info: [pipewire]     Format: 8 (Spa:Enum:VideoFormat:BGRx)
info: [pipewire]     Modifier: 0x0
info: [pipewire]     Size: 1920x1080
info: [pipewire]     Framerate: 0/1
info: [pipewire] Negotiated format:
info: [pipewire]     Format: 8 (Spa:Enum:VideoFormat:BGRx)
info: [pipewire]     Modifier: 0x100000000000004
info: [pipewire]     Size: 1920x1080
info: [pipewire]     Framerate: 0/1
info: [pipewire] Stream 0x3800410 state: "streaming" (error: none)
error: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
info: [pipewire] Renegotiating stream
info: [pipewire] Negotiated format:
info: [pipewire]     Format: 8 (Spa:Enum:VideoFormat:BGRx)
info: [pipewire]     Modifier: 0x100000000000004
info: [pipewire]     Size: 1920x1080
info: [pipewire]     Framerate: 0/1
info: [pipewire] Negotiated format:
info: [pipewire]     Format: 8 (Spa:Enum:VideoFormat:BGRx)
info: [pipewire]     Modifier: 0x100000000000002
info: [pipewire]     Size: 1920x1080
info: [pipewire]     Framerate: 0/1

could this be a pipewire bug ?
Edit: chrome spits out similar logs

[23496:23705:0827/175946.779942:ERROR:gpu_channel.cc(502)] Buffer Handle is null.
[23532:23:0827/175946.780326:ERROR:shared_image_interface_proxy.cc(129)] Buffer handle is null. Not creating a mailbox from it.
[23448:24086:0827/175952.187918:ERROR:egl_dmabuf.cc(608)] Failed to record frame: Error creating EGLImage - EGL_BAD_MATCH
[23448:24086:0827/175952.187952:ERROR:shared_screencast_stream.cc(951)] Dropping DMA-BUF modifier: 72057594037927940 and trying to renegotiate stream parameters
[23448:24108:0827/180001.349862:ERROR:egl_dmabuf.cc(608)] Failed to record frame: Error creating EGLImage - EGL_BAD_MATCH
[23448:24108:0827/180001.349906:ERROR:shared_screencast_stream.cc(951)] Dropping DMA-BUF modifier: 72057594037927940 and trying to renegotiate stream parameters
'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:425 pw_thread_loop_wait()
[23448:24116:0827/180004.805519:ERROR:egl_dmabuf.cc(608)] Failed to record frame: Error creating EGLImage - EGL_BAD_MATCH
[23448:24116:0827/180004.805544:ERROR:shared_screencast_stream.cc(951)] Dropping DMA-BUF modifier: 72057594037927940 and trying to renegotiate stream parameters

@deepanchal
Copy link

After testing various older versions of xdg-desktop-portal-hyprland, I found that screensharing functionality works correctly with version 1.3.2. I tested screensharing on slack, firefox, brave and they all work well without any black screen.

I think something might have broken screensharing in these changes v1.3.2...v1.3.3

Here's how I tested it on my nixos:

  1. I grabbed nix hash for v1.3.2 from https://www.nixhub.io/packages/xdg-desktop-portal-hyprland
  2. I ran nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/453402b94f39f968a7c27df28e060f69e4a50c3b.tar.gz -p xdg-desktop-portal-hyprland to drop into nix shell with xdph v1.3.2
  3. I found the xdph binary under /nix/store/7dkh9kk63ggn4n9m8knhdy8zkqs59qxi-xdg-desktop-portal-hyprland-1.3.2/libexec/xdg-desktop-portal-hyprland (Note: your nix hash might be different)
  4. I ran ./xdg-desktop-portal-hyprland -v after cd into directory with binary
  5. Tested screensharing and it works :)

If you guys can confirm that this version works on your end as well, then we can suggest others to use v1.3.2 temporarily till it's fixed in a new release

@piyushyadav0191
Copy link
Author

piyushyadav0191 commented Aug 27, 2024

@deepanchal how to compile this version in my hyprland, I am kind of noob to hyprland!

@deepanchal
Copy link

@deepanchal how to compile this version in my hyprland, I am kind of noob to hyprland!

Remove current xdph with maybe paru -R xdg-desktop-portal-hyprland-git or stop the xdph service temporarily systemctl --user stop xdg-desktop-portal-hyprland

Make sure xdph isn't running with ps | grep xdg-desktop-portal-hyprland

Follow the steps to install xdph in readme https://github.com/hyprwm/xdg-desktop-portal-hyprland?tab=readme-ov-file#installing
After cloning and cding into repo, run git checkout v1.3.2 and then follow build instructions in readme
Run xdph binary after building. That should be it. I don't know what system you are on or how you installed xdph so these steps might not work

@piyushyadav0191
Copy link
Author

Thanks, I will test tomorrow and will let you know the result

@piyushyadav0191
Copy link
Author

@deepanchal When i am building v1.3.2 then this error is coming!

 cmake --build build
[  2%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/core/PortalManager.cpp.o
In file included from /home/ranker/xdg-desktop-portal-hyprland/src/core/../portals/Screencopy.hpp:6,
                 from /home/ranker/xdg-desktop-portal-hyprland/src/core/PortalManager.hpp:8,
                 from /home/ranker/xdg-desktop-portal-hyprland/src/core/PortalManager.cpp:1:
/usr/include/spa-0.2/spa/pod/dynamic.h: In function ‘void spa_pod_dynamic_builder_init(spa_pod_dynamic_builder*, void*, uint32_t, uint32_t)’:
/home/ranker/xdg-desktop-portal-hyprland/src/core/../portals/../shared/ScreencopyShared.hpp:9:43: error: expected primary-expression before ‘.’ token
    9 | #define SPA_VERSION_POD_BUILDER_CALLBACKS .version = 0
      |                                           ^
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-address-of-temporary’ may have been intended to silence earlier diagnostics
make[2]: *** [CMakeFiles/xdg-desktop-portal-hyprland.dir/build.make:116: CMakeFiles/xdg-desktop-portal-hyprland.dir/src/core/PortalManager.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:102: CMakeFiles/xdg-desktop-portal-hyprland.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

@deepanchal
Copy link

Try building on this commit b9b97e5

This commit is working for me. I am getting similar error when I build it from source on my nix system.

cd into repo and run:

git checkout b9b97e5ba23fe7bd5fa4df54696102e8aa863cf6

Then follow the same build instructions from readme.

@piyushyadav0191
Copy link
Author

@deepanchal build built successfully but screenshare still not working. This is my logs

 systemctl status --user xdg-desktop-portal.service xdg-desktop-portal.service
● xdg-desktop-portal.service - Portal service
     Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static)
     Active: active (running) since Wed 2024-08-28 09:50:23 IST; 4min 39s ago
 Invocation: 4bc6612e8b0f4284b1eefcd8d1c92f80
   Main PID: 43612 (xdg-desktop-por)
      Tasks: 5 (limit: 7014)
     Memory: 3M (peak: 3.5M)
        CPU: 62ms
     CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/xdg-desktop-portal.service
             └─43612 /usr/lib/xdg-desktop-portal

Aug 28 09:50:23 laptop systemd[659]: Starting Portal service...
Aug 28 09:50:23 laptop xdg-desktop-por[43612]: No skeleton to export
Aug 28 09:50:23 laptop xdg-desktop-por[43612]: Choosing hyprland.portal for org.freedesktop.impl.portal.GlobalShortcuts via the deprecated UseIn key
Aug 28 09:50:23 laptop xdg-desktop-por[43612]: The preferred method to match portal implementations to desktop environments is to use the portals.conf(5) configuration file
Aug 28 09:50:23 laptop xdg-desktop-por[43612]: Choosing hyprland.portal for org.freedesktop.impl.portal.ScreenCast via the deprecated UseIn key
Aug 28 09:50:23 laptop systemd[659]: Started Portal service.

● xdg-desktop-portal.service - Portal service
     Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static)
     Active: active (running) since Wed 2024-08-28 09:50:23 IST; 4min 39s ago
 Invocation: 4bc6612e8b0f4284b1eefcd8d1c92f80
   Main PID: 43612 (xdg-desktop-por)
      Tasks: 5 (limit: 7014)
     Memory: 3M (peak: 3.5M)
        CPU: 62ms
     CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/xdg-desktop-portal.service
             └─43612 /usr/lib/xdg-desktop-portal

Aug 28 09:50:23 laptop systemd[659]: Starting Portal service...
Aug 28 09:50:23 laptop xdg-desktop-por[43612]: No skeleton to export
Aug 28 09:50:23 laptop xdg-desktop-por[43612]: Choosing hyprland.portal for org.freedesktop.impl.portal.GlobalShortcuts via the deprecated UseIn key
Aug 28 09:50:23 laptop xdg-desktop-por[43612]: The preferred method to match portal implementations to desktop environments is to use the portals.conf(5) configuration file
Aug 28 09:50:23 laptop xdg-desktop-por[43612]: Choosing hyprland.portal for org.freedesktop.impl.portal.ScreenCast via the deprecated UseIn key
Aug 28 09:50:23 laptop systemd[659]: Started Portal service.

@piyushyadav0191
Copy link
Author

piyushyadav0191 commented Aug 28, 2024

@deepanchal If i choose small region to screenshare then it is working but if i choose screen sized height and width's one region then its not working or if i choose entire screen then its not working

@deepanchal
Copy link

Make sure you are running the binary from your build.

You can skip steps 1, 2 & 3 if you are sure that you built and installed xdph correctly.
Those two steps are just for sanity check to make sure you are running updated binary

  1. Create a file named a.patch inside the git repo and put the following contents in it

    diff --git a/hyprland-share-picker/mainpicker.ui b/hyprland-share-picker/mainpicker.ui
    index 21b3c3c..67a5622 100644
    --- a/hyprland-share-picker/mainpicker.ui
    +++ b/hyprland-share-picker/mainpicker.ui
    @@ -266,7 +266,7 @@ Only select if you trust the application.</string>
              <enum>Qt::LeftToRight</enum>
             </property>
             <property name="text">
    -         <string>Allow a restore token</string>
    +         <string>Edited: Allow a restore token</string>
             </property>
            </widget>
           </item>
  2. Apply this patch by running git apply a.patch. Run git diff to make sure patch got applied

  3. Build and install again following readme

  4. Then stop the current portal service

    systemctl --user stop xdg-desktop-portal-hyprland
  5. Run xdph directly

    ./usr/lib/xdg-desktop-portal-hyprland -v
  6. Restart your browser / app and try screensharing. It should work 🤞

That patch is changing a text in hyprland-share-picker so you can make sure you are running correct binary.
When you run it, the picker should look like this
image

@2e0byo
Copy link

2e0byo commented Aug 28, 2024

@deepanchal a thousand thanks for bisecting; I can confirm 1.3.2 works on this machine from the nix hash you shared. I'll try to bisect this soon if nobody else does.

@deepanchal
Copy link

Thanks a lot for testing it :)
Please note that v1.3.2 has build errors. That's why I was using a commit (b9b97e5) in between 1.3.3 and 1.3.2.

I haven't actually ran git bisect yet. I just randomly checked out some tags and commits to see which one works and that commit had more successful screenshares than 1.3.3, but here's the steps I used on nix:

  1. Clone and cd into repo
  2. Checkout commit/tag you want to test
  3. Run nix build
  4. Run ./result/libexec/xdg-desktop-portal-hyprland (Don't forget to stop xdph services before running it manually)

I also wanted to mention that for some reason, the latest commit is also working fine for me. Testing screensharing has been very flakey and I am not sure if it was the commit or some race condition or pipewire version causing issues. I will try to bisect soon on my end once I can find a reliable source (might use that gum testing site) to test screensharing.

Also here's my nixos flake changes if needed deepanchal/nixos@56c2e4c

@piyushyadav0191
Copy link
Author

piyushyadav0191 commented Aug 29, 2024

@deepanchal You can see that I have done your patch and running xdph from my binary. Up until now tab sharing was not working but now its working but entire screen's screen sharing still not working. Should I change something in Monitor settings! I have attached image of my monitor config

PS - I noticed that hyprland-share-picker asks for monitor selection two times. Is this issue?

  • Your patch build successfully image
    image

  • /usr/lib/xdph logs image
    image
    image

  • My monitor config image-
    image

@spikespaz
Copy link
Contributor

I see multiple issues that look like this, but none of them have described the following:

Sharing the screen works if the program that starts the portal is on the screen which I want to share.

Sharing the screen does not work if I share a screen which does not contain the current active window.

Can anybody reproduce?

@deepanchal
Copy link

deepanchal commented Aug 29, 2024

@spikespaz Yes, I have a similar behavior on my end.
More details in my comment: #251 (comment)

Edit: In my case, if the window is on my primary monitor (0,0 coords) and I want to share my primary monitor, it works fine, however, if my window is on secondary monitor and I want to share my secondary monitor, it doesn't work for some reason

@khaneliman
Copy link

I can screenshare with wlr but not hyprland

Screen sharing shows this for me on Hyprland from pipewire:

journalctl
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: params Spa:Enum:ParamId:EnumFormat: 0:0 Invalid argument (input format (no more input formats))
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: Object: size 376, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 1        (Spa:Enum:MediaSubtype:raw)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 12       (Spa:Enum:VideoFormat:BGRA)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Enum, flags 00000000 112 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757872388
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757872388
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757856004
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757659396
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757438212
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757871364
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757854980
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757658372
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757437188
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188075858436
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 0
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 72057594037927935
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle -1x-1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: Object: size 248, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 1        (Spa:Enum:MediaSubtype:raw)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 12       (Spa:Enum:VideoFormat:BGRA)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle -1x-1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: Object: size 376, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 1        (Spa:Enum:MediaSubtype:raw)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 11       (Spa:Enum:VideoFormat:RGBA)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Enum, flags 00000000 112 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757872388
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757872388
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757856004
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757659396
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757438212
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757871364
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757854980
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757658372
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757437188
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188075858436
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 0
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 72057594037927935
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle -1x-1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: Object: size 248, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 1        (Spa:Enum:MediaSubtype:raw)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 11       (Spa:Enum:VideoFormat:RGBA)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle -1x-1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: Object: size 376, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 1        (Spa:Enum:MediaSubtype:raw)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 8        (Spa:Enum:VideoFormat:BGRx)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Enum, flags 00000000 112 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757872388
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757872388
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757856004
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757659396
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757438212
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757871364
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757854980
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757658372
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757437188
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188075858436
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 0
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 72057594037927935
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle -1x-1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: Object: size 248, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 1        (Spa:Enum:MediaSubtype:raw)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 8        (Spa:Enum:VideoFormat:BGRx)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle -1x-1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: Object: size 376, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 1        (Spa:Enum:MediaSubtype:raw)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 7        (Spa:Enum:VideoFormat:RGBx)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Enum, flags 00000000 112 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757872388
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757872388
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757856004
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757659396
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757438212
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757871364
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757854980
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757658372
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757437188
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188075858436
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 0
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 72057594037927935
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle -1x-1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: Object: size 248, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 1        (Spa:Enum:MediaSubtype:raw)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 7        (Spa:Enum:VideoFormat:RGBx)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle 1x1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Rectangle -1x-1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: params Spa:Enum:ParamId:EnumFormat: 1:0 Invalid argument (output format (no more input formats))
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: Object: size 312, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 1        (Spa:Enum:MediaSubtype:raw)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 80       (Spa:Enum:VideoFormat:xRGB_210LE)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Enum, flags 00000000 112 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757872388
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757872388
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757856004
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757659396
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757438212
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757871364
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757854980
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757658372
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188757437188
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 144115188075858436
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 0
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Long 72057594037927935
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Rectangle 2531x1322
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 1/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context: Object: size 184, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 1        (Spa:Enum:MediaSubtype:raw)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Id 80       (Spa:Enum:VideoFormat:xRGB_210LE)
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Rectangle 2531x1322
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Fraction 0/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:     Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 1/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.context:       Fraction 60/1
Aug 30 11:46:30 khanelinix pipewire[4215]: pw.link: (117.0.0 -> 128.0.0) negotiating -> error (no more input formats) (configure-configure)

@regul4rj0hn
Copy link

regul4rj0hn commented Sep 2, 2024

@spikespaz Yes, I have a similar behavior on my end. More details in my comment: #251 (comment)

Edit: In my case, if the window is on my primary monitor (0,0 coords) and I want to share my primary monitor, it works fine, however, if my window is on secondary monitor and I want to share my secondary monitor, it doesn't work for some reason

I second this, here's a dump from attempting to start share on a different monitor.

journalctl
% journalctl --user-unit xdg-desktop-portal-hyprland -p 3
Jul 25 11:51:01 x systemd-coredump[87359]: [🡕] Process 3047 (xdg-desktop-por) of user 1000 dumped core.

                                                 Stack trace of thread 3047:
                                                 #0  0x00007075b5db63f4 n/a (libc.so.6 + 0x963f4)
                                                 #1  0x00007075b5d5d120 raise (libc.so.6 + 0x3d120)
                                                 #2  0x00007075b5d444c3 abort (libc.so.6 + 0x244c3)
                                                 #3  0x00007075b5d45354 n/a (libc.so.6 + 0x25354)
                                                 #4  0x00007075b5dc0765 n/a (libc.so.6 + 0xa0765)
                                                 #5  0x00007075b5dc2e1f n/a (libc.so.6 + 0xa2e1f)
                                                 #6  0x00007075b5dc55ce __libc_free (libc.so.6 + 0xa55ce)
                                                 #7  0x00005e6c6a2ac597 n/a (xdg-desktop-portal-hyprland + 0x13597)
                                                 #8  0x00005e6c6a2eccf3 n/a (xdg-desktop-portal-hyprland + 0x53cf3)
                                                 #9  0x00005e6c6a2e972d n/a (xdg-desktop-portal-hyprland + 0x5072d)
                                                 #10 0x00007075b62b6596 n/a (libffi.so.8 + 0x7596)
                                                 #11 0x00007075b62b300e n/a (libffi.so.8 + 0x400e)
                                                 #12 0x00007075b62b5bd3 ffi_call (libffi.so.8 + 0x6bd3)
                                                 #13 0x00007075b6401860 n/a (libwayland-client.so.0 + 0x4860)
                                                 #14 0x00007075b64020d9 n/a (libwayland-client.so.0 + 0x50d9)
                                                 #15 0x00007075b64024f3 wl_display_dispatch_queue_pending (libwayland-client.so.0 + 0x54f3)
                                                 #16 0x00005e6c6a2b55fe n/a (xdg-desktop-portal-hyprland + 0x1c5fe)
                                                 #17 0x00005e6c6a2a8cea n/a (xdg-desktop-portal-hyprland + 0xfcea)
                                                 #18 0x00007075b5d45e08 n/a (libc.so.6 + 0x25e08)
                                                 #19 0x00007075b5d45ecc __libc_start_main (libc.so.6 + 0x25ecc)
                                                 #20 0x00005e6c6a2a9705 n/a (xdg-desktop-portal-hyprland + 0x10705)
                                                 
                                                 Stack trace of thread 3102:
                                                 #0  0x00007075b5db0a19 n/a (libc.so.6 + 0x90a19)
                                                 #1  0x00007075b5db3479 pthread_cond_wait (libc.so.6 + 0x93479)
                                                 #2  0x00007075b369d3ee n/a (radeonsi_dri.so + 0x9d3ee)
                                                 #3  0x00007075b367b19c n/a (radeonsi_dri.so + 0x7b19c)
                                                 #4  0x00007075b369d31d n/a (radeonsi_dri.so + 0x9d31d)
                                                 #5  0x00007075b5db439d n/a (libc.so.6 + 0x9439d)
                                                 #6  0x00007075b5e3949c n/a (libc.so.6 + 0x11949c)
                                                 
                                                 Stack trace of thread 3104:
                                                 #0  0x00007075b5db0a19 n/a (libc.so.6 + 0x90a19)
                                                 #1  0x00007075b5db3479 pthread_cond_wait (libc.so.6 + 0x93479)
                                                 #2  0x00007075b369d3ee n/a (radeonsi_dri.so + 0x9d3ee)
                                                 #3  0x00007075b367b19c n/a (radeonsi_dri.so + 0x7b19c)
                                                 #4  0x00007075b369d31d n/a (radeonsi_dri.so + 0x9d31d)
                                                 #5  0x00007075b5db439d n/a (libc.so.6 + 0x9439d)
                                                 #6  0x00007075b5e3949c n/a (libc.so.6 + 0x11949c)
                                                 
                                                 Stack trace of thread 3103:
                                                 #0  0x00007075b5db0a19 n/a (libc.so.6 + 0x90a19)
                                                 #1  0x00007075b5db3479 pthread_cond_wait (libc.so.6 + 0x93479)
                                                 #2  0x00007075b369d3ee n/a (radeonsi_dri.so + 0x9d3ee)
                                                 #3  0x00007075b367b19c n/a (radeonsi_dri.so + 0x7b19c)
                                                 #4  0x00007075b369d31d n/a (radeonsi_dri.so + 0x9d31d)
                                                 #5  0x00007075b5db439d n/a (libc.so.6 + 0x9439d)
                                                 #6  0x00007075b5e3949c n/a (libc.so.6 + 0x11949c)
                                                 
                                                 Stack trace of thread 3100:
                                                 #0  0x00007075b5db0a19 n/a (libc.so.6 + 0x90a19)
                                                 #1  0x00007075b5db3479 pthread_cond_wait (libc.so.6 + 0x93479)
                                                 #2  0x00007075b369d3ee n/a (radeonsi_dri.so + 0x9d3ee)
                                                 #3  0x00007075b367b19c n/a (radeonsi_dri.so + 0x7b19c)
                                                 #4  0x00007075b369d31d n/a (radeonsi_dri.so + 0x9d31d)
                                                 #5  0x00007075b5db439d n/a (libc.so.6 + 0x9439d)
                                                 #6  0x00007075b5e3949c n/a (libc.so.6 + 0x11949c)
                                                 
                                                 Stack trace of thread 3101:
                                                 #0  0x00007075b5db0a19 n/a (libc.so.6 + 0x90a19)
                                                 #1  0x00007075b5db3479 pthread_cond_wait (libc.so.6 + 0x93479)
                                                 #2  0x00007075b369d3ee n/a (radeonsi_dri.so + 0x9d3ee)
                                                 #3  0x00007075b367b19c n/a (radeonsi_dri.so + 0x7b19c)
                                                 #4  0x00007075b369d31d n/a (radeonsi_dri.so + 0x9d31d)
                                                 #5  0x00007075b5db439d n/a (libc.so.6 + 0x9439d)
                                                 #6  0x00007075b5e3949c n/a (libc.so.6 + 0x11949c)
                                                 
                                                 Stack trace of thread 3105:
                                                 #0  0x00007075b5db0a19 n/a (libc.so.6 + 0x90a19)
                                                 #1  0x00007075b5db3479 pthread_cond_wait (libc.so.6 + 0x93479)
                                                 #2  0x00007075b369d3ee n/a (radeonsi_dri.so + 0x9d3ee)
                                                 #3  0x00007075b367b19c n/a (radeonsi_dri.so + 0x7b19c)
                                                 #4  0x00007075b369d31d n/a (radeonsi_dri.so + 0x9d31d)
                                                 #5  0x00007075b5db439d n/a (libc.so.6 + 0x9439d)
                                                 #6  0x00007075b5e3949c n/a (libc.so.6 + 0x11949c)
                                                 
                                                 Stack trace of thread 3107:
                                                 #0  0x00007075b5db0c70 n/a (libc.so.6 + 0x90c70)
                                                 #1  0x00007075b5db7b01 pthread_mutex_lock (libc.so.6 + 0x97b01)
                                                 #2  0x00005e6c6a2b27db n/a (xdg-desktop-portal-hyprland + 0x197db)
                                                 #3  0x00007075b60e1cf4 execute_native_thread_routine (libstdc++.so.6 + 0xe1cf4)
                                                 #4  0x00007075b5db439d n/a (libc.so.6 + 0x9439d)
                                                 #5  0x00007075b5e3949c n/a (libc.so.6 + 0x11949c)
                                                 
                                                 Stack trace of thread 3108:
                                                 #0  0x00007075b5db0a19 n/a (libc.so.6 + 0x90a19)
                                                 #1  0x00007075b5db3af2 pthread_cond_clockwait (libc.so.6 + 0x93af2)
                                                 #2  0x00005e6c6a2aba02 n/a (xdg-desktop-portal-hyprland + 0x12a02)
                                                 #3  0x00007075b60e1cf4 execute_native_thread_routine (libstdc++.so.6 + 0xe1cf4)
                                                 #4  0x00007075b5db439d n/a (libc.so.6 + 0x9439d)
                                                 #5  0x00007075b5e3949c n/a (libc.so.6 + 0x11949c)
                                                 ELF object binary architecture: AMD x86-64

@dlussky
Copy link

dlussky commented Sep 3, 2024

I have the same issues, I'll just share my findings in hope it will help someone with debug.
System: EndeavourOS x86_64
Method of installation: official arch repos
When the problem started: when I installed Hyprland, but it was fixable until an update to 1.3.3

Setup:
Lenovo ThinkPad T480s (20L7001HRT)
1 monitor (built-in panel) with 1.6 scaling
Screen sharing testing is performed in Firefox 129.0.2 + google meet and https://mozilla.github.io/webrtc-landing/gum_test_aec.html

Some parts of my config:

monitor=eDP-1,2560x1440@60,0x0,1.6,bitdepth,10
env = XDG_CURRENT_DESKTOP,Hyprland
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

On version 1.3.2-2 + Hyprland 0.41.2-3:
Screen sharing works perfectly, but only with bitdepth,10 in monitor configuration.
Without this bit it's like this:

  • small region is always working
  • medium sized regions mostly works
  • sharing whole screen or big region almost always fail

Failed attempts in screen sharing corresponds to the following error:
[screencopy/pipewire] Out of buffers

On version 1.3.3-x + Hyprland 0.42.0-x:
Screen sharing doesn't work even with bitdepth fix.
The same error appears in the logs:
[screencopy/pipewire] Out of buffers

My "nuclear" script, that I always try when screen sharing fails:

#!/usr/bin/zsh
killall -e xdg-desktop-portal-hyprland
killall -e xdg-desktop-portal

systemctl restart --user pipewire.service
sleep 1
systemctl restart --user pipewire-pulse
sleep 1
/usr/lib/xdg-desktop-portal-hyprland &!
sleep 2
/usr/lib/xdg-desktop-portal &!

@khaneliman
Copy link

On version 1.3.2-2 + Hyprland 0.41.2-3: Screen sharing works perfectly, but only with bitdepth,10 in monitor configuration. Without this bit it's like this:

This explains why I had bitdepth set again. I had to have it for a previous version of sharing and now I can't have it set to share in current version... If I remove bitdepth,10 I can screen share on the same monitor and any region, at least.

@deepanchal
Copy link

On version 1.3.2-2 + Hyprland 0.41.2-3:
Screen sharing works perfectly, but only with bitdepth,10 in monitor configuration.
Without this bit it's like this:

@dlussky or @khaneliman Do you know the commit hash for 1.3.2-2? I have xdph dev env setup. I will try it on my end with that commit hash when I get a chance

@dlussky
Copy link

dlussky commented Sep 3, 2024

@deepanchal PKGINFO for the package I have installed right now (1.3.2-2, working sharing with bitdepth fix) has this lines:

pkgver = 1.3.2-2
pkgdesc = xdg-desktop-portal backend for hyprland
url = https://github.com/hyprwm/xdg-desktop-portal-hyprland
builddate = 1720876192

I assume all the hashes I've found nearby are from the actual package, not the source, but you can check the package here:
https://archive.archlinux.org/packages/x/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-1.3.2-2-x86_64.pkg.tar.zst

So I guess that it's just the 1.3.2 tag (24be4a2)

*I'm not that well versed in Arch packages yet, sorry

@dlussky
Copy link

dlussky commented Sep 3, 2024

@deepanchal Huh! I just did a little bit more testing, and it seems like it's not a xdg-desktop-portal-hyprland regression, but hyprland regression. I just tried the latest package for desktop-portal (1.3.3-2) with hyprland 0.41.2-3 and screensharing works perfectly. But after I updated hyprland to 0.42.0-2 it stopped working.

And I've found a new error in the logs:

<<< I start screensharing, and it's successfull the first time

[LOG] [toplevel] (activate) locks: 2
[LOG] [screencopy] New session:
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/request/1_14/webrtc_909764166
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/session/1_14/webrtc_session1060977253
[LOG] [screencopy]  | appid: 
[LOG] [screencopy] SelectSources:
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/request/1_14/webrtc858043722
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/session/1_14/webrtc_session1060977253
[LOG] [screencopy]  | appid: 
[LOG] [screencopy] option persist_mode to 1
[LOG] [screencopy] unused option multiple
[LOG] [screencopy] unused option types
[LOG] [screencopy] restore data invalid / missing, prompting
[LOG] execAndGet: WAYLAND_DISPLAY='wayland-1' QT_QPA_PLATFORM='wayland' XCURSOR_SIZE='32' HYPRLAND_INSTANCE_SIGNATURE='9a09eac79b85c846e3a865a9078a3f8ff65a9259_1725398683_950082741' XDPH_WINDOW_SHARING_LIST='<redacted>' hyprland-share-picker 2>&1
[LOG] [sc] Selection: /screen:eDP-1

[LOG] [screencopy] SHAREDATA returned selection 0
[LOG] [screencopy] Start:
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/request/1_14/webrtc1049093682
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/session/1_14/webrtc_session1060977253
[LOG] [screencopy]  | appid: 
[LOG] [screencopy]  | parent_window: 
[LOG] [pw] Building modifiers for dma
[LOG] [screencopy] Sharing initialized
[LOG] [pw] Building modifiers for dma
[LOG] [pw] Building modifiers for dma
[ERR] [pipewire] no buffer in enqueue    <<<this is a new one, I wasn't seeing before

<<< at this point I stop the screensharing and then start it again

[LOG] [screencopy] Stream destroyed
[LOG] [screencopy] Session destroyed
[LOG] [toplevel] (deactivate) locks: 1
[LOG] [toplevel] (activate) locks: 2
[LOG] [screencopy] New session:
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/request/1_14/webrtc_1888130687
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/session/1_14/webrtc_session163999232
[LOG] [screencopy]  | appid: 
[LOG] [screencopy] SelectSources:
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/request/1_14/webrtc1979962182
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/session/1_14/webrtc_session163999232
[LOG] [screencopy]  | appid: 
[LOG] [screencopy] option persist_mode to 1
[LOG] [screencopy] unused option multiple
[LOG] [screencopy] unused option types
[LOG] [screencopy] restore data invalid / missing, prompting
[LOG] execAndGet: WAYLAND_DISPLAY='wayland-1' QT_QPA_PLATFORM='wayland' XCURSOR_SIZE='32' HYPRLAND_INSTANCE_SIGNATURE='9a09eac79b85c846e3a865a9078a3f8ff65a9259_1725398683_950082741' XDPH_WINDOW_SHARING_LIST='<redacted>' hyprland-share-picker 2>&1
[LOG] [sc] Selection: /screen:eDP-1

[LOG] [screencopy] SHAREDATA returned selection 0
[LOG] [screencopy] Start:
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/request/1_14/webrtc973095825
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/session/1_14/webrtc_session163999232
[LOG] [screencopy]  | appid: 
[LOG] [screencopy]  | parent_window: 
[LOG] [pw] Building modifiers for dma
[LOG] [screencopy] Sharing initialized
[LOG] [pw] Building modifiers for dma
[LOG] [pw] Building modifiers for dma
[LOG] [screencopy/pipewire] Out of buffers

<<< screen sharing fails the second time (blank screen)

@foi
Copy link

foi commented Sep 4, 2024

I returned to the v0.42.0 tag, and everything is fine now

@ArkadyBuryakov
Copy link

ArkadyBuryakov commented Sep 4, 2024

I've updated to latest git release for hyprland and xdph.

Overall experience was much better. On my setup regular screen share now works every time except in one reproducible use case:

I have two-monitor setup:

  • monitor without scaling (scaling factor 1)
  • monitor with scaling (factor 1.25)

Steps:

Result: Screen share is being crashed.

Reproduced 100% with webrtc. On OBS it occasionally works.
If I start on monitor with scaling and select source on monitor without one - everything works just fine.
If both monitors have scaling factor 1 - everything works.
Reproduced only with initial screen with factor = 1 and source screen with factor != 1

At least it's workable and I can return to xdph 🥳

@dlussky
Copy link

dlussky commented Sep 4, 2024

Additional info on my setup:
I've tried installing hyprland-git and xdg-desktop-portal-hyprland-git from AUR, and sharing doesn't work even for regions (with or without bitdepth fix). Also, there are no suspicious errors/messages in the portal log. Reverted to hyprland 0.41 and it's working again.

@jannisbecker
Copy link

jannisbecker commented Sep 12, 2024

I'm on Arch, hyprland-git (v0.43.0-13-g155d4401), nvidia-open. The 10bit fix didn't work for me.
But yesterday I found out how to reliably fix screensharing:

In this guide https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist, in step 6, you check if XDG is aware of what your compositor is, using the following command

< "/proc/$(pidof xdg-desktop-portal)/environ" tr '\0' '\n' | grep '^XDG_CURRENT_DESKTOP='

turns out that for me, it returned an empty variable.
As soon as I set the variable and restarted the services using the following commands:

dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland
systemctl --user restart pipewire pipewire.socket xdg-desktop-portal xdg-desktop-portal-hyprland

Screenshare works immediately and reliably for me.
I even had this dbus-update-activation-environment command added to my Hyprland config, but the variable does not get set on boot. Perhaps Hyprland is executed after the services run, and thus the environment doesn't get set/updated?

P.S. the above guide is a wonderful collection of troubleshooting steps, and they can be applied to Hyprland setups as well.

@spikespaz
Copy link
Contributor

< "/proc/$(pidof xdg-desktop-portal)/environ" tr '\0' '\n' | grep '^XDG_CURRENT_DESKTOP='

Mine was already set to Hyprland. Never worked.

@piyushyadav0191
Copy link
Author

@deepanchal xdp-Wlr is not working now!! Is it working in yours?

@foi
Copy link

foi commented Sep 14, 2024

On the hyprland-git adding env = XDG_CURRENT_DESKTOP,Hyprland fixes this issue

env = XDG_CURRENT_DESKTOP,Hyprland
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

and screen sharing works again

@spikespaz
Copy link
Contributor

For me, XDG_CURRENT_DESKTOP is already Hyprland and screen sharing does not work.

I have not tried setting env =, so I will try that and we can determine if this is an issue with Hyprland's environment handling. I think it is, because I know for a fact that my QT theme is set up correctly for NixOS but doesn't work with Hyprland. I think maybe nobody knows how systemd environment passing is supposed to work.

@deepanchal
Copy link

@deepanchal xdp-Wlr is not working now!! Is it working in yours?

I am still using xdp-wlr v0.7.1 with Hyprland v0.43.0 and my screensharing is working fine. I am not sure how hyprland is packaged in aur, but if you upgraded your hyprland to 0.43.0, maybe it added xdph back to your system and it's trying to use xdph instead of xdp-wlr for screensharing 🤷‍♂️

@piyushyadav0191
Copy link
Author

I did that but didn't worked so Now I have moved to Endeavor Os because of this instability. I hoped that Maintainer will take a close look on this problem but no response from him either.

@munim
Copy link

munim commented Sep 15, 2024

dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland
systemctl --user restart pipewire pipewire.socket xdg-desktop-portal xdg-desktop-portal-hyprland

I executed the commands, still didn't work 😔

@spikespaz
Copy link
Contributor

spikespaz commented Sep 16, 2024

@munim The first one is supposed to be in an exec_once line in Hyprland's config, not run by you in a shell.

@bwafi
Copy link

bwafi commented Sep 16, 2024

Is there a way to fix it?

in hyprland 0.43 screen sharing not working in zoom with xdp-wlr, but working in firefox google meet. xdph not working at all

@gangov
Copy link

gangov commented Sep 17, 2024

Is there a way to fix it?

in hyprland 0.43 screen sharing not working in zoom with xdp-wlr, but working in firefox google meet. xdph not working at all

just downgrade to 0.42. Worked for me and a bunch of other people:

sudo pacman -U /var/cache/pacman/pkg/hyprland-0.42.0-2-x86_64.pkg.tar.zst

if you have the file in cache in the first place

@fiskhest
Copy link

On the hyprland-git adding env = XDG_CURRENT_DESKTOP,Hyprland fixes this issue

env = XDG_CURRENT_DESKTOP,Hyprland
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

and screen sharing works again

Thanks, this fixed it for me on 0.43.

vaxerski added a commit to hyprwm/Hyprland that referenced this issue Sep 18, 2024
ref hyprwm/xdg-desktop-portal-hyprland#251

if the XDG_CURRENT_DESKTOP is externally managed (e.g. DE, DM, etc) Hyprland will not overwrite it. In those cases, if that's undesired, portals and other apps depending on it might break.
@squishypinkelephant
Copy link

latest git versions of hyprland and xdph have mostly working screen share now. the only thing not working is selecting a section that covers more than one screen, but otherwise selecting a singular screen shares it normally
image

@munim
Copy link

munim commented Sep 21, 2024

@munim The first one is supposed to be in an exec_once line in Hyprland's config, not run by you in a shell.

@spikespaz exec_once was already there, and it still doesn't work ☹️

@dlussky
Copy link

dlussky commented Sep 21, 2024

Another update on my case:
Just tried Hyprland 0.43.0-1 + XDPH 1.3.4-1
Fullscreen screensharing is working. A couple of times it failed the first time in a session, but otherwise looks consistent.
Window sharing is not working
Regions working

bitdepth 10 fix is now breaking it instead of fixing it.

Additional info:
< "/proc/$(pidof xdg-desktop-portal)/environ" tr '\0' '\n' | grep '^XDG_CURRENT_DESKTOP=' shows Hyprland. The same for other portals, including xdph. dbus stuff was already implemented prior to the first post.

@piyushyadav0191
Copy link
Author

__

@deepanchal xdp-Wlr is not working now!! Is it working in yours?

I am still using xdp-wlr v0.7.1 with Hyprland v0.43.0 and my screensharing is working fine. I am not sure how hyprland is packaged in aur, but if you upgraded your hyprland to 0.43.0, maybe it added xdph back to your system and it's trying to use xdph instead of xdp-wlr for screensharing 🤷‍♂️

Ohh wlr resolved now...I just had to reset the hyprland

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests