Open pinusc opened 1 month ago
I would bisect the issue myself, but I'm running this on a pretty old laptop and compilation takes a really long time...
After compiling the most recent git commit, I can confirm that the bug is still present for me...
aren't you just sent to a different workspace? what does hyprctl clients
say about the whereabouts of the windows?
No, Brave, VS Code and swww crash for me. Kitty and nwg-panel stay alive
wayland_debug=1 of a crashing app pls, I think this is a dupe of somewhere else
I unfortunately haven't had time to exactly pin down what behavior causes this reliably for me, as simply connecting or disconnecting from the same set of monitors doesn't always cause the crash. However, plugging into a different USB-C port on my laptop, or connecting to a new monitor seems to cause issues. Also, unplugging from monitors leaves my workspace on these now non-existent ghost monitors which I manually need to find in hyprctl monitors and disable.
I'll try to spend some time this weekend debugging and posting logs if someone else hasn't found by then. Thanks for your efforts vaxry!
same https://github.com/hyprwm/Hyprland/issues/7822
when i turn off and on the monitor
Updated to hyprland 0.44 and I can confirm having the same issue already mentioned in #7587.
The workspace is still switched to a random one upon powering on the monitor, but differently than before, wayland no longer crashes but alacritty does.
I am attached to a single DP monitor, and I have the default monitor configuration:
monitor=,preferred,auto,auto
Also, I have no rule for workspaces in case that's relevant.
Using nvidia card with propretary drivers:
local/nvidia 560.35.03-3
Versions of relevant arch packages:
local/hyprland 0.44.0-1
local/alacritty 0.13.2-3
local/waybar 0.11.0-3
those should be fixed on latest git
updated to the latest git, soft-rebooted. turning off monitor or dpms off still crashes it or close all windows
are the apps gone from hyprctl clients
? if so, provide WAYLAND_DEBUG=1 of any crashing app
hmm, it just slowly collapse, if i turn my display back on before the whole hyprland crash, i might be able to do that. ill do that wen i get time
Updated to hyprland 0.44.1 from Arch package, the workspace still switches to a random one on monitor off/on, but alacritty stopped crashing. I guess commit ad46257 fixes the alacritty crash, that was in fact already reported also in #6835.
When the second monitor is not a retina display, I get no crashes
Already reported ? *
Regression?
Yes
System Info and Version
System/Version info
```sh Hyprland, built from branch at commit 0c7a7e2d569eeed9d6025f3eef4ea0690d90845d (version: bump to 0.44.0). Date: Sun Oct 6 11:04:13 2024 Tag: v0.44.0, commits: 5299 built against aquamarine 0.4.1 flags: (if any) System Information: System name: Linux Node name: mandricardo Release: 6.11.2-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Fri, 04 Oct 2024 21:51:11 +0000 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller]) os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo plugins: ======Config-Start====== Config File: /home/pinusc/.config/hypr/hyprland.conf: Read Succeeded # See https://wiki.hyprland.org/Configuring/Monitors/ # monitor=LVDS-1,disable monitor=LVDS-1,preferred,auto,1 monitor=HDMI-A-2,preferred,auto-left,1 # monitor=,preferred,1440x0,1 # monitor=VGA-1,highres,0x0,1 debug:disable_logs = false # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch # exec-once = waybar & hyprpaper # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = it(us) # kb_model = Italian (US) kb_options = dead_acute # kb_rules = "keycode 26 = e E NoSymbol NoSymbol 0xe8 0xe9" follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 4 gaps_out = 8 border_size = 2 col.active_border = rgb(b8bb26) rgb(d3869b) 45deg col.inactive_border = rgba(595959aa) layout = dwindle } misc { mouse_move_enables_dpms = true key_press_enables_dpms = true } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 3 drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more # bezier = myBezier, 0.05, 0.9, 0.1, 1.05 #bezier = myBezier, 0.37, 0, 0.63, 1 bezier = myBezier, 0.87, 0, 0.13, 1 animation = windows, 1, 0.8, myBezier animation = windowsOut, 1, 0.8, default, popin 80% animation = borderangle, 1, 50, default animation = border, 1, 3, default animation = fade, 1, 1, default animation = workspaces, 1, 1, default, slide animation = specialWorkspace, 1, 1, default, fade } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = yes # master switch for pseudotiling. Enabling is bound to mod + P in the keybinds section below preserve_split = yes # you probably want this force_split = 2 smart_split = false } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more # new_is_master = true } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more # workspace_swipe = false # workspace_swipe_invert = true # workspace_swipe_fingers = 3 # workspace_swipe_distance = 500 # workspace_swipe_cancel_ratio = 0.5 # workspace_swipe_min_speed_to_force = 5 # workspace_swipe_create_new = true } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more # device:epic mouse V1 { # sensitivity = -0.5 # } # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more workspace=1, monitor:HDMI-A-2 workspace=2, monitor:HDMI-A-2 workspace=3, monitor:HDMI-A-2 workspace=4, monitor:HDMI-A-2 workspace=5, monitor:HDMI-A-2 # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = ,Print, exec, grimshot save output bind = SHIFT, Print, exec, grimshot save area bind = $mod, Return, exec, footclient bind = $mod, W, killactive, bind = $mod, Space, exec, rofi -show combi -modes combi -combi-modes "drun,run" -combi-display-format '{text}' bind = $mod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy # bind = $mod, P, pseudo, # dwindle bind = $mod, R, togglesplit, # dwindle bind = $mod_ALT, Escape, exit bind = $mod, o, exec, pdf_menu.sh bind = $mod_SHIFT, o, exec, papis-open.sh # bind = $mod, Escape, exec, ~/.config/eww/dashboard/launch_dashboard bind = $mod, s, togglefloating bind = $mod, f, fullscreen, 0 bind = $mod, t, fullscreen, 1 # Move focus with SUPER + vimkey bind = $mod, h, movefocus, l bind = $mod, l, movefocus, r bind = $mod, k, movefocus, u bind = $mod, j, movefocus, d # swap windows with SUPER + SHIFT + vimkey bind = $mod_SHIFT, h, swapwindow, l bind = $mod_SHIFT, l, swapwindow, r bind = $mod_SHIFT, k, swapwindow, u bind = $mod_SHIFT, j, swapwindow, d bind = $mod_CTRL, h, movewindow, l bind = $mod_CTRL, l, movewindow, r bind = $mod_CTRL, k, movewindow, u bind = $mod_CTRL, j, movewindow, d # resize windows with SUPER + ALT + vimkey bind = $mod_ALT, h, resizeactive, -20 0 bind = $mod_ALT, l, resizeactive, 20 0 bind = $mod_ALT, k, resizeactive, 0 -20 bind = $mod_ALT, j, resizeactive, 0 20 # Move/resize windows with mod + LMB/RMB and dragging bindm = $mod, mouse:272, movewindow bindm = $mod, mouse:273, resizewindow # Move/resize windows with mod + LMB/RMB and dragging bindm = $mod, mouse:272, movewindow bindm = $mod, mouse:273, resizewindow # Scroll through existing workspaces with mod + scroll bind = $mod_SHIFT, d, workspace, r+1 bind = $mod_SHIFT, u, workspace, r-1 bind = $mod, d, workspace, m+1 bind = $mod, u, workspace, m-1 # Switch workspaces with mod + [0-9] bind = $mod, 1, workspace, 1 bind = $mod, 2, workspace, 2 bind = $mod, 3, workspace, 3 bind = $mod, 4, workspace, 4 bind = $mod, 5, workspace, 5 bind = $mod, 6, workspace, 6 bind = $mod, 7, workspace, 7 bind = $mod, 8, workspace, 8 bind = $mod, 9, workspace, 9 bind = $mod, 0, workspace, 10 # Move active window to a workspace with mod + SHIFT + [0-9] bind = $mod SHIFT, 1, movetoworkspace, 1 bind = $mod SHIFT, 2, movetoworkspace, 2 bind = $mod SHIFT, 3, movetoworkspace, 3 bind = $mod SHIFT, 4, movetoworkspace, 4 bind = $mod SHIFT, 5, movetoworkspace, 5 bind = $mod SHIFT, 6, movetoworkspace, 6 bind = $mod SHIFT, 7, movetoworkspace, 7 bind = $mod SHIFT, 8, movetoworkspace, 8 bind = $mod SHIFT, 9, movetoworkspace, 9 bind = $mod SHIFT, 0, movetoworkspace, 10 bind = , XF86Launch1, exec, mpv --fullscreen /data/kommunism.webm windowrule = float,org.keepassxc.KeePassXC # Quake Term windowrulev2 = float,class:(quaketerm) windowrulev2 = workspace special:quake,class:(quaketerm) bind = SUPER, semicolon, exec, pgrep -xf "foot -a quaketerm" && hyprctl dispatch togglespecialworkspace quake || foot -a quaketerm & # Quake mail windowrulev2 = float,class:(quakemail) windowrulev2 = workspace special:quakemail,class:(quakemail) bind = SUPER, m, exec, pgrep -xf "foot -a quakemail neomutt" && hyprctl dispatch togglespecialworkspace quakemail || foot -a quakemail neomutt & # Quake chat windowrulev2 = float,class:(quakechat) windowrulev2 = workspace special:quakechat,class:(quakechat) bind = SUPER, apostrophe, exec, pgrep -xf "foot -a quakechat gomuks" && hyprctl dispatch togglespecialworkspace quakechat || foot -a quakechat gomuks & # Quake units # windowrulev2 = float,class:(quakeunits) # windowrulev2 = workspace special:quakeunits,class:(quakeunits) # bind = SUPER_SHIFT, u, exec, pgrep -xf "foot -a quakeunits units" && hyprctl dispatch togglespecialworkspace quakeunits || foot -a quakeunits units & # Quakeculator windowrulev2 = float,class:(qalculate-gtk) windowrulev2 = workspace special:calculator,class:(qalculate-gtk) bind = SUPER, c, exec, pgrep qalculate-gtk && hyprctl dispatch togglespecialworkspace calculator || qalculate-gtk & bind = SUPER, p, exec, ~/bin/dmenu/power_menu.sh # for clipboard to work correctly exec-once = wl-paste --type text --watch cliphist store #Stores only text data exec-once = wl-paste --type image --watch cliphist store #Stores only image data exec-once = waybar exec-once = hyprpaper # background exec-once = ~/.config/hypr/hyprpaper-shuf.sh # background exec-once = wlsunset-control.sh enable # redshift exec-once = swayidle -w ======Config-End======== ```Description
Whenever I turn off my secondary monitor (or switch inputs), and then turn it back on, Hyprctl loses all workspaces and windows that were open. Hyprpaper also dies and I get a black background.
I believe this is the same issue as #7587, which was supposed to be resolved in more recent versions but wasn't actually, as I'm on 0.44 and the issue persists.
How to reproduce
Open some windows in Hyprland on workspace 1. Disconnect the monitor. Reconnect it. The windows are gone.
Crash reports, logs, images, videos
No response