hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.09k stars 882 forks source link

Screensharing does not work in Webcord, OBS, Chrome etc. #6456

Closed SimonBrandner closed 4 months ago

SimonBrandner commented 4 months ago

Bug or Regression?

Bug

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 38132ffaf53c843a3ed03be5b305702fde8f5a49 (). Date: 2024-06-12 Tag: , commits: flags: (if any) System Information: System name: Linux Node name: Simon-s-Workstation Release: 6.6.32 Version: #1-NixOS SMP PREEMPT_DYNAMIC Sat May 25 14:22:56 UTC 2024 GPU information: 2b:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 3GB] [10de:1c02] (rev a1) (prog-if 00 [VGA controller]) os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20240607.051f920" DOCUMENTATION_URL="https://nixos.org/learn.html" HOME_URL="https://nixos.org/" ID=nixos IMAGE_ID="" IMAGE_VERSION="" LOGO="nix-snowflake" NAME=NixOS PRETTY_NAME="NixOS 24.11 (Vicuña)" SUPPORT_URL="https://nixos.org/community.html" VERSION="24.11 (Vicuña)" VERSION_CODENAME="vicuña" VERSION_ID="24.11" plugins: hy3 by outfoxxed ver 0.1 ======Config-Start====== Config File: /home/simon/.config/hypr/hyprland.conf: Read Succeeded source = ./device.conf source = ./plugins.conf exec-once = ~/dotfiles/scripts/startup.zsh xwayland { force_zero_scaling = true } input { kb_layout = cz kb_variant = kb_model = kb_options = compose:rctrl kb_rules = follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 numlock_by_default = true } general { gaps_in = 5 gaps_out = 20 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = hy3 allow_tearing = false } decoration { rounding = 12 blur { enabled = true size = 3 passes = 3 } } animations { enabled = yes animation = windows, 1, 5, default, slide } dwindle { pseudotile = yes preserve_split = yes } master { new_is_master = true } gestures { workspace_swipe = on } misc { force_default_wallpaper = 0 } group { focus_removed_window = false groupbar { font_size = 11 render_titles = true gradients = true col.active = rgba(33beffee) col.inactive = rgba(282c34aa) } col.border_active= rgba(33ccffee) rgba(00ff99ee) 45deg col.border_inactive= rgba(595959aa) } plugin { hy3 { tabs { height = 25 rounding = 15 text_height = 12 text_padding = 10 text_center = true col.text.active = rgba(ffffffff) col.text.inactive = rgba(ffffffff) col.active = rgba(33beffee) col.inactive = rgba(282c34aa) } } } # Launch applications bind = SUPER, Tab, exec, alacritty bind = SUPER SHIFT, K, exec, krusader bind = SUPER SHIFT, I, exec, gwenview bind = SUPER SHIFT, O, exec, okular bind = SUPER SHIFT, E, exec, code bind = SUPER SHIFT, B, exec, ~/dotfiles/scripts/chrome.zsh bind = , Print, exec, ~/dotfiles/scripts/screenshot.zsh # Shell commands bind = SUPER, E, exec, ~/dotfiles/scripts/app_launcher.zsh bind = SUPER, L, exec, ~/dotfiles/scripts/lock.zsh # Other Hyprland stuff bind = SUPER, M, exit bind = SUPER, Q, killactive bind = SUPER, F, fullscreen bind = SUPER, SPACE, togglefloating # Layouts bind = SUPER, Y, togglesplit bind = SUPER SHIFT, Y, hy3:changegroup, toggletab bind = SUPER, V, hy3:makegroup, v bind = SUPER, H, hy3:makegroup, h # Move focus bind = SUPER, A, hy3:movefocus, l bind = SUPER, D, hy3:movefocus, r bind = SUPER, W, hy3:movefocus, u bind = SUPER, S, hy3:movefocus, d # Move windows bind = SUPER SHIFT, A, hy3:movewindow, l bind = SUPER SHIFT, D, hy3:movewindow, r bind = SUPER SHIFT, W, hy3:movewindow, u bind = SUPER SHIFT, S, hy3:movewindow, d # Click on tabs bindn = , mouse:272, hy3:focustab, mouse # Move workspaces bind = SUPER CTRL, A, movecurrentworkspacetomonitor, -1 bind = SUPER CTRL, D, movecurrentworkspacetomonitor, +1 # Move focus in group bind = SUPER, D, changegroupactive, f bind = SUPER, A, changegroupactive, b # Move window in group bind = SUPER SHIFT, D, movegroupwindow, f bind = SUPER SHIFT, A, movegroupwindow, b # Switch workspaces bind = SUPER, semicolon, workspace, 1 bind = SUPER, plus, workspace, 2 bind = SUPER, ecaron, workspace, 3 bind = SUPER, scaron, workspace, 4 bind = SUPER, ccaron, workspace, 5 bind = SUPER, rcaron, workspace, 6 bind = SUPER, zcaron, workspace, 7 bind = SUPER, yacute, workspace, 8 bind = SUPER, aacute, workspace, 9 bind = SUPER, iacute, workspace, 10 bind = SUPER, eacute, workspace, 11 # Move active window to a workspace bind = SUPER SHIFT, semicolon, movetoworkspacesilent, 1 bind = SUPER SHIFT, plus, movetoworkspacesilent, 2 bind = SUPER SHIFT, ecaron, movetoworkspacesilent, 3 bind = SUPER SHIFT, scaron, movetoworkspacesilent, 4 bind = SUPER SHIFT, ccaron, movetoworkspacesilent, 5 bind = SUPER SHIFT, rcaron, movetoworkspacesilent, 6 bind = SUPER SHIFT, zcaron, movetoworkspacesilent, 7 bind = SUPER SHIFT, yacute, movetoworkspacesilent, 8 bind = SUPER SHIFT, aacute, movetoworkspacesilent, 9 bind = SUPER SHIFT, iacute, movetoworkspacesilent, 10 bind = SUPER SHIFT, eacute, movetoworkspacesilent, 11 # Move/resize windows bindm = SUPER, mouse:272, movewindow bindm = ALT, mouse:272, resizewindow # Brightness binde = ,XF86MonBrightnessDown,exec,brightnessctl set 5%- binde = ,XF86MonBrightnessUp,exec,brightnessctl set +5% # Volume binde =, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+ binde =, XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%- bind =, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Media playback bind =, XF86AudioPrev, exec, playerctl previous bind =, XF86AudioNext, exec, playerctl next bind =, XF86AudioPlay, exec, playerctl play-pause # Social workspace windowrulev2 = workspace 1,class:^(Element)$ windowrulev2 = workspace 1,class:^(WebCord)$ windowrulev2 = workspace 1,class:^(ferdium)$ windowrulev2 = workspace 1,initialtitle:^(Spotify Premium)$ # Browser workspace windowrulev2 = workspace 2,initialtitle:^(Google Chrome)$ # Float KDE Polkit windowrulev2=float,class:^(org.kde.polkit-kde-authentication-agent-1)$ # Satty windowrulev2 = animation popin,class:^(com.gabm.satty)$ # Center pinentry-qt windowrulev2 = center,class:^(pinentry-qt)$ # AGS - Blur layerrule = blur,^(ags) layerrule = ignorealpha 0,^(ags) # AGS - Animations layerrule = animation slide right,^(ags:quick_settings) layerrule = animation slide top,^(ags:calendar) layerrule = animation slide bottom,^(ags:app_launcher) layerrule = animation slide left,^(ags:progress_popup) Config File: /home/simon/.config/hypr/device.conf: Read Succeeded monitor = HDMI-A-1,1920x1080@60,0x0,1 # Main screen (center) monitor = DVI-D-1,1920x1200@59.95000,-1920x0,1 # Secondary (left) monitor = Unknown-1,disable input { accel_profile = flat } animations { animation = workspaces, 1, 3, default } Config File: /home/simon/.config/hypr/plugins.conf: Read Succeeded plugin = /nix/store/0r6k9qvfwfrvf1r094fba9hyp0c09kn2-hy3-hl0.41.0/lib/libhy3.so ======Config-End======== ```

