hyprwm / Hyprland

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

OBS Crashing with wlrobs-hg in scene after update #6637

Closed SMGttv closed 4 days ago

SMGttv commented 6 days ago

Regression?

Yes

System Info and Version

System/Version info ```sh <| __/| (__ | |____| (_) || | | || | | || (_| | # # |______|/_/\_\\___| \___| \_____|\___/ |_| |_||_| |_| \__, | # # __/ | # # |___/ # # ############################################################## # # See https://wiki.hyprland.org/Configuring/Keywords/ for more exec = waybar exec = waybar -c ~/.config/waybar2/config.jsonc exec = waybar -c ~/.config/waybar3/config.jsonc exec = waybar -c ~/.config/waybar4/config.jsonc exec = swaync exec = swayosd-server exec = hyprpaper exec = hypridle exec = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # Starting applications at startup exec-once = geary --gapplication-service exec-once = mullvad-vpn exec-once = discover-overlay exec-once = kdeconnect exec-once = kdeconnect-indicator exec-once = [workspace 3 silent] discord # exec-once = [workspace 10 silent] openrgb exec-once = [workspace 10 silent] protonmail-bridge exec-once = ~/.config/scripts/start-ckb-next.sh exec-once = ~/.config/scripts/start-easyeffects.sh # ----- LOOK AT LATER ----- # # exec = wl-paste -t text --watch clipman store # exec = wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json" # exec = wl-clip-persist --clipboard both --read-timeout 50 --write-timeout 1000 # exec = wl-paste -p --watch wl-copy -pc # to disable the middle-mousebutton paste # exec-once = solaar -w hide -b symbolic # exec = copyq --start-server Config File: /home/james/.config/hypr/keybinds.conf: Read Succeeded # #################################################################################### # # _ __ _ _ _ _____ __ _ # # | |/ / | | (_) | | / ____| / _|(_) # # | ' / ___ _ _ | |__ _ _ __ __| | ___ | | ___ _ __ | |_ _ __ _ # # | < / _ \| | | || '_ \ | || '_ \ / _` |/ __| | | / _ \ | '_ \ | _|| | / _` | # # | . \| __/| |_| || |_) || || | | || (_| |\__ \ | |____| (_) || | | || | | || (_| | # # |_|\_\\___| \__, ||_.__/ |_||_| |_| \__,_||___/ \_____|\___/ |_| |_||_| |_| \__, | # # __/ | __/ | # # |___/ |___/ # # #################################################################################### # # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod , X , killactive , bind = $mainMod , O , togglefloating , bind = $mainMod , P , fullscreen , bind = $mainMod , I , pseudo , # dwindle bind = $mainMod , J , togglesplit , # dwindle # Application Keybinds bind = $mainMod , K , exec , kitty bind = $mainMod , R , exec , rofi -show drun -show-icons bind = $mainMod , N , exec , nautilus bind = $mainMod , C , exec , chromium bind = $mainMod , F , exec , firefox bind = $mainMod , L , exec , swaylock bind = $mainMod , B , exec , /usr/bin/firefoxpwa site launch 01HKGSSKM4F3FC39AAG414JY70 --protocol %u bind = CONTROL ALT , Delete , exec , gnome-system-monitor # Script Keybinds bind = $mainMod , V , exec , ~/.config/scripts/vm.sh bind = $mainMod , W , exec , ~/.config/scripts/waybar-launch.sh bind = $mainMod , PRINT , exec , ~/.config/scripts/grim.sh # Move focus with mainMod + arrow keys bind = $mainMod , left , movefocus , l bind = $mainMod , right , movefocus , r bind = $mainMod , up , movefocus , u bind = $mainMod , down , movefocus , d # Switch workspaces with mainMod + [0-9] 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 # Example special workspace (scratchpad) bind = $mainMod , S , togglespecialworkspace , magic bind = $mainMod SHIFT , S , movetoworkspace , special:magic # Scroll through existing workspaces with mainMod + scroll bind = $mainMod , mouse_down , workspace , e+1 bind = $mainMod , mouse_up , workspace , e-1 # Move active window to a workspace with mainMod + SHIFT + [0-9] 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 active window in workspace bind = $mainMod ALT , left , movewindow, l bind = $mainMod ALT , right , movewindow, r bind = $mainMod ALT , up , movewindow, u bind = $mainMod ALT , down , movewindow, d # Volume Control Keyboard bind= , XF86AudioRaiseVolume , exec , wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+ bind= , XF86AudioLowerVolume , exec , wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- bind= , XF86AudioMute , exec , wpctl set-sink-mute @DEFAULT_SINK@ toggle # Mediacontrol with mediakeys bind = , XF86AudioPrev , exec , playerctl previous bind = , XF86AudioPlay , exec , playerctl play-pause bind = , XF86AudioNext , exec , playerctl next # SwayOSD Client Binding bind= , XF86AudioRaiseVolume , exec , swayosd-client --output-volume 2 bind= , XF86AudioLowerVolume , exec , swayosd-client --output-volume -2 bind= , XF86AudioMute , exec , swayosd-client --output-volume mute-toggle # Audiocontrol with ags bind = , XF86AudioRaiseVolume , exec , ags run-js "audio.speaker.volume += 0.05; indicator.speaker()" bind = , XF86AudioLowerVolume , exec , ags run-js "audio.speaker.volume -= 0.05; indicator.speaker()" bind = , XF86AudioMute , exec , pamixer -t && ags run-js "ags.Service.Indicator.speaker()" # Resize windows with mainMod CTRL + arrowkeys bind = $mainMod CONTROL, right , resizeactive , 30 0 bind = $mainMod CONTROL, left , resizeactive , -30 0 bind = $mainMod CONTROL, up , resizeactive , 0 -30 bind = $mainMod CONTROL, down , resizeactive , 0 30 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod , mouse:272 , movewindow bindm = $mainMod , mouse:273 , resizewindow Config File: /home/james/.config/hypr/misc.conf: Read Succeeded # ########################################################### # # __ __ _ _____ __ _ # # | \/ |(_) / ____| / _|(_) # # | \ / | _ ___ ___ | | ___ _ __ | |_ _ __ _ # # | |\/| || |/ __| / __| | | / _ \ | '_ \ | _|| | / _` | # # | | | || |\__ \| (__ | |____| (_) || | | || | | || (_| | # # |_| |_||_||___/ \___| \_____|\___/ |_| |_||_| |_| \__, | # # __/ | # # |___/ # # ########################################################### # # Some default env vars. env = XCURSOR_SIZE,32 env = MOZ_ENABLE_WAYLAND,1 env = QT_QPA_PLATFORMTHEME=qt6ct # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. numlock_by_default = 1 } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { # new_is_master = true } # See https://wiki.hyprland.org/Configuring/Variables/ for more gestures { workspace_swipe = false } # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more #device:logitech-mx-master-2s-1 { # sensitivity = 50 #} # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more misc { vfr = true vrr = 2 animate_manual_resizes = false focus_on_activate = false render_ahead_of_time = false disable_hyprland_logo = false } debug { overlay = false } # Example windowrule v1 # windowrule = float, ^(kitty)$ windowrule = workspace 3, discord windowrule = workspace 10, protonmail-bridge windowrule = workspace 10, openrgb # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # windowrulev2 = nomaximizerequest, class:.* windowrulev2 = stayfocused, title:^()$,class:^(steam)$ windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ windowrulev2 = stayfocused, title:^()$,class:^(chatterino)$ windowrulev2 = minsize 1 1, title:^()$,class:^(chatterino)$ windowrulev2 = float, class:chrome-nngceckbapebfimnlniiiahkandclblb-Default windowrulev2 = move center, class:chrome-nngceckbapebfimnlniiiahkandclblb-Default windowrulev2 = float, class:org.gnome.Calculator windowrulev2 = move center, class:org.gnome.Calculator windowrulev2 = sizet 800 800, class:org.gnome.Calculator Config File: /home/james/.config/hypr/monitors.conf: Read Succeeded # #################################################################################### # # __ __ _ _ _____ __ _ # # | \/ | (_)| | / ____| / _|(_) # # | \ / | ___ _ __ _ | |_ ___ _ __ ___ | | ___ _ __ | |_ _ __ _ # # | |\/| | / _ \ | '_ \ | || __|/ _ \ | '__|/ __| | | / _ \ | '_ \ | _|| | / _` | # # | | | || (_) || | | || || |_| (_) || | \__ \ | |____| (_) || | | || | | || (_| | # # |_| |_| \___/ |_| |_||_| \__|\___/ |_| |___/ \_____|\___/ |_| |_||_| |_| \__, | # # __/ | # # |___/ # # #################################################################################### # monitor = DP-2 , 3440x1440 @ 165.0 , 900x1440 , 1.0 monitor = DP-4 , 2560x1440 @ 144.0 , 1340x0 , 1.0 monitor = HDMI-A-2 , 1440x900 @ 60.0 , 0x1440 , 1.0 monitor = HDMI-A-2 , transform , 3 Config File: /home/james/.config/hypr/workspaces.conf: Read Succeeded # ###################################################################################################### # # __ __ _ _____ __ _ # # \ \ / / | | / ____| / _|(_) # # \ \ /\ / /___ _ __ | | __ ___ _ __ __ _ ___ ___ ___ | | ___ _ __ | |_ _ __ _ # # \ \/ \/ // _ \ | '__|| |/ // __|| '_ \ / _` | / __|/ _ \/ __| | | / _ \ | '_ \ | _|| | / _` | # # \ /\ /| (_) || | | < \__ \| |_) || (_| || (__| __/\__ \ | |____| (_) || | | || | | || (_| | # # \/ \/ \___/ |_| |_|\_\|___/| .__/ \__,_| \___|\___||___/ \_____|\___/ |_| |_||_| |_| \__, | # # | | __/ | # # |_| |___/ # # ###################################################################################################### # workspace = 1 , monitor:DP-2 workspace = 2 , monitor:DP-4 workspace = 3 , monitor:HDMI-A-2 workspace = 4 , monitor:DP-2 workspace = 5 , monitor:DP-4 workspace = 6 , monitor:HDMI-A-2 workspace = 7 , monitor:DP-2 workspace = 8 , monitor:DP-4 workspace = 9 , monitor:HDMI-A-2 workspace = 10 , monitor:DP-2 ======Config-End========> ```

Description

After updating to the latest version of hyprland from 0.40, OBS crashes when trying to use a scene with the wlrobs-hg source in it. wlrobs-hg is an obs studio plugin that allows you to screen capture on wlroots-based Wayland compositors. I was working in 0.40 and now OBS crashes after updating.

How to reproduce

  1. Install version 0.40 of hyprland
  2. Install obs-studio
  3. Install wlrobs-hg (AUR)
  4. Open OBS and add wlrobs-hg source to a scene and select a monitor
  5. Update hyprland
  6. Reboot
  7. Open OBS
  8. Note OBS crash

Crash reports, logs, images, videos

Terminal entry on crash: Segmentation fault (core dumped)

ikalco commented 6 days ago

why not use pipewire screen capture? also Hyprland is moving away from wlroots so this might be completely broken in the future

SMGttv commented 6 days ago

why not use pipewire screen capture? also Hyprland is moving away from wlroots so this might be completely broken in the future

I just have found the wlrobs to be more efficient in capturing the desktop in my experiance. I may have to fall back on the pipewire screen capture if moving away from wlroots does break this.

vaxerski commented 5 days ago

post WAYLAND_DEBUG=1 logs of obs when it crashes

ikalco commented 5 days ago

uuuh wlr-export-dmabuf-unstable-v1 isn't registered on git and thats what wlrobs-hg uses

[3393879.672] wl_display#1.get_registry(new id wl_registry#2)
[3393879.683]  -> wl_registry#2.global(1, "wl_seat", 9)
[3393879.686]  -> wl_registry#2.global(2, "wl_data_device_manager", 3)
[3393879.689]  -> wl_registry#2.global(3, "wl_compositor", 6)
[3393879.690]  -> wl_registry#2.global(4, "wl_subcompositor", 1)
[3393879.692]  -> wl_registry#2.global(5, "wl_shm", 1)
[3393879.694]  -> wl_registry#2.global(6, "wp_viewporter", 1)
[3393879.696]  -> wl_registry#2.global(7, "wp_tearing_control_manager_v1", 1)
[3393879.698]  -> wl_registry#2.global(8, "wp_fractional_scale_manager_v1", 1)
[3393879.699]  -> wl_registry#2.global(9, "zxdg_output_manager_v1", 3)
[3393879.701]  -> wl_registry#2.global(10, "wp_cursor_shape_manager_v1", 1)
[3393879.703]  -> wl_registry#2.global(11, "zwp_idle_inhibit_manager_v1", 1)
[3393879.705]  -> wl_registry#2.global(12, "zwp_relative_pointer_manager_v1", 1)
[3393879.707]  -> wl_registry#2.global(13, "zxdg_decoration_manager_v1", 1)
[3393879.708]  -> wl_registry#2.global(14, "wp_alpha_modifier_v1", 1)
[3393879.710]  -> wl_registry#2.global(15, "zwlr_gamma_control_manager_v1", 1)
[3393879.712]  -> wl_registry#2.global(16, "ext_foreign_toplevel_list_v1", 1)
[3393879.714]  -> wl_registry#2.global(17, "zwp_pointer_gestures_v1", 3)
[3393879.716]  -> wl_registry#2.global(18, "zwlr_foreign_toplevel_manager_v1", 3)
[3393879.718]  -> wl_registry#2.global(19, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[3393879.719]  -> wl_registry#2.global(20, "zwp_text_input_manager_v3", 1)
[3393879.721]  -> wl_registry#2.global(21, "zwp_pointer_constraints_v1", 1)
[3393879.723]  -> wl_registry#2.global(22, "zwlr_output_power_manager_v1", 1)
[3393879.724]  -> wl_registry#2.global(23, "xdg_activation_v1", 1)
[3393879.726]  -> wl_registry#2.global(24, "ext_idle_notifier_v1", 1)
[3393879.728]  -> wl_registry#2.global(25, "ext_session_lock_manager_v1", 1)
[3393879.730]  -> wl_registry#2.global(26, "zwp_input_method_manager_v2", 1)
[3393879.731]  -> wl_registry#2.global(27, "zwp_virtual_keyboard_manager_v1", 1)
[3393879.733]  -> wl_registry#2.global(28, "zwlr_virtual_pointer_manager_v1", 2)
[3393879.735]  -> wl_registry#2.global(29, "zwlr_output_manager_v1", 4)
[3393879.737]  -> wl_registry#2.global(30, "org_kde_kwin_server_decoration_manager", 1)
[3393879.739]  -> wl_registry#2.global(31, "hyprland_focus_grab_manager_v1", 1)
[3393879.741]  -> wl_registry#2.global(32, "zwp_tablet_manager_v2", 1)
[3393879.742]  -> wl_registry#2.global(33, "zwlr_layer_shell_v1", 5)
[3393879.744]  -> wl_registry#2.global(34, "wp_presentation", 1)
[3393879.746]  -> wl_registry#2.global(35, "xdg_wm_base", 6)
[3393879.748]  -> wl_registry#2.global(36, "zwlr_data_control_manager_v1", 2)
[3393879.750]  -> wl_registry#2.global(37, "zwp_primary_selection_device_manager_v1", 1)
[3393879.751]  -> wl_registry#2.global(38, "xwayland_shell_v1", 1)
[3393879.753]  -> wl_registry#2.global(39, "wl_drm", 2)
[3393879.755]  -> wl_registry#2.global(40, "zwp_linux_dmabuf_v1", 5)
[3393879.757]  -> wl_registry#2.global(41, "hyprland_toplevel_export_manager_v1", 2)
[3393879.759]  -> wl_registry#2.global(42, "zwp_text_input_manager_v1", 1)
[3393879.760]  -> wl_registry#2.global(43, "hyprland_global_shortcuts_manager_v1", 1)
[3393879.762]  -> wl_registry#2.global(44, "zwlr_screencopy_manager_v1", 3)
[3393879.764]  -> wl_registry#2.global(45, "wp_drm_lease_device_v1", 1)
[3393879.766]  -> wl_registry#2.global(46, "wl_output", 4)
[3393879.767]  -> wl_registry#2.global(47, "wl_output", 4)
vaxerski commented 4 days ago

unlucky