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.76k stars 840 forks source link

Turning my monitor off and on again causes the mouse cursor to be laggy #6762

Closed amarakon closed 2 months ago

amarakon commented 2 months ago

Regression?

No

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: gendesk Release: 6.9.6-tkg-bore-llvm Version: #1 SMP PREEMPT_DYNAMIC TKG Wed Jun 26 17:10:09 EDT 2024 GPU information: 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev ef) (prog-if 00 [VGA controller]) os-release: NAME=Gentoo ID=gentoo PRETTY_NAME="Gentoo Linux" ANSI_COLOR="1;32" HOME_URL="https://www.gentoo.org/" SUPPORT_URL="https://www.gentoo.org/support/" BUG_REPORT_URL="https://bugs.gentoo.org/" VERSION_ID="2.15" plugins: ======Config-Start====== Config File: /home/amar/.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 ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = footclient #$fileManager = dolphin $menu = bemenu-run ################# ### 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 = waybar & hyprpaper & firefox exec-once = gammastep -PO 4500 & waybar & swayidle & gtk-settings & foot --server & /usr/libexec/polkit-gnome-authentication-agent-1 & gentoo-pipewire-launcher & wl-paste --watch cliphist store & hypridle ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 env = WLR_DRM_NO_ATOMIC,1 ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 2 gaps_out = 5 border_size = 1 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgb(ebcb8b) col.inactive_border = rgb(4c566a) # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = true layout = master } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 0 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 1.0 drop_shadow = false shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = false size = 3 passes = 1 vibrancy = 0.1696 } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = false # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more 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 } # 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_is_master = true } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( enable_swallow = true swallow_regex = ^(footclient|foot|kitty)$ swallow_exception_regex = ^wev$ no_direct_scanout = false render_ahead_of_time = true background_color = rgb(2e3440) vfr = false } binds { allow_workspace_cycles = true workspace_center_on = 1 } cursor { inactive_timeout = 1 hide_on_key_press = true no_warps = false } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us,us,ara kb_variant = colemak,, kb_model = kb_options = grp:alt_space_toggle kb_rules = repeat_rate = 50 repeat_delay = 400 accel_profile = flat 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 # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, T, exec, footclient bind = $mainMod, C, killactive, bind = $mainMod SHIFT CONTROL, D, exit, #bind = $mainMod, E, exec, $fileManager bind = $mainMod, V, togglefloating, bind = $mainMod, S, exec, bemenu-run bind = $mainMod, E, cyclenext, prev bind = $mainMod, N, cyclenext, bind = $mainMod SHIFT, E, swapnext, prev bind = $mainMod SHIFT, N, swapnext, #bind = $mainMod, I, focusmoni bind = $mainMod, comma, splitratio, +0.05 bind = $mainMod, period, splitratio, -0.05 # 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, movetoworkspacesilent, 1 bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10 bind = $mainMod, P, fullscreen, 1 bind = $mainMod, F, fakefullscreen bind = $mainMod SHIFT, F, fullscreen, 0 bind = $mainMod, L, exec, warpd --hint --oneshot # Example special workspace (scratchpad) #bind = $mainMod, R, togglespecialworkspace, magic #bind = $mainMod SHIFT, R, 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 ############################## ### 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 = suppressevent maximize, class:.* # You'll probably like this. #windowrulev2 = immediate, class:^(cs2)$ windowrulev2 = immediate, class:^.*$ ======Config-End======== ```

Description

Whenever I turn my monitor off and on again, the mouse cursor becomes extremely laggy, to the point where it moves once every couple of seconds. Everything else, such as typing and switching workspaces is normal.

How to reproduce

Turn off your monitor and turn it on again and try moving your mouse cursor.

Crash reports, logs, images, videos

https://github.com/hyprwm/Hyprland/assets/92645199/1990158a-7ff6-4215-9c91-a655021b57a8

amarakon commented 2 months ago

Sorry I realized the video I attached cut off early, I'll add a new video.

https://github.com/hyprwm/Hyprland/assets/92645199/a6f8a49f-863c-4c3f-a647-2f9bd115d649

clanps commented 2 months ago

do you have your resolution and refresh rate set to auto? I would try forcing it to your refresh rate and see if it still happens.

amarakon commented 2 months ago

Manually setting my resolution and refresh rate seems to fix the problem. It seems like there's a bug with the auto option.

clanps commented 2 months ago

unless you post some kind of log there's not really any information to go off to go about "fixing" the problem. I see auto as a temporary thing that is done to be compatible with all systems and then to be edited by the user. I don't really see this as a problem as you stated you fixed the issue after manually setting the resolution and refresh rate. Personally I would close this issue unless you can provide a log to show that it's actually an issue with hyprland.

amarakon commented 2 months ago

I see auto as a temporary thing that is done to be compatible with all systems and then to be edited by the user. I don't really see this as a problem as you stated you fixed the issue after manually setting the resolution and refresh rate.

Agreed, but it shouldn't cause the issue that it's causing. It's still a bug.

Personally I would close this issue unless you can provide a log to show that it's actually an issue with hyprland.

I think it's an issue with Hyprland because it doesn't happen on river. I didn't post my log because there's nothing interesting in it but here it is:

[LOG] Instance Signature: 918d8340afd652b011b937d29d5eea0be08467f5_1720894052_1445171822
[LOG] Runtime directory: /run/user/1000/hypr/918d8340afd652b011b937d29d5eea0be08467f5_1720894052_1445171822
[LOG] Hyprland PID: 13230
[LOG] ===== SYSTEM INFO: =====
[LOG] System name: Linux
[LOG] Node name: gendesk
[LOG] Release: 6.9.6-tkg-bore-llvm
[LOG] Version: #1 SMP PREEMPT_DYNAMIC TKG Wed Jun 26 17:10:09 EDT 2024

[LOG] GPU information:
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev e7) (prog-if 00 [VGA controller])

[LOG] os-release:
NAME=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo Linux"
ANSI_COLOR="1;32"
HOME_URL="https://www.gentoo.org/"
SUPPORT_URL="https://www.gentoo.org/support/"
BUG_REPORT_URL="https://bugs.gentoo.org/"
VERSION_ID="2.15"

[LOG] ========================

[INFO] If you are crashing, or encounter any bugs, please consult https://wiki.hyprland.org/Crashes-and-Bugs/

[LOG] 
Current splash: Stayin' alive, stayin' alive

[LOG] Old rlimit: soft -> 1024, hard -> 4096
[LOG] New rlimit: soft -> 4096, hard -> 4096
[LOG] Creating the EventLoopManager!
[LOG] Creating the HookSystem!
[LOG] Creating the KeybindManager!
[LOG] Creating the AnimationManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 14.90µs. Estimated average calc time: 0.04µs.
[LOG] Creating the ConfigManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 8.37µs. Estimated average calc time: 0.03µs.
[LOG] Using config: /home/amar/.config/hypr/hyprland.conf
[INFO] !!!!HEY YOU, YES YOU!!!!: further logs to stdout / logfile are disabled by default. BEFORE SENDING THIS LOG, ENABLE THEM. Use debug:disable_logs = false to do so: https://wiki.hyprland.org/Configuring/Variables/#debug

Edit: I just realized I need to enable logs. My bad. I'll post another log soon.

amarakon commented 2 months ago

After upgrading to 0.41.2, I don't get this issue anymore.