Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

Persistent cursor lag after running Questasim, resolved temporarily by click-and-hold

Open hakan-demirli opened this issue 1 year ago • 3 comments

Regression?

No

System Info and Version

System/Version info
Hyprland, built from branch main at commit 918d8340afd652b011b937d29d5eea0be08467f5  (flake.lock: update).
Date: 2024-06-25
Tag: v0.41.2, commits: 918d8340afd652b011b937d29d5eea0be08467f5

flags: (if any)


System Information:
System name: Linux
Node name: nixos
Release: 6.10.2
Version: #1-NixOS SMP PREEMPT_DYNAMIC Sat Jul 27 09:40:36 UTC 2024


GPU information: 
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU116M [GeForce GTX 1660 Ti Mobile] [10de:2191] (rev a1) (prog-if 00 [VGA controller])
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1636] (rev c6) (prog-if 00 [VGA controller])


os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.11.20240802.d049530"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.11 (Vicuna)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.11 (Vicuna)"
VERSION_CODENAME=vicuna
VERSION_ID="24.11"


plugins:

======Config-Start======


Config File: /home/emre/.config/hypr/hyprland.conf: Read Succeeded
# Monitors & workspaces: nwg-displays generates 2 files, which we include here:
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/workspaces.conf

# extra includes
 source = ~/.config/hypr/includes.conf

# Windowrules
# `hyprctl clients` to get window names
windowrulev2 = float,class:(dialog),title:(Choose symbol)
windowrulev2 = float,class:(zenity) # wine prefix
# windowrulev2 = workspace 1,class:(kitty),title:(filepicker)
windowrulev2 = workspace 1,class:(firefox)
windowrulev2 = workspace 1,class:(qutebrowser)
windowrulev2 = workspace 2,class:(kitty)
windowrulev2 = workspace 2,class:(Anki)
windowrulev2 = workspace 3,class:(gtkwave)
windowrulev2 = workspace 3,class:(Vsim)
windowrulev2 = workspace 3,class:(thunderbird)
# windowrulev2 = workspace 3,class:(kitty),title:(my_player)
windowrulev2 = workspace 4,class:(draw.io)
windowrulev2 = workspace 5,class:(kitty),title:(btop)
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
windowrule=opacity 0.95 0.95,(firefox)$
windowrulev2 = float, title:^(Picture-in-Picture)$,class:^(firefox)$
windowrulev2 = pin,   title:^(Picture-in-Picture)$,class:^(firefox)$


# showmethekeys
windowrulev2 = float, class:^(showmethekey-gtk)$
windowrulev2 = size 220 100, class:^(showmethekey-gtk)$
windowrulev2 = move 0% 90%, class:^(showmethekey-gtk)$
windowrulev2 = nofocus, class:^(showmethekey-gtk)$
windowrulev2 = noinitialfocus, class:^(showmethekey-gtk)$
windowrulev2 = pin, class:^(showmethekey-gtk)$
windowrulev2 = monitor HDMI-A-1, class:^(showmethekey-gtk)$
windowrulev2 = noborder, class:^(showmethekey-gtk)$
windowrulev2 = noshadow, class:^(showmethekey-gtk)$


# windowrulev2 = float,,class:(kitty),title:(my_player)
windowrulev2 = workspace special, class:(kitty),title:(my_player)

windowrulev2 = float,class:(qalculate-qt)
windowrulev2 = workspace special:calculator,class:(qalculate-qt)

windowrulev2 = workspace special:todo, class:(kitty),title:(my_todo)

# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER

bind = $mainMod, M,     exec, player_my
bind = $mainMod, N,     exec, qalculate_my
bind = ALT,      B,     exec, todo_my

# BINDS
# Use `nix run nixpkgs#wev` to observe keys
# For Laptop
# bind = ALT, Z, exec, $browser
# bind = ALT, A, exec, $term --hold $filemanager 
bind = ALT, Tab, focuscurrentorlast
bind = ALT, M, workspace, 1
bind = ALT, COMMA, workspace, 2
bind = ALT, PERIOD, workspace, 3
bind = ALT, SLASH, workspace, 4

# For QMK
bind = $mainMod, Z, exec, $browser
bind = $mainMod, A, exec, $term --hold $filemanager 
bind = $mainMod, B, exec, pkill waybar || waybar
bind = $mainMod, Tab, focuscurrentorlast
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


# For Both
bind = $mainMod, H, movefocus, l
bind = $mainMod, J, movefocus, d
bind = $mainMod, K, movefocus, u
bind = $mainMod, L, movefocus, r
binde = $mainMod CTRL, H, resizeactive, -20 0
binde = $mainMod CTRL, J, resizeactive, 0 20
binde = $mainMod CTRL, K, resizeactive, 0 -20
binde = $mainMod CTRL, L, resizeactive, 20 0
bind = $mainMod, Q, killactive
bind = $mainMod, F, fullscreen
bind = $mainMod, escape, exec, pgrep $locker || $locker
bind = $mainMod, S, togglesplit
bind = $mainMod, E, togglefloating,
bind = $mainMod, R, pin
# bind = $mainMod, W, togglespecialworkspace
bind =  , Print, exec, pgrep hyprshot || hyprshot -m region
bindr= SUPER, SUPER_L, exec, $launcher
bind = SHIFT CTRL, escape, exec, ~/.local/bin/launchOrFocus --title btop
# bind = $mainMod CTRL, Z, movetoworkspace, special  # move to the special workspace
bind = $mainMod CTRL, F4, exit, # kills hyprland
bind = $mainMod CTRL, 1, movetoworkspace, 1
bind = $mainMod CTRL, 2, movetoworkspace, 2
bind = $mainMod CTRL, 3, movetoworkspace, 3
bind = $mainMod CTRL, 4, movetoworkspace, 4
bind = $mainMod CTRL, 5, movetoworkspace, 5
bind = $mainMod CTRL, 6, movetoworkspace, 6
bind = $mainMod CTRL, 7, movetoworkspace, 7
bind = $mainMod CTRL, 8, movetoworkspace, 8
bind = $mainMod CTRL, 9, movetoworkspace, 9
bind = $mainMod CTRL, 0, movetoworkspace, 10

# Special Keys
bindel = , XF86AudioRaiseVolume , exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
bindel = , XF86AudioLowerVolume , exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
bindl  = , XF86AudioMute        , exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
bindl  = , XF86AudioMicMute     , exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindl  = , XF86MonBrightnessUp  , exec, brightnessctl s 10%+ # light -A 5
bindl  = , XF86MonBrightnessDown, exec, brightnessctl s 10%- # light -U 5
bindl  = , XF86AudioPlay        , exec, playerctl play-pause
bindl  = , XF86AudioNext        , exec, playerctl next
bindl  = , XF86AudioPrev        , exec, playerctl previous
bindl  = , XF86ScreenSaver      , exec, dpms_status=$(hyprctl monitors -j | jq -r ".[].dpmsStatus") && [[ "$dpms_status" = "true" ]] && hyprctl dispatch dpms off || hyprctl dispatch dpms on
# GTK Indicator
bindel = , XF86AudioRaiseVolume , exec, gtk_indicator_client_volume
bindel = , XF86AudioLowerVolume , exec, gtk_indicator_client_volume
bindl  = , XF86AudioMute        , exec, gtk_indicator_client_volume
bindl  = , XF86AudioMicMute     , exec, gtk_indicator_client_mic
bindl  = , XF86MonBrightnessUp  , exec, gtk_indicator_client_brightness
bindl  = , XF86MonBrightnessDown, exec, gtk_indicator_client_brightness
# QMK
bindl = , XF86Launch8          , exec, pactl set-sink-mute @DEFAULT_SINK@ toggle # F17
bindl = , XF86Launch7          , exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # F16
bindl = , XF86Tools            , exec, brightnessctl s 10%+ # light -A 5 # F13
bindl = , XF86Launch5          , exec, brightnessctl s 10%- # light -U 5 # F14
bindl = , XF86Launch6          , exec, dpms_status=$(hyprctl monitors -j | jq -r ".[].dpmsStatus") && [[ "$dpms_status" = "true" ]] && hyprctl dispatch dpms off || hyprctl dispatch dpms on # F15
# QMK GTK Indicator
bindl = , XF86Launch8          , exec, gtk_indicator_client_volume
bindl = , XF86Launch7          , exec, gtk_indicator_client_volume
bindl = , XF86Tools            , exec, gtk_indicator_client_brightness
bindl = , XF86Launch5          , exec, gtk_indicator_client_brightness

# Mouse Bindings
# 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



Config File: /home/emre/.config/hypr/monitors.conf: Read Succeeded
# Generated by nwg-displays on 2024-08-10 at 00:57:05. Do not edit manually.

monitor=eDP-1,[email protected],0x1920,1.0
monitor=HDMI-A-1,[email protected],0x0,1.0
monitor=HDMI-A-1,transform,1


Config File: /home/emre/.config/hypr/workspaces.conf: Read Succeeded
# Generated by nwg-displays on 2024-07-24 at 08:45:25. Do not edit manually.

workspace=4,monitor:desc:Chimei Innolux Corporation 0x1521,default:true
workspace=3,monitor:desc:Dell Inc. DELL P2217H RH81R83L0J7B,default:true
workspace=2,monitor:desc:Chimei Innolux Corporation 0x1521
workspace=1,monitor:desc:Chimei Innolux Corporation 0x1521


