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.1k stars 883 forks source link

Large amounts of lag after a few hours of usage #8087

Open velzie opened 1 week ago

velzie commented 1 week ago

Already reported ? *

Regression?

Yes

System Info and Version

System/Version info ```sh 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,1680x1050@60.00000,0x0,1.25 monitor=HEADLESS-3,1366x768@60.00000,auto, 1.25 monitor=HEADLESS-4,1366x768@60.00000,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:

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

Crash reports, logs, images, videos

No response

vaxerski commented 1 week ago

without a bisect this report is at best worthless unfortunately, I run hyprland for many, many, many hours and havent noticed any issues

Edgars-Cirulis commented 1 week ago

Does it happens on 0.44? Or 0.43

Sameda1290 commented 1 week ago

Cursor is very laggy with me

Edgars-Cirulis commented 1 week ago

Cursor is very laggy with me

Disable hardware cursor.

Sameda1290 commented 1 week ago

it worked, thank you

Edgars-Cirulis commented 1 week ago

it worked, thank you

You're welcome, now you can close this issue.

Sameda1290 commented 1 week ago

This issue is not mine

Edgars-Cirulis commented 1 week ago

This issue is not mine

Oh nvm I was bit confused 😆 Sorry.

velzie commented 6 days ago

this seems not to be a regression but rather triggered by having a long running wayvnc session open. will see if i can reproduce it on another machine

ikalco commented 4 days ago

this seems not to be a regression but rather triggered by having a long running wayvnc session open. will see if i can reproduce it on another machine

if wayvnc is causing it, it could be because of #7787, which is fixed in git and v0.44.1 you can check if it is that bug by watching the mem usage of Hyprland, if it's slowly increasing then its the above issue

velzie commented 4 days ago

as i mentioned, this is not a memory leak

also - it only seems to happen specifically when the screen for wayvnc is a headless display (hyprctl output create)

fucksophie commented 2 days ago

this happens even if not using wayvnc, only headless display results in extreme lag across all displays/whole hypr instance easily reproduced also happens INSTANTLY (1-2 minutes) for me

wayvnc: v0.8.0-15d09b0 (makepkg) Hyprland, built from branch at commit 0f594732b063a90d44df8c5d402d658f27471dfe (props: bump version to 0.43.0). Date: Sun Sep 8 16:48:21 2024 Tag: v0.43.0, commits: 5196

vaxerski commented 1 day ago

bisect then