hyprwm / xdg-desktop-portal-hyprland

xdg-desktop-portal backend for Hyprland
BSD 3-Clause "New" or "Revised" License
268 stars 45 forks source link

Screen Sharing does not work now #251

Open piyushyadav0191 opened 3 weeks ago

piyushyadav0191 commented 3 weeks ago

Regression?

Yes

System Info and Version

System/Version info ```sh 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

dr0bz commented 2 weeks ago

@vaxerski will have hard time finding the essence of this bug within this huge "xdph replacement" tutorial :D

deepanchal commented 2 weeks ago

@dr0bz True :joy:

I will still try and bisect because I like the way xdph allows you to pick region, windows, and screens regardless of this wlr fix

piyushyadav0191 commented 2 weeks ago

@dr0bz @deepanchal Should I close this issue?

deepanchal commented 2 weeks ago

I think we can leave it open for now till we can find a good and bad commit with bisect

spikespaz commented 2 weeks ago

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 commented 2 weeks ago

@spikespaz Yes, I have a similar behavior on my end. More details in my comment: https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/251#issuecomment-2317638899

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 commented 2 weeks ago

I can screenshare with wlr but not hyprland

Screen sharing shows this for me on Hyprland from pipewire:

journalctl ```bash 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 commented 2 weeks ago

@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 ```bash % 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 commented 2 weeks ago

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:

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 commented 2 weeks ago

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 commented 2 weeks ago

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 commented 2 weeks ago

@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 (24be4a26f0706e456fca1b61b8c79f7486a9e86d)

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

dlussky commented 2 weeks ago

@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 commented 1 week ago

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

ArkadyBuryakov commented 1 week ago

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:

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 commented 1 week ago

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 commented 5 days ago

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 commented 5 days ago

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

Mine was already set to Hyprland. Never worked.

piyushyadav0191 commented 4 days ago

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

foi commented 4 days ago

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 commented 3 days ago

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 commented 3 days ago

@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 :man_shrugging:

piyushyadav0191 commented 2 days ago

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 commented 2 days ago

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 commented 2 days ago

@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 commented 1 day ago

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 commented 18 hours ago

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