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.95k stars 912 forks source link

Hyprland crashes at random times while interacting with applications #6323

Closed aniketkotal closed 5 months ago

aniketkotal commented 6 months ago

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit a60c7283e677ed81a466d1c0c864c8a05e192cac (xwayland: verify new xsurf is valid in prop reads). Date: Wed May 29 13:04:25 2024 Tag: v0.40.0-144-ga60c7283, commits: 4750 flags: (if any) System Information: System name: Linux Node name: mk-pc Release: 6.6.32-1-lts Version: #1 SMP PREEMPT_DYNAMIC Sat, 25 May 2024 20:20:51 +0000 GPU information: 2d:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c5) (prog-if 00 [VGA controller]) os-release: NAME="EndeavourOS" PRETTY_NAME="EndeavourOS" ID="endeavouros" ID_LIKE="arch" BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://endeavouros.com" DOCUMENTATION_URL="https://discovery.endeavouros.com" SUPPORT_URL="https://forum.endeavouros.com" BUG_REPORT_URL="https://forum.endeavouros.com/c/general-system/endeavouros-installation" PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2" LOGO="endeavouros" plugins: split-monitor-workspaces by Duckonaut ver 1.1.0 hyprexpo by Vaxry ver 1.0 ======Config-Start====== Config File: /home/mightykiller/.config/hypr/hyprland.conf: Read Succeeded #   ░▒▒▒░░░░░▓▓          ___________ # ░░▒▒▒░░░░░▓▓        //___________/ # ░░▒▒▒░░░░░▓▓     _   _ _    _ _____ # ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/ # ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___ #  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/ #    ░▒▓▓   ▓▓  //____/ $scrPath = $HOME/.local/share/bin # set scripts path # █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ # █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor = ,preferred,auto,auto # █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█ # █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█ # See https://wiki.hyprland.org/Configuring/Keywords/ exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH exec-once = dbus-update-activation-environment --systemd --all # for XDPH exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps exec-once = waybar # launch the system bar exec-once = blueman-applet # systray app for Bluetooth exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media exec-once = nm-applet --indicator # systray app for Network/Wifi exec-once = dunst # start notification demon exec-once = wl-paste --type text --watch cliphist store # clipboard store text data exec-once = wl-paste --type image --watch cliphist store # clipboard store image data exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon exec-once = $scrPath/batterynotify.sh # battery notification # █▀▀ █▄░█ █░█ # ██▄ █░▀█ ▀▄▀ # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = PATH,$PATH:$scrPath env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = MOZ_ENABLE_WAYLAND,1 env = GDK_SCALE,1 # █ █▄░█ █▀█ █░█ ▀█▀ # █ █░▀█ █▀▀ █▄█ ░█░ # See https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 force_no_accel = 1 } # See https://wiki.hyprland.org/Configuring/Keywords/#executing device { name = epic mouse V1 sensitivity = -0.5 } # See https://wiki.hyprland.org/Configuring/Variables/ gestures { workspace_swipe = true workspace_swipe_fingers = 3 } # █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀ # █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█ # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ dwindle { pseudotile = yes preserve_split = yes } # See https://wiki.hyprland.org/Configuring/Master-Layout/ master { new_is_master = true } # █▀▄▀█ █ █▀ █▀▀ # █░▀░█ █ ▄█ █▄▄ # See https://wiki.hyprland.org/Configuring/Variables/ misc { vrr = 0 disable_hyprland_logo = true disable_splash_rendering = true force_default_wallpaper = 0 } xwayland { force_zero_scaling = true } # █▀ █▀█ █░█ █▀█ █▀▀ █▀▀ # ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄ source = ~/.config/hypr/animations.conf source = ~/.config/hypr/keybindings.conf source = ~/.config/hypr/windowrules.conf source = ~/.config/hypr/themes/common.conf # shared theme settings source = ~/.config/hypr/themes/theme.conf # theme specific settings source = ~/.config/hypr/themes/colors.conf # wallbash color override source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static # Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults Config File: /home/mightykiller/.config/hypr/animations.conf: Read Succeeded # ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ # █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ # See https://wiki.hyprland.org/Configuring/Animations/ animations { enabled = yes bezier = wind, 0.05, 0.9, 0.1, 1.05 bezier = winIn, 0.1, 1.1, 0.1, 1.1 bezier = winOut, 0.3, -0.3, 0, 1 bezier = liner, 1, 1, 1, 1 animation = windows, 1, 6, wind, slide animation = windowsIn, 1, 6, winIn, slide animation = windowsOut, 1, 5, winOut, slide animation = windowsMove, 1, 5, wind, slide animation = border, 1, 1, liner animation = borderangle, 1, 30, liner, loop animation = fade, 1, 10, default animation = workspaces, 1, 5, wind } Config File: /home/mightykiller/.config/hypr/keybindings.conf: Read Succeeded # █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀ # █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█ # See https://wiki.hyprland.org/Configuring/Keywords/ # & https://wiki.hyprland.org/Configuring/Binds/ # Main modifier $mainMod = Super # super / meta / windows key # Assign apps $term = kitty $editor = code $file = dolphin $browser = vivaldi # Window/Session actions bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window bind = $mainMod, Delete, exit, # kill hyprland session bind = $mainMod, W, togglefloating, # toggle the window between focus and float bind = $mainMod, G, togglegroup, # toggle the window between focus and group bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen bind = $mainMod, L, exec, swaylock # launch lock screen bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar # Application shortcuts bind = $mainMod, T, exec, $term # launch terminal emulator bind = $mainMod, E, exec, $file # launch file manager bind = $mainMod, C, exec, $editor # launch text editor bind = $mainMod, F, exec, $browser # launch web browser bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top) # Rofi menus bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer # Audio control bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume # Media control bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause bindl = , XF86AudioNext, exec, playerctl next #S media next bindl = , XF86AudioPrev, exec, playerctl previous # media previous # Brightness control bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness # Screenshot/Screencapture bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture bind = $mainMod+Shift, S, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen) bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture # Custom scripts bind = $mainMod+Alt, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode bind = $mainMod+Alt, Right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper bind = $mainMod+Alt, Left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper bind = $mainMod+Alt, Up, exec, $scrPath/wbarconfgen.sh n # next waybar mode bind = $mainMod+Alt, Down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode bind = $mainMod+Shift, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout # Move/Change window focus bind = $mainMod, Left, movefocus, l bind = $mainMod, Right, movefocus, r bind = $mainMod, Up, movefocus, u bind = $mainMod, Down, movefocus, d bind = Alt, Tab, movefocus, d # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, split-workspace, 1 bind = $mainMod, 2, split-workspace, 2 bind = $mainMod, 3, split-workspace, 3 bind = $mainMod, 4, split-workspace, 4 bind = $mainMod, 5, split-workspace, 5 bind = $mainMod, 6, split-workspace, 6 bind = $mainMod, 7, split-workspace, 7 bind = $mainMod, 8, split-workspace, 8 bind = $mainMod, 9, split-workspace, 9 bind = $mainMod, 0, split-workspace, 10 # Switch workspaces relative to the active workspace with mainMod + CTRL + [←→] bind = $mainMod CTRL, right, split-workspace, r+1 bind = $mainMod CTRL, left, split-workspace, r-1 # move to the first empty workspace instantly with mainMod + CTRL + [↓] bind = $mainMod CTRL, down, split-workspace, empty # Resize windows binde = $mainMod SHIFT, right, resizeactive, 30 0 binde = $mainMod SHIFT, left, resizeactive, -30 0 binde = $mainMod SHIFT, up, resizeactive, 0 -30 binde = $mainMod SHIFT, down, resizeactive, 0 30 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, split-movetoworkspace, 1 bind = $mainMod SHIFT, 2, split-movetoworkspace, 2 bind = $mainMod SHIFT, 3, split-movetoworkspace, 3 bind = $mainMod SHIFT, 4, split-movetoworkspace, 4 bind = $mainMod SHIFT, 5, split-movetoworkspace, 5 bind = $mainMod SHIFT, 6, split-movetoworkspace, 6 bind = $mainMod SHIFT, 7, split-movetoworkspace, 7 bind = $mainMod SHIFT, 8, split-movetoworkspace, 8 bind = $mainMod SHIFT, 9, split-movetoworkspace, 9 bind = $mainMod SHIFT, 0, split-movetoworkspace, 10 # Move active window to a relative workspace with mainMod + CTRL + ALT + [←→] bind = $mainMod CTRL ALT, right, split-movetoworkspace, r+1 bind = $mainMod CTRL ALT, left, split-movetoworkspace, r-1 # Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓] bind = $mainMod SHIFT $CONTROL, left, movewindow, l bind = $mainMod SHIFT $CONTROL, right, movewindow, r bind = $mainMod SHIFT $CONTROL, up, movewindow, u bind = $mainMod SHIFT $CONTROL, down, movewindow, d # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, split-workspace, e+1 bind = $mainMod, mouse_up, split-workspace, e-1 # Move/Resize focused window bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, Z, movewindow bindm = $mainMod, X, resizewindow # Move/Switch to special workspace (scratchpad) bind = $mainMod+Alt, S, movetoworkspacesilent, special bind = $mainMod, S, togglespecialworkspace, # Toggle focused window split bind = $mainMod, J, togglesplit # Move window silently to workspace Super + Alt + [0-9] bind = $mainMod ALT, 1, split-movetoworkspacesilent, 1 bind = $mainMod ALT, 2, split-movetoworkspacesilent, 2 bind = $mainMod ALT, 3, split-movetoworkspacesilent, 3 bind = $mainMod ALT, 4, split-movetoworkspacesilent, 4 bind = $mainMod ALT, 5, split-movetoworkspacesilent, 5 bind = $mainMod ALT, 6, split-movetoworkspacesilent, 6 bind = $mainMod ALT, 7, split-movetoworkspacesilent, 7 bind = $mainMod ALT, 8, split-movetoworkspacesilent, 8 Config File: /home/mightykiller/.config/hypr/windowrules.conf: Read Succeeded # █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀ # ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█ # See https://wiki.hyprland.org/Configuring/Window-Rules/ windowrulev2 = opacity 0.90 0.90,class:^(firefox)$ windowrulev2 = opacity 0.90 0.90,class:^(Brave-browser)$ windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$ windowrulev2 = opacity 0.80 0.80,class:^(Code)$ windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$ windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$ windowrulev2 = opacity 0.80 0.80,class:^(kitty)$ windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$ windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$ windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$ windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$ windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$ windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$ windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$ windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$ windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$ windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$ windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$ windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$ windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$ windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$ windowrulev2 = opacity 0.70 0.70,class:^(steamwebhelper)$ windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$ windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$ windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ windowrulev2 = float,class:^(firefox)$,title:^(Library)$ windowrulev2 = float,class:^(kitty)$,title:^(top)$ windowrulev2 = float,class:^(kitty)$,title:^(btop)$ windowrulev2 = float,class:^(kitty)$,title:^(htop)$ windowrulev2 = float,class:^(vlc)$ windowrulev2 = float,class:^(kvantummanager)$ windowrulev2 = float,class:^(qt5ct)$ windowrulev2 = float,class:^(qt6ct)$ windowrulev2 = float,class:^(nwg-look)$ windowrulev2 = float,class:^(org.kde.ark)$ windowrulev2 = float,class:^(pavucontrol)$ windowrulev2 = float,class:^(blueman-manager)$ windowrulev2 = float,class:^(nm-applet)$ windowrulev2 = float,class:^(nm-connection-editor)$ windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2 = float,class:^(Signal)$ # Signal-Gtk windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk # █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀ # █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█ layerrule = blur,rofi layerrule = ignorezero,rofi layerrule = blur,notifications layerrule = ignorezero,notifications layerrule = blur,swaync-notification-window layerrule = ignorezero,swaync-notification-window layerrule = blur,swaync-control-center layerrule = ignorezero,swaync-control-center layerrule = blur,logout_dialog Config File: /home/mightykiller/.config/hypr/themes/common.conf: Read Succeeded # █▀▀ █░█ █▀█ █▀ █▀█ █▀█ # █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄ exec = hyprctl setcursor Bibata-Modern-Ice 20 exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice' exec = gsettings set org.gnome.desktop.interface cursor-size 20 # █▀▀ █▀█ █▄░█ ▀█▀ # █▀░ █▄█ █░▀█ ░█░ exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10' exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10' exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9' exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba' exec = gsettings set org.gnome.desktop.interface font-hinting 'full' # █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░ # ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄ decoration { dim_special = 0.3 blur { special = true } } Config File: /home/mightykiller/.config/hypr/themes/theme.conf: Read Succeeded exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-grey' exec = gsettings set org.gnome.desktop.interface gtk-theme 'Graphite-Mono' exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' general { gaps_in = 4 gaps_out = 8 border_size = 0 col.active_border = rgba(d9d9d9ff) rgba(a6a6a6ff) 45deg col.inactive_border = rgba(404040cc) rgba(262626cc) 45deg layout = dwindle resize_on_border = false } group { col.border_active = rgba(d9d9d9ff) rgba(a6a6a6ff) 45deg col.border_inactive = rgba(404040cc) rgba(262626cc) 45deg col.border_locked_active = rgba(d9d9d9ff) rgba(a6a6a6ff) 45deg col.border_locked_inactive = rgba(404040cc) rgba(262626cc) 45deg } decoration { rounding = 10 drop_shadow = false shadow_ignore_window = true shadow_offset = 4 4 shadow_range = 0 shadow_render_power = 4 col.shadow = 0xffFFFFFF blur { enabled = yes size = 3 passes = 6 new_optimizations = on ignore_opacity = on xray = false } } layerrule = unset Config File: /home/mightykiller/.config/hypr/themes/colors.conf: Read Succeeded Config File: /home/mightykiller/.config/hypr/monitors.conf: Read Succeeded # █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ █▀ # █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ ▄█ # Set your monitor configuration here # See https://wiki.hyprland.org/Configuring/Monitors/ # For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2 monitor = DP-3,1366x768@60,0x0,1,transform,1 monitor = HDMI-A-1,1920x1080@75,768x140,1 monitor = DP-2,1600x900,2688x650,1 monitor = HEADLESS-2,1920x1080,4608x650,1 Config File: /home/mightykiller/.config/hypr/userprefs.conf: Read Succeeded # █░█ █▀ █▀▀ █▀█   █▀█ █▀█ █▀▀ █▀▀ █▀ # █▄█ ▄█ ██▄ █▀▄   █▀▀ █▀▄ ██▄ █▀░ ▄█ # Set your personal hyprland configuration here # For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2 env = MANGOHUD,1 env = MANGOHUD_DLSYM,1 # bind = Ctrl+Alt+Shift, R, pass, ^(com\.obsproject\.Studio)$ # toggle obs screen recording // install obs flatpak bind = $mainMod+Shift, G, exec, pkill -x rofi || $scrPath/gamelauncher.sh # launch steam game launcher // install steam bind = $mainMod, Period, exec, emote # launch emoji selector // install emote bind = $mainMod+Alt, XF86MonBrightnessDown, exec, hyprshade on blue-light-filter # enable blue light filter // install hyprshade bind = $mainMod+Alt, XF86MonBrightnessUp, exec, hyprshade off # disable blue light filter // install hyprshade # bind = SUPER, grave, hyprexpo:expo, toggle plugin { hyprexpo { columns = 1 gap_size = 5 bg_col = rgb(111111) workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1 } } # exec-once = swayidle -w timeout 600 'swaylock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # lock after 10 mins, sleep after 15 mins // install swayidle exec-once = swayidle -w timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # lock and sleep after 20 mins, suspend after 30 mins // install swayidle exec-once = libinput-gestures exec-once = hyprpm reload windowrulev2 = opacity 0.95 0.95,class:^(Steam)$ windowrulev2 = opacity 0.95 0.95,class:^(steam)$ windowrulev2 = opacity 0.95 0.95,class:^(steamwebhelper)$ windowrulev2 = opacity 0.85 0.85,class:^(jetbrains-webstorm)$ windowrulev2 = opacity 0.90 0.90,class:^(Google-chrome-unstable)$ windowrulev2 = opacity 0.95 0.95,class:^(Docker Desktop)$ windowrulev2 = opacity 0.90 0.90,class:^(GitKraken)$ windowrulev2 = opacity 0.90 0.90,class:^(vesktop)$ windowrulev2 = opacity 0.85 0.85,class:^(Skype)$ windowrulev2 = opacity 0.90 0.90,class:^(Vivaldi-stable)$ windowrulev2 = opacity 0.90 0.90,class:^(Spotify)$ windowrulev2 = opacity 0.90 0.90,class:^(dbgate)$ windowrulev2 = opacity 0.90 0.90,class:^(heidisql.exe)$ windowrulev2 = opacity 0.90 0.90,class:^(heroic)$ windowrulev2 = noinitialfocus,class:^jetbrains-(?!toolbox),floating:1 windowrulev2 = windowdance, class:^(.*jetbrains.*)$ windowrulev2 = noinitialfocus, class:^(.*jetbrains.*)$, title:^(win.*)$ windowrulev2 = nofocus, class:^(.*jetbrains.*)$, title:^(win.*)$ windowrulev2 = move onscreen cursor, title:^(Steam Dialog)$, class:^(steam)$ windowrulev2 = move onscreen cursor, title:^(Special Offers)$, class:^(steam)$ windowrulev2 = minsize 1 1, title:^(Screenshot)$, class:^(steam)$ windowrulev2 = move onscreen cursor, title:^(Screenshot)$, class:^(steam)$ ======Config-End======== ```

