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
19.76k stars 840 forks source link

Waybar crashes when turning screen back on #7375

Open wjyzxcv opened 1 month ago

wjyzxcv commented 1 month ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259 (props: bump version to 0.42.0). Date: Wed Aug 7 19:17:10 2024 Tag: v0.42.0, commits: 5069 flags: (if any) System Information: System name: Linux Node name: AdalArch Release: 6.10.5-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Thu, 15 Aug 2024 00:25:30 +0000 GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD102 [GeForce RTX 4090] [10de:2684] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 555.58.02 Tue Jun 25 01:39:15 UTC 2024 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/wjyzxcv/.config/hypr/hyprland.conf: Read Succeeded # ####################################################################################### # AUTOGENERATED HYPR CONFIG. # PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, # OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. # ####################################################################################### # This is an example Hyprland config file. # Refer to the wiki for more information. # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ # Please note not all available settings / options are set here. # For a full list, see the wiki # You can split this configuration into multiple files # Create your files separately and then link them to this file like this: # source = ~/.config/hypr/myColors.conf ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,1.0, bitdepth,10 # unscale XWayland xwayland { force_zero_scaling = true } ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = footclient $fileManager = nemo $menu = fuzzel ################# ### AUTOSTART ### ################# # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: # run foot server exec-once = foot --server # run syncthing exec-once = syncthing serve --no-browser --logfile=default # run easyeffects exec-once = easyeffects --gapplication-service # run nm-applet exec-once = nm-applet # run fcitx5 exec-once = fcitx5 -d --replace # run pyprland # exec-once = pypr # run waybar exec-once = waybar # run hypridle exec-once = hypridle # load wallpapers exec-once = ~/.config/hypr/scripts/hyprpaper-gen.sh --start --random # run hyprpaper # exec-once = hyprpaper # run terminal # exec-once = $terminal # run firefox exec-once = firefox ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = HYPRCURSOR_THEME,"Future-Cyan-Hyprcursor_Theme" env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,36 env = XMODIFIERS, @im=fcitx env = ELECTRON_OZONE_PLATFORM_HINT, auto env = QT_QPA_PLATFORM, wayland env = QT_STYLE_OVERRIDE, kvantum env = VISUAL, nvim env = EDITOR, nvim ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 5 gaps_out = 20 border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false layout = dwindle } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 10 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 0.85 drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 3 passes = 1 vibrancy = 0.1696 } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { new_status = master } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( vrr = 2 # VRR 0 - off; 1 - on; 2 - fullscreen only } # debug debug { disable_logs = false } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = numlock_by_default = true follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { natural_scroll = false } } # https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { workspace_swipe = false } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { name = singing-gundi sensitivity = -0.5 } #################### ### KEYBINDINGSS ### #################### # See https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = SUPER # Sets "Windows" key as main modifier # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Return, exec, $terminal bind = $mainMod SHIFT, Q, killactive, bind = $mainMod SHIFT, E, exit, bind = $mainMod, E, exec, $fileManager bind = $mainMod SHIFT, Space, togglefloating, bind = $mainMod, D, exec, $menu bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle # 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 # 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 # 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/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Full screen toggle bind = $mainMod, F, fullscreen ############################## ### WINDOWS AND WORKSPACES ### ############################## # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. ======Config-End======== ```

Description

After upgrading to hyprland 0.42.0 from 0.41.2, waybar crashes when

  1. Hypridle executing on-resume = hyprctl dispatch dpms on;
  2. Turning monitor off and on.

Here is the waybar log:

[2024-08-17 20:48:19.280] [info] Bar removed from output: DP-3
[2024-08-17 20:48:19.281] [warning] module hyprland/window: Disabling module "hyprland/window", Error parsing JSON: * Line 1, Column 1
  Syntax error: value, object or array expected.

[2024-08-17 20:48:19.281] [error] Monitor 'FALLBACK' does not have an ID? Using 0
[2024-08-17 20:48:19.281] [warning] module hyprland/workspaces: Disabling module "hyprland/workspaces", Error parsing JSON: * Line 1, Column 1
  Syntax error: value, object or array expected.

[2024-08-17 20:48:19.386] [info] Bar configured (width: 353, height: 27) for output: FALLBACK
Gdk-Message: 20:48:19.386: Error 71 (Protocol error) dispatching to Wayland display.

How to reproduce

Either turn monitor off and on, or execute hyprctl dispatch dpms off then hyprctl dispatch dpms on.

Crash reports, logs, images, videos

No response

bubidani commented 1 month ago

Same issue here hyprland 0.42.0 waybar 0.10.4

ethanh20009 commented 1 month ago

Same issue here, reproducible every time I turn monitor off and on but occurs all the time as I wake my pc from sleep. Randomly takes me to workspace 12 every time as well.

IanHollow commented 2 weeks ago

I have the same issue as well. I am on hyprland git release as I use nixos with flakes the specfic commit I am on is 727f1b54cd1ba48774092a5d54acc0e55f3ffe0f this is from date 2024-9-5 to be more specific. I am also on waybar 0.10.4.

Here is a very simular issue on waybar repo a couple months ago with the conclusion being it was a hyprland issue: https://github.com/Alexays/Waybar/issues/3427

bubidani commented 1 week ago

This is fixed for me in v0.43.0

wjyzxcv commented 1 week ago

For me, this issue persists after upgrading to 0.43.0. Waybar is still on 0.10.4.

IanHollow commented 1 week ago

This issue is also still broken for me on hyprland 0.43.0 with waybar version 0.10.4.

This is wayland debug error message I get after turning the screen back on. I know this error message is from waybar but I hope it provides context in the hyprland setting.

[   2239.906] {Display Queue} wl_display#1.error(wl_surface#35, 4294967295, "layerSurface was not configured, but a buffer was attached")
Gdk-Message: 10:14:04.712: Error 71 (Protocol error) dispatching to Wayland display.
vaxerski commented 1 week ago

that would be a waybar issue to me

izmyname commented 1 week ago

Can't repro on my side, waybar doesn't crash. Also, is this happening on waybar 0.11?

wjyzxcv commented 1 week ago

Yes, unless "output" is explicitly set in waybar.

IanHollow commented 1 week ago

Can't repro on my side, waybar doesn't crash. Also, is this happening on waybar 0.11?

Yes this is still broken in waybar 0.11 for me on hyprland 0.43.0 with the same error message that I listed above.