Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

Large amounts of lag after a few hours of usage

Open velzie opened this issue 4 months ago • 13 comments

Already reported ? *

  • [X] I have searched the existing open and closed issues.

Regression?

Yes

System Info and Version

System/Version info
Hyprland, built from branch main at commit b65773bea9b912a41cfcbc789fb2e60a07e3d0c1  (hyprpm: disallow shallow on unknown branch).
Date: Thu Oct 10 06:01:13 2024
Tag: v0.44.0-26-gb65773be, commits: 5325
built against aquamarine 0.4.2


flags: (if any)


System Information:
System name: Linux
Node name: worldmachine
Release: 6.11.1-1-linux
Version: #1 ZEN SMP PREEMPT linux 6.11-1.1

GPU information: 
06:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP108 [GeForce GT 1030] [10de:1d01] (rev a1) (prog-if 00 [VGA controller])
09:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 24 [Radeon RX 6400/6500 XT/6500M] [1002:743f] (rev c1) (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/velzie/.config/hypr/hyprland.conf: Read Succeeded
# 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,auto
monitor=HDMI-A-1,addreserved,-12,0,0,0
monitor=DP-1,addreserved,-12,0,0,0

monitor=HEADLESS-2,addreserved,-12,0,0,0
monitor=HEADLESS-3,addreserved,-12,0,0,0
monitor=HEADLESS-4,addreserved,-12,0,0,0

monitor=HEADLESS-2,[email protected],0x0,1.25
monitor=HEADLESS-3,[email protected],auto, 1.25
monitor=HEADLESS-4,[email protected],auto,1




###################
### MY PROGRAMS ###
###################

# See https://wiki.hyprland.org/Configuring/Keywords/

# Set programs that you use
$terminal = kitty
$fileManager = dolphin
$menu = ~/.config/rofi/launchers/type-3/launcher.sh


#################
### AUTOSTART ###
#################

# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:

# exec-once = $terminal
# exec-once = nm-applet &
exec-once = hyprpaper & ~/scripts/portal.sh & ~/scripts/vnc.sh



#############################
### ENVIRONMENT VARIABLES ###
#############################

# See https://wiki.hyprland.org/Configuring/Environment-variables/

env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = QT_QPA_PLATFORM,wayland

env = QT_QPA_PLATFORMTHEME,qt5ct

env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1

env = QT_AUTO_SCREEN_SCALE_FACTOR,1

env = QT_STYLE_OVERRIDE,kvantum 


#####################
### LOOK AND FEEL ###
#####################

# Refer to https://wiki.hyprland.org/Configuring/Variables/

debug:disable_scale_checks = true

# https://wiki.hyprland.org/Configuring/Variables/#general
general { 
    gaps_in = 5
    gaps_out = 10

    border_size = 1

    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)


    # 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 = 2

    # Change transparency of focused and unfocused windows
    active_opacity = 0.99
    inactive_opacity = 0.99

    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 = 4
        passes = 2
        
        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, 4, myBezier
    animation = windowsOut, 1, 4, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 6, default
    animation = workspaces, 1, 3, myBezier
}

# 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 { 

}


#############
### INPUT ###
#############

# https://wiki.hyprland.org/Configuring/Variables/#input
input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    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 = epic-mouse-v1
    sensitivity = -0.5
}


####################
### KEYBINDINGSS ###
####################

# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier
bind = SUPER, mouse:272, exec, amongus
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = alt, t, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, F, togglefloating,
bind = $mainMod, D, exec, $menu
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod SHIFT, s, exec, ~/scripts/screenshot.sh 

bind=SUPER SHIFT,f,fullscreen

# 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


bind= $mainMod SHIFT,i, exec, dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous >/dev/null
bind= $mainMod SHIFT,o, exec, dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause >/dev/null
bind= $mainMod SHIFT,p, exec, dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next >/dev/null

bind= $mainMod,x,togglespecialworkspace

bind= $mainMod,z,movetoworkspace,special
bind= $mainMod,z,togglespecialworkspace

# bind = $mainMod, X, togglespecialworkspace, magic
# bind = $mainMod, Z, 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
bindm = , mouse:282, exec kitty
misc:middle_click_paste = false
# bindm = mouse:274, resizewindow


##############################
### 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 = noanim, class:^(com.gabm.satty)$ 
windowrulev2 = float, class:zen-alpha

windowrulev2 = suppressevent maximizeintentionally breaks, class:.* # You'll probably like this.





======Config-End========

Description

I built from AUR hyprland-git, and after a few hours hyprland becomes completely unusable:

  • cursor lag and lag when moving windows
  • xwayland apps run at low framerate
  • native wayland apps unaffected

Not a memory or vram leak, top and rocm-smi show usage at normal levels

The arch hyprland package used to work and not hyprland-git, so this is a regression I cannot bisect this right now because hyprland doesn't build outside of paru for me. If I do figure that out it will also take several days to complete the bisect because of how long it takes for the issue to become obvious

How to reproduce

  • open apps
  • wait

Crash reports, logs, images, videos

No response

velzie avatar Oct 11 '24 21:10 velzie