Bug or Regression?

Bug

Description

Moving the mouse, changing workspaces, moving windows around, anything really, causes Hyprland to crash. Happens more often while working on JetBrains WebStorm and RustRover, and also while trying to open the file picker. There is no intervals to this happening.

How to reproduce

Unfortunatly, no exact steps. Casually using causes Hyprland to die.

Crash reports, logs, images, videos

hyprlandCrashReport1285.txt hyprlandCrashReport3024756.txt hyprlandCrashReport3625196.txt

vaxerski commented 6 months ago

this will stop the crash, but the crash was due to xwayland crashing. Possibly the last faq here: https://wiki.hyprland.org/FAQ/#workspaces-or-clients-are-disappearing-or-monitor-related-dispatchers-cause-crashes

aniketkotal commented 6 months ago

i don't see any ghost monitors. let me test for couple hours and let you know/close the issue. thank you!

aniketkotal commented 6 months ago

instead of xwayland crashing now, all xwayland applications crash. unless i relog, no program of xwayland opens. no log report from hyprland since it continues to run. how could i debug xwayland/get logs?

xiyori commented 6 months ago

Happens to me as well. Probably started from 0.40.0, but that's just a guess without proper bisecting. Applications that caused crashes so far are LibreOffice, Thunar and REW. hyprlandCrashReport786.txt hyprlandCrashReport802.txt hyprlandCrashReport445227.txt

aniketkotal commented 6 months ago

xwayland programs crashing has happened to me since 0.36.0(i started using hyprland then). every xwayland app would close. kitty stays open but it's not xwayland. this issue happened very often, and with #6086, crashing hyprland completely

LoneWolf4713 commented 6 months ago

hey this happens to me too, I can't find any particular reason, I've tried downgrading mesa sddm and linux kernel, in logs it shows hyprland received SIG 6, but this happens exclusively when I'm running Thorium Browser. Hyprland is bound to crash then, and Thorium runs in XWayland.

vaxerski commented 6 months ago

xwayland itself crashes, I think this should be reported to xorg

erahhal commented 5 months ago

Should xwayland crashing bring down Hyprland?

vaxerski commented 5 months ago

no, and it wont anymore

miyl commented 5 months ago

I wonder if this is related to those ghost monitors:

From journalctl:

Jun 06 09:01:08 cp org.freedesktop.Notifications[3187]: CRITICAL: [    randr_update:0153] Get monitors reported 0 monitors.>
Jun 06 09:01:08 cp org.freedesktop.Notifications[3187]: CRITICAL: [    randr_update:0153] Get monitors reported 0 monitors.>
Jun 06 09:01:08 cp systemd[1]: Started Process Core Dump (PID 11105/UID 0).
Jun 06 09:01:09 cp systemd-coredump[11106]: [🡕] Process 2196 (Hyprland) of user 1000 dumped core.