Config File: /home/emre/.config/hypr/includes.conf: Read Succeeded
# VARIABLES
$term = kitty
$browser = MOZ_ENABLE_WAYLAND=1 firefox
$launcher= pgrep dmenu && pkill dmenu || j4-dmenu-desktop
$filemanager = lf_cd_hyprland #yazi_cd_hyprland
$editor = hx
$locker = hyprlock
$scripts_dir = /mnt/second/rep/dotfiles/scripts/python

# AUTOSTART
exec-once = swaync
# exec-once = swayosd-server
exec-once = nm-applet --indicator
exec-once = blueman-applet
exec-once = waybar
exec-once = swww-daemon # wallpaper daemon
# exec-once = rog-control-center
exec-once = xremap ~/.config/xremap/config.yml
exec-once = yarr
exec-once = udiskie

exec-once = gtk_applet_script_menu
exec-once = gtk_applet_power_menu
exec-once = update_wp
exec-once = auto_refresh
exec-once = gtk_indicator --name mic
exec-once = gtk_indicator --name volume
exec-once = gtk_indicator --name brightness

exec-once = systemctl start --user polkit-gnome-authentication-agent-1
exec-once = hypridle &

# Share picker doesn’t use the system theme
exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user import-environment QT_QPA_PLATFORMTHEME

# Make default apps work with xdg-open
exec-once = systemctl --user import-environment PATH && systemctl --user restart xdg-desktop-portal.service

exec-once = gen_typing_test -n 50 --digits 45 > /tmp/numbers_45.txt
exec-once = gen_typing_test -n 50 --digits 46 > /tmp/numbers_46.txt
exec-once = gen_typing_test -n 50 --digits 56 > /tmp/numbers_56.txt
exec-once = gen_typing_test -n 50 --digits 456 > /tmp/numbers_456.txt
exec-once = gen_typing_test -n 50 --digits 12 > /tmp/numbers_12.txt
exec-once = gen_typing_test -n 50 --digits 13 > /tmp/numbers_13.txt
exec-once = gen_typing_test -n 50 --digits 23 > /tmp/numbers_23.txt
exec-once = gen_typing_test -n 50 --digits 123 > /tmp/numbers_123.txt
exec-once = gen_typing_test -n 50 --digits 78 > /tmp/numbers_78.txt
exec-once = gen_typing_test -n 50 --digits 79 > /tmp/numbers_79.txt
exec-once = gen_typing_test -n 50 --digits 70 > /tmp/numbers_70.txt
exec-once = gen_typing_test -n 50 --digits 89 > /tmp/numbers_89.txt
exec-once = gen_typing_test -n 50 --digits 80 > /tmp/numbers_80.txt
exec-once = gen_typing_test -n 50 --digits 90 > /tmp/numbers_90.txt
exec-once = gen_typing_test -n 50 --digits 7890 > /tmp/numbers_7890.txt
exec-once = gen_typing_test -n 50 --digits 123456 > /tmp/numbers_123456.txt
exec-once = gen_typing_test -n 50 --digits 1237890 > /tmp/numbers_1237890.txt
exec-once = gen_typing_test -n 50 --digits 4567890 > /tmp/numbers_4567890.txt
exec-once = gen_typing_test -n 80 --digits 1234567890 > /tmp/numbers_123456789.txt

exec-once = anki
exec-once = thunderbird
exec-once = firefox
exec-once = kitty --title btop btop
exec-once = kitty
exec-once = drawio

# It is not enough to define these inside home-manager
# You also have to define them here.
# Otherwise  XDG_CACHE_HOME etc. wont be defined for some scripts
# You will get ./python folders all around due to caching

env = EDITOR, $editor
env = TERMINAL,kitty
env = TERM,kitty
env = OPENER,xdg-open
env = XCURSOR_SIZE,24

env = WLR_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0

$XDG_DATA_HOME=$HOME/.local/share
$XDG_CONFIG_HOME=$HOME/.config
$XDG_STATE_HOME=$HOME/.local/state
$XDG_CACHE_HOME=$HOME/.cache

env = XDG_DATA_HOME,$XDG_DATA_HOME
env = XDG_CONFIG_HOME,$XDG_CONFIG_HOME
env = XDG_STATE_HOME,$XDG_STATE_HOME
env = XDG_CACHE_HOME,$XDG_CACHE_HOME
env = PATH,$XDG_DATA_HOME:$XDG_CONFIG_HOME:$XDG_STATE_HOME:$XDG_CACHE_HOME:$PATH

env = PATH,$HOME/.local/bin:$PATH
env = PATH,/usr/local/bin:$PATH

env = DIRENV_CONFIG,$HOME/.config/direnv/direnvrc

env = ANDROID_HOME,$XDG_DATA_HOME/android
env = CARGO_HOME,$XDG_DATA_HOME/cargo
env = CUDA_CACHE_PATH,"$XDG_CACHE_HOME/nv
env = GNUPGHOME,$XDG_DATA_HOME/gnupg
env = PASSWORD_STORE_DIR,$XDG_DATA_HOME/password-store
env = RUSTUP_HOME,$XDG_DATA_HOME/rustup
env = NUGET_PACKAGES,$XDG_CACHE_HOME/NuGetPackages
env = NPM_CONFIG_USERCONFIG,$XDG_CONFIG_HOME/npm/npmrc
env = DOTNET_CLI_HOME,/tmp/DOTNET_CLI_HOME
env = GNUPGHOME,$XDG_DATA_HOME/gnupg
env = WGETRC,$XDG_CONFIG_HOME/wgetrc
env = KIVY_HOME,$XDG_CONFIG_HOME/kivy
env = PYTHONPYCACHEPREFIX,$XDG_CACHE_HOME/python
env = PYTHONUSERBASE,$XDG_DATA_HOME/python
env = GOPATH,$XDG_CACHE_HOME/go


# RICE
decoration {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    rounding = 5
    drop_shadow = true
    shadow_range = 4
    shadow_render_power = 3
    # col.shadow = rgba(1a1a1aee)

    layerrule=blur,waybar
    layerrule=blur,wofi
    blur {
        enabled = true
        size = 2
        passes = 3
        noise = 0
        ignore_opacity = false
        new_optimizations = true
        #contrast = 1
        #brightness = 0.8172
    }
}

# GENERAL SETTINGS
general {
    border_size = 2
    no_border_on_floating = false
    gaps_in = 3
    gaps_out = 3
    col.active_border = rgba(f9deffff)
    col.inactive_border = rgba(595959aa)
    layout = dwindle
    extend_border_grab_area = true
    hover_icon_on_border = true
    # cursor_inactive_timeout = 3 #seconds
}

# CURSOR SETTINGS
cursor {
    inactive_timeout = 3
}

# DWINDLE LAYOUT
dwindle {
    pseudotile = false
    force_split = 0
    preserve_split = true
    smart_split = false
    special_scale_factor = 0.8
    split_width_multiplier = 1.0
    no_gaps_when_only = false
    use_active_for_splits = true
    default_split_ratio = 1.0
}

# MASTER LAYOUT
master {
    allow_small_split = false
    special_scale_factor = 0.8
    mfact = 0.55
    new_status = master
    new_on_top = false
    no_gaps_when_only = false
    orientation = left
    inherit_fullscreen = true
    always_center_master = false
}

# INPUT DEVICES
input {
    numlock_by_default = true
    kb_layout = us
    repeat_rate = 45
    repeat_delay = 250
    follow_mouse = 1
    mouse_refocus = true
    float_switch_override_focus = 1
    kb_options = caps:escape
    touchpad {
        disable_while_typing = true
        natural_scroll = true
        scroll_factor = 1.0
        tap-to-click = true
    }
}

misc {
    disable_hyprland_logo = true
    mouse_move_enables_dpms = false
    key_press_enables_dpms = true
    focus_on_activate = true

  # Workaround for #6038 / #6237
  initial_workspace_tracking = false;
}

animations {
    enabled = true

    # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

    animation = windows, 1, 2, myBezier
    animation = windowsOut, 1, 2, default, popin 80%
    animation = border, 1, 2, default
    animation = borderangle, 1, 2, default
    animation = fade, 1, 2, default
    animation = workspaces, 1, 2, default
}

gestures {
    # See https://wiki.hyprland.org/Configuring/workspace_swipe_fingersVariables/ for more
    workspace_swipe = true
    workspace_swipe_fingers = 4
    workspace_swipe_distance = 100
}

# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
# device:epic-mouse-v1 {
#     sensitivity = -0.5
# }



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


Description

Cursor starts lagging but lag stops when I click and hold the mouse. Where I click does not matter.

  • Only happens after I open Questasim/Modelsim application.
  • Does not stop even after I close the application.
  • Lags when I am just moving cursor around.
  • No lag when I click somewhere/anywhere and hold.

This does not happen on Gnome wayland.

How to reproduce

  • Install Questasim or Modelsim.
  • Open couple windows and move the cursor around.
  • Observe the lag.
  • Close the app.
  • It is still laggy.

Crash reports, logs, images, videos

356910622-a50d7111-f34e-46d3-93fe-32fcc7ca67f4.webm

hakan-demirli avatar Aug 11 '24 23:08 hakan-demirli