Description

How to reproduce

Crash reports, logs, images, videos

Webcord

[38389:0612/214214.534452:ERROR:screen_capture_portal_interface.cc(48)] Failed to request session: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files
[38389:0612/214214.534467:ERROR:base_capturer_pipewire.cc(81)] ScreenCastPortal failed: 3
(node:38389) UnhandledPromiseRejectionWarning: Failed to get sources.
(Use `electron --trace-warnings ...` to show where the warning was created)
(node:38389) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)

OBS

error: obs-data.c: [obs_data_create_from_json] Failed reading json string (1): '[' or '{' expected near end of file
error: obs-data.c: [obs_data_create_from_json] Failed reading json string (1): '[' or '{' expected near end of file
info: User added source 'Video Capture Device (PipeWire) (BETA) 2' (pipewire-camera-source) to scene 'Scene'
info: [camera-portal] Selected resolution for ''
info: [camera-portal] Selected format for ''
info: [camera-portal] selected camera ''
SimonBrandner commented 4 months ago

(I am not 100% sure if Hyprland is at fault atm - I am going to try to bisect my Nix setup tomorrow)

SimonBrandner commented 4 months ago

Not Hyprland, it turns out

SimonBrandner commented 4 months ago

Replaced by https://github.com/NixOS/nixpkgs/issues/319500