I have occasionally seen a monitor listed in journalctl called HEADLESS-1, but that's not the name of any of my monitors. Maybe that's another possible name for a ghost monitor?:

Jun 03 21:21:08 cp xdg-desktop-portal-hyprland[2344]: [LOG] Found output name HEADLESS-1

That said, I experience these crashes when both my monitors are off, not while "interacting with applications".

aniketkotal commented 5 months ago

i'll try to look for logs in xorg to check what's causing the crash and report to xorg accordingly. thank you! let me keep this issue open, in case something helpful/hyprland comes up in logs

aniketkotal commented 5 months ago

using https://github.com/hyprwm/Hyprland/issues/3799#issuecomment-1815760779 's method, i logged xwayland crashing and i am having the same error as #3799

XWAYLAND: wl_display#1: error 1: invalid arguments for wl_shm#5.create_pool
(EE) failed to dispatch Wayland events: Invalid argument

on searching the web i found https://github.com/microsoft/wslg/issues/862#issuecomment-1279243984 and i'm not sure but this might be helpful

vaxerski commented 5 months ago

sounds like an xwayland issue.

aniketkotal commented 5 months ago

I have created an issue over at xorg/xserver/#1686

Could you tell me how I can set the limits for the file descriptors? I was asked to try so here

edit: nvm. i assumed it was some configuration i have to change inside the repository. ulimit helps me achieve it.

apekros commented 5 months ago

Same issue here but only with a subset of applications, i.e IDA running in XWayland

aniketkotal commented 5 months ago

Xwayland was crashing due to my system running out of file descriptors. Setting the limits to 65535 seems to have fixed the issue with no other side effects.

To set the limits, run the following commands:

  1. sudo sysctl -w fs.file-max=65535 # set the limit
  2. sysctl -p # load kernel parameters from a file into the running system

Thank you @vaxerski for the help and creating the best compositor!

LoneWolf4713 commented 5 months ago

@aniketkotal could you please elaborate? I get errors while executing your answer: image

I'm on Arch Linux. Thank you.