Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hyprland crashes at random times while interacting with applications #6323

Closed
aniketkotal opened this issue Jun 3, 2024 · 18 comments
Closed
Labels
bug Something isn't working

Comments

@aniketkotal
Copy link

System Info and Version

System/Version info
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

@aniketkotal aniketkotal added the bug Something isn't working label Jun 3, 2024
vaxerski added a commit that referenced this issue Jun 3, 2024
this potentially leaks, but avoids a UAF

ref #6323
@vaxerski
Copy link
Member

vaxerski commented Jun 3, 2024

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
Copy link
Author

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

@aniketkotal
Copy link
Author

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
Copy link

xiyori commented Jun 4, 2024

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
Copy link
Author

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
Copy link

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
Copy link
Member

vaxerski commented Jun 5, 2024

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

@erahhal
Copy link

erahhal commented Jun 5, 2024

Should xwayland crashing bring down Hyprland?

@vaxerski
Copy link
Member

vaxerski commented Jun 5, 2024

no, and it wont anymore

@miyl
Copy link

miyl commented Jun 6, 2024

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
Copy link
Author

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
Copy link
Author

using #3799 (comment) '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 microsoft/wslg#862 (comment) and i'm not sure but this might be helpful

@vaxerski
Copy link
Member

sounds like an xwayland issue.

@aniketkotal
Copy link
Author

aniketkotal commented Jun 12, 2024

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
Copy link

apekros commented Jun 14, 2024

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

@aniketkotal
Copy link
Author

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
Copy link

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

I'm on Arch Linux. Thank you.

@jd1t25
Copy link

jd1t25 commented Feb 9, 2025

If you are on Arch and encountering the error above, I believe it's because of this.

First Check:

sudo sysctl -w fs.file-max=65535
sudo sysctl --system | grep "fs.file"

If the output doesnt include "fs.file" do this

  1. Create and edit the file /etc/sysctl.d/99-sysctl.conf
  2. Add the following line:
fs.file-max=65535
  1. Save and load the file:
sudo sysctl -p /etc/sysctl.d/99-sysctl.conf
  1. Check whether its loaded
sudo sysctl --system | grep "fs.file"

OR

sudo sysctl -a | grep "fs.file"

Source

I have yet to test this if it solves the crashes or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants