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.36k stars 808 forks source link

XWayland crashes, does not recover, requires Hyprland reboot #6532

Closed moonleay closed 2 months ago

moonleay commented 2 months ago

Bug or Regression?

Bug

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 9e781040d9067c2711ec2e9f5b47b76ef70762b3 (props: bump version to 0.41.1). Date: Thu Jun 13 09:54:06 2024 Tag: v0.41.1, commits: 4818 flags: (if any) System Information: System name: Linux Node name: Callisto Release: 6.9.4-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Wed, 12 Jun 2024 20:17:17 +0000 GPU information: c1:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c2) (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/moonleay/.config/hypr/hyprland.conf: Read Succeeded # moonleay's Hyprland config # Source other config files source = ~/.config/hypr/monitors.conf # Configure monitors source = ~/.config/hypr/env_vars.conf # Set environment variables source = ~/.config/hypr/autorun.conf # Autorun apps source = ~/.config/hypr/input.conf # Setup inputs source = ~/.config/hypr/keybindings.conf # Setup keybindings source = ~/.config/hypr/windowrules.conf # Setup windowrules source = ~/.config/hypr/basics.conf # Setup Hyprland basics (layout, design, etc.) # source = ~/.config/hypr/mocha.conf # Setup Colors # Other configs: # Disable xwayland scaling xwayland { force_zero_scaling = true } misc { disable_hyprland_logo = true # lower framerate when not updating screen (powersaving) vfr = true } debug { disable_logs = false } # Per device configs # Config File: /home/moonleay/.config/hypr/monitors.conf: Read Succeeded # Monitors # monitor=,preferred,auto,auto # monitor=eDP-2,preferred,0x0,2 monitor=eDP-1,2560x1600@160,0x0,1.6 # 1.6 monitor=DP-2,3840x2160@120,1600x0,1.25 # 1.2 # monitor=HDMI-A-1,preferred,4480x0,1 # monitor=HDMI-A-1,3440x1440@100,1280x0,1 Config File: /home/moonleay/.config/hypr/env_vars.conf: Read Succeeded # Environment variables env = MOZ_ENABLE_WAYLAND,1 env = MOZ_DISABLE_RDD_SANDBOX,1 env = WLR_DRM_NO_ATOMIC,1 env = GDK_BACKEND,wayland,x11 env = QT_QPA_PLATFORM,wayland;xcb env = SDL_VIDEODRIVER,wayland env = CLUTTER_BACKEND,wayland env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = QT_QPA_PLATFORM,wayland;xcb env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = QT_QPA_PLATFORMTHEME,qt5ct env = HYPRCURSOR_THEME,adwaita env = HYPRCURSOR_SIZE,24 env = XCURSOR_THEME,adwaita env = XCURSOR_SIZE,24 # env = ENABLE_DEVICE_CHOOSER_LAYER=1 VULKAN_DEVICE_INDEX=0 Config File: /home/moonleay/.config/hypr/autorun.conf: Read Succeeded # Autorun apps exec-once = dunst & hyprpaper & waybar exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = hyprctl setcursor Adwaita 24 exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'adwaita' exec-once = gsettings set org.gnome.desktop.interface cursor-size '24' exec-once = bash /home/moonleay/.config/hypr/hyprland/scripts/fixXwaylandVideoBridge.sh exec-once = solaar -w hide exec-once = setxkbmap -model 'pc105angle' -layout 'us' -variant 'cmk_ed_us' -option'' -option 'misc:extend,lv5:caps_switch_lock,grp:shifts_toggle,compose:menu,misc:cmk_curl_dh' exec-once = discord & librewolf # exec-once = flatpak run org.kde.xwaylandvideobridge # exec-once = gBar bar 0 & gBar bar 1 & gBar bar 2 # exec-once = /usr/lib/polkit-kde-authentication-agent-1 Config File: /home/moonleay/.config/hypr/input.conf: Read Succeeded # Input settings input { kb_layout = us kb_model = pc105angle # kb_variant = colemak_dh kb_variant = cmk_ed_us kb_options = misc:extend, lv5:caps_switch_lock, grp:shifts_toggle, compose:menu, misc:cmk_curl_dh repeat_rate = 60 repeat_delay = 200 kb_file = kb_rules = evdev follow_mouse = 1 touchpad { disable_while_typing = yes natural_scroll = yes } sensitivity = 0 # -0.2 #0 # -1.0 - 1.0, 0 means no modification. accel_profile = flat } Config File: /home/moonleay/.config/hypr/keybindings.conf: Read Succeeded # Keymappings $mainMod = SUPER $secondaryMod = Alt_L # Custom mappings # Shutdown / Reboot bind = $secondaryMod, XF86Eject, exec, shutdown now bind = $secondaryMod SHIFT, XF86Eject, exec, reboot bind = $secondaryMod, XF86Launch1, exec, shutdown now bind = $secondaryMod SHIFT, XF86Launch1, exec, reboot # Music control bind = , XF86Tools, exec, playerctl previous bind = , XF86Launch5, exec, playerctl play-pause bind = , XF86Launch6, exec, playerctl next # Run "overlay apps" bind = CTRL ALT, DELETE, exec, swaylock bind = $secondaryMod SHIFT, s, exec, grim -g "$(slurp)" -c "/home/moonleay/Pictures/Screenshots/$(date +'%s_grim.png')" bind = $secondaryMod Control_L, s, exec, grim -c "/home/moonleay/Pictures/Screenshots/$(date +'%s_grim_full.png')" # Run application bind = $secondaryMod, q, exec, librewolf # Force app fullsceen bind = ALT_L, f, fullscreen bind = ALT_L SHIFT, f, fakefullscreen # Custom rofi bind = $secondaryMod, TAB, exec, rofi -show window -show-icons # Exit applications bind = $mainMod, C, killactive, bind = $secondaryMod, C, killactive, bind = $secondaryMod, M, exit, # Run applications bind = $secondaryMod, T, exec, alacritty bind = $secondaryMod, E, exec, thunar # Control open applications bind = $secondaryMod, V, togglefloating, bind = $mainMod, V, togglefloating, bind = $secondaryMod, R, exec, rofi -show drun -show-icons bind = $secondaryMod, P, pseudo, # dwindle bind = $secondaryMod, J, togglesplit, # dwindle # Move the window focus bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d # Switch focus 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 bind = $mainMod, minus, workspace, 11 bind = $mainMod, equal, workspace, 12 # Move window to other 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 bind = $mainMod SHIFT, minus, movetoworkspace, 11 bind = $mainMod SHIFT, equal, movetoworkspace, 12 # Move window to other workspace, but silent bind = $mainMod Control, 1, movetoworkspacesilent, 1 bind = $mainMod Control, 2, movetoworkspacesilent, 2 bind = $mainMod Control, 3, movetoworkspacesilent, 3 bind = $mainMod Control, 4, movetoworkspacesilent, 4 bind = $mainMod Control, 5, movetoworkspacesilent, 5 bind = $mainMod Control, 6, movetoworkspacesilent, 6 bind = $mainMod Control, 7, movetoworkspacesilent, 7 bind = $mainMod Control, 8, movetoworkspacesilent, 8 bind = $mainMod Control, 9, movetoworkspacesilent, 9 bind = $mainMod Control, 0, movetoworkspacesilent, 10 bind = $mainMod Control, minus, movetoworkspacesilent, 11 bind = $mainMod Control, equal, movetoworkspacesilent, 12 # Scroll through workspaces bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # extend specific bind = MOD3SUPER, n, movefocus, l bind = MOD3SUPER, i, movefocus, r bind = MOD3SUPER, u, movefocus, u bind = MOD3SUPER, e, movefocus, d bind = MOD3SUPERCTRL, l, togglespecialworkspace bind = MOD3SUPERCTRL, y, focuscurrentorlast bind = MOD3SUPERCTRL, i, workspace, r+1 bind = MOD3SUPERCTRL, n, workspace, r-1 bind = MOD3SUPERCTRLSHIFT, l, movetoworkspace, 1 bind = MOD3SUPERCTRLSHIFt, y, movetoworkspace, e+1 bind = MOD3SUPERCTRLSHIFT, i, movetoworkspace, +1 bind = MOD3SUPERCTRLSHIFT, n, movetoworkspace, -1 # Move and scale workspaces bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow bindm = $secondaryMod, mouse:272, movewindow bindm = $secondaryMod, mouse:273, resizewindow Config File: /home/moonleay/.config/hypr/windowrules.conf: Read Succeeded # Windowrules windowrulev2 = immediate, class:^(minecraft)$ windowrulev2 = workspace 2, monitor 1, class:^(LibreWolf)$ windowrulev2 = workspace 1, monitor 1, class:^(discord)$ # Screensharing windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ windowrulev2 = noanim,class:^(xwaylandvideobridge)$ windowrulev2 = nofocus,class:^(xwaylandvideobridge)$ windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ # -- Fix odd behaviors in IntelliJ IDEs -- #! Fix focus issues when dialogs are opened or closed windowrulev2 = windowdance,class:^(jetbrains-.*)$,floating:1 #! Fix splash screen showing in weird places and prevent annoying focus takeovers windowrulev2 = center,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 windowrulev2 = nofocus,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 windowrulev2 = noborder,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 #! Center popups/find windows windowrulev2 = center,class:^(jetbrains-.*)$,title:^( )$,floating:1 windowrulev2 = stayfocused,class:^(jetbrains-.*)$,title:^( )$,floating:1 windowrulev2 = noborder,class:^(jetbrains-.*)$,title:^( )$,floating:1 #! Disable window flicker when autocomplete or tooltips appear windowrulev2 = nofocus,class:^(jetbrains-.*)$,title:^(win.*)$,floating:1 # windowrulev2 = suppressevent maximize, class:.* Config File: /home/moonleay/.config/hypr/basics.conf: Read Succeeded # General Hyprland settings general { gaps_in = 5 gaps_out = 10 #20 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = dwindle allow_tearing = true } # Window decorations decoration { rounding = 5 blur { # Disable blur for battery saving enabled = false size = 3 passes = 1 } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } # Window animations animations { enabled = yes 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 } # Dwindle layout dwindle { pseudotile = yes preserve_split = yes } master { new_is_master = true } gestures { workspace_swipe = true workspace_swipe_forever = true workspace_swipe_min_speed_to_force = 5 workspace_swipe_distance = 400 workspace_swipe_direction_lock = false } ======Config-End======== ```

Description

Sometimes when I am using JetBrains IDEs, xwayland crashes completely and does not recover until Hyprland is relaunched.

How to reproduce

I have no clue, but it happened 3 times now. But I suspect it may be caused by running java applications, since I always encountered the issue when I was using a JB IDE.

Crash reports, logs, images, videos

There is a xwayland / xwm crash in line 148712.

KirGof commented 2 months ago

[LOG] Window 633abf0ff260 set title to xwayland crash does not open back up - Kagi Search — LibreWolf [LOG] Searching for matching rules for LibreWolf (title: xwayland crash does not open back up - Kagi Search — LibreWolf) [LOG] Window rule workspace 2 -> monitor 1, class:^(LibreWolf)$ matched [Window 633abf0ff260: title: "xwayland crash does not open back up - Kagi Search — LibreWolf"]

Maybe it.

moonleay commented 2 months ago

Yea, I searched if this crash is known. I found a similar issue pop up on the sway project, which went nowhere, since the reporter did not provide any logs. I therefore suspect that this issue may lie in wlroots

vaxerski commented 2 months ago

nice "I searched" #6398