[x] I have searched the existing open and closed issues.
Regression?
No
System Info and Version
System/Version info
```sh
Hyprland, built from branch at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259 (props: bump version to 0.42.0).
Date: Wed Aug 7 19:17:10 2024
Tag: v0.42.0, commits: 5069
flags: (if any)
System Information:
System name: Linux
Node name: Metal-N-Magic
Release: 6.10.7-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Thu, 29 Aug 2024 16:48:57 +0000
GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 32 [Radeon RX 7700 XT / 7800 XT] [1002:747e] (rev c8) (prog-if 00 [VGA controller])
12:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev cb) (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/chara/.config/hypr/hyprland.conf: Read Succeeded
# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
# 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/
# New monitor default
monitor=,preferred,auto,1
# For ViewSonic QHD
monitor=DP-2,2560x1440@165,auto,1
###################
### MY PROGRAMS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use
$terminal = kitty
$menu = rofi -normal-window -show drun
$bluetooth = kitty --config ~/.config/kitty/floater.conf --session ~/.config/kitty/bluetuith.kses --title 'Floater: Bluetuith'
$tmpterminal = kitty --config ~/.config/kitty/floater.conf --title 'Floater: Terminal'
$network = kitty --config ~/.config/kitty/floater.conf --session ~/.config/kitty/nmtui.kses --title 'Floater: nmtui'
$ssFull = hyprshot -m output --clipboard-only
$ssSelect = hyprshot -m region --clipboard-only
$ssWindow = hyprshot -m window --clipboard-only
#################
### AUTOSTART ###
#################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
# Autostart interface components
exec-once = waybar & hyprpaper & dunst & /usr/lib/polkit-kde-authentication-agent-1
# Autostart screensharing portals
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 10,20,20
border_size = 2
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
#col.active_border = rgba(b51653ff) rgba(dd76cfff)
col.inactive_border = rgba(00000060)
col.active_border = rgba(00000060)
# 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 = dwindle
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 10
# Change transparency of focused and unfocused windows
active_opacity = 1.0
inactive_opacity = 0.75
drop_shadow = true
shadow_range = 4
shadow_render_power = 3
shadow_ignore_window = false
col.shadow = rgba(00000000)
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
new_optimizations = true
xray = true
size = 20
passes = 3
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 winMod + 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. :(
}
#############
### INPUT ###
#############
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
accel_profile = flat
sensitivity = -0.4 # -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 ###
####################
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set action keys
$winMod = SUPER
$globMod = ALT
$tmpMod = CTRL
$confirm = SHIFT
# Start applications
bind = $winMod, RETURN, exec, $terminal
bind = $winMod, TAB, exec, $menu
bind = $winMod $tmpMod, B, exec, $bluetooth
bind = $winMod $tmpMod, W, exec, $network
bind = $winMod $tmpMod, RETURN, exec, $tmpterminal
# Take screenshots
bind = $winMod $tmpMod, P, exec, $ssFull
bind = $winMod $tmpMod, O, exec, $ssWindow
bind = $winMod $tmpMod, bracketleft, exec, $ssSelect
# Window controls
bind = $winMod $confirm, Q, killactive,
bind = $winMod $confirm, SPACE, togglefloating,
bind = $winMod $confirm, RETURN, fullscreen
# Move focus
bind = $winMod, left, movefocus, l
bind = $winMod, right, movefocus, r
bind = $winMod, up, movefocus, u
bind = $winMod, down, movefocus, d
# Move window within workspace
bind = $winMod $confirm, left, movewindow, l
bind = $winMod $confirm, right, movewindow, r
bind = $winMod $confirm, up, movewindow, u
bind = $winMod $confirm, down, movewindow, d
# Move window between workspaces
bind = $globMod $confirm, 1, movetoworkspace, 1
bind = $globMod $confirm, 2, movetoworkspace, 2
bind = $globMod $confirm, 3, movetoworkspace, 3
bind = $globMod $confirm, 4, movetoworkspace, 4
bind = $globMod $confirm, 5, movetoworkspace, 5
bind = $globMod $confirm, 6, movetoworkspace, 6
bind = $globMod $confirm, 7, movetoworkspace, 7
bind = $globMod $confirm, 8, movetoworkspace, 8
bind = $globMod $confirm, 9, movetoworkspace, 9
bind = $globMod $confirm, 0, movetoworkspace, 10
bind = $globMod $confirm, LEFT, movetoworkspace, -1
bind = $globMod $confirm, RIGHT, movetoworkspace, +1
# Switch workspaces
bind = $globMod, 1, workspace, 1
bind = $globMod, 2, workspace, 2
bind = $globMod, 3, workspace, 3
bind = $globMod, 4, workspace, 4
bind = $globMod, 5, workspace, 5
bind = $globMod, 6, workspace, 6
bind = $globMod, 7, workspace, 7
bind = $globMod, 8, workspace, 8
bind = $globMod, 9, workspace, 9
bind = $globMod, 0, workspace, 10
bind = $globMod, LEFT, workspace, -1
bind = $globMod, RIGHT, workspace, +1
bind = $globMod, TAB, workspace, +1
# Example special workspace (scratchpad)
#bind = $winMod, S, togglespecialworkspace, magic
#bind = $winMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with winMod + scroll
#bind = $winMod, mouse_down, workspace, e+1
#bind = $winMod, mouse_up, workspace, e-1
# Move/resize windows with winMod + LMB/RMB and dragging
bindm = $winMod, mouse:272, movewindow
bindm = $winMod, 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
# Rules for notifications
windowrule = float, alert
windowrule = noborder, alert
windowrule = nofocus, alert
# Rules for rofi
windowrule = float, title:rofi
windowrule = stayfocused, title:rofi
windowrule = pin, title:rofi
#windowrule = noborder, title:rofi
# Rules for floaters
windowrule = float, title:Floater.*
windowrule = pin, title:Floater.*
# Tear all fullscreen apps
windowrulev2 = immediate, fullscreen:1
# App specific rules
# So that big picture wont shrink when a game finishes
windowrulev2 = fullscreenstate 3 3, title:Steam Big Picture Mode
# Make alacritty appear more transparent when inactive
windowrule = opacity 1 0.85, kitty
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
======Config-End========
```
Description
When games are not focused, their fps seems to be limited to 1. This causes some frame-dependent games to glitch out, rendering some functionalities broken, such as:
"Mute on lose focus" either doesn't work at all or you have to wait a long time before it mutes.
Sound effects have a large gap in between. You will also experience this "timed sfx" symptom on some games where one sfx is played after another, with 1 second gap in between.
Game logic runs really slowly, to the point you can almost "pause" games that doesn't have a pause function built in by simply moving to another workspace. This is quite overpowered as you can even pause yourself in some online games to prevent recieving damage.
How to reproduce
Launch any frame-dependent game and move to another workspace.
I've tested with:
Omori: have a fade out "mute on lose focus". now the volume decreases really slowly. sfxs on things such as dialogues now have a really big gap inbetween
Terraria: have glitched automute, have the "1 second gap sfx", and in online you can sometimes become invurnuable
Monster Hunter World: automute doesn't work, have a large gap between sfx, and allow semi-pausing the game. Switching back and forth in a cutscene also causes audio and graphic to desyncronize until the cutscene finishes.
Hogwarts legacy: switching workspace while in a cutscene will cause slightly bigger pauses between dialogue, and switching back will cause the cutscene to jump forward.
Already reported ? *
Regression?
No
System Info and Version
System/Version info
```sh Hyprland, built from branch at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259 (props: bump version to 0.42.0). Date: Wed Aug 7 19:17:10 2024 Tag: v0.42.0, commits: 5069 flags: (if any) System Information: System name: Linux Node name: Metal-N-Magic Release: 6.10.7-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Thu, 29 Aug 2024 16:48:57 +0000 GPU information: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 32 [Radeon RX 7700 XT / 7800 XT] [1002:747e] (rev c8) (prog-if 00 [VGA controller]) 12:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev cb) (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/chara/.config/hypr/hyprland.conf: Read Succeeded # ####################################################################################### # AUTOGENERATED HYPR CONFIG. # PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, # OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. # ####################################################################################### # 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/ # New monitor default monitor=,preferred,auto,1 # For ViewSonic QHD monitor=DP-2,2560x1440@165,auto,1 ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = kitty $menu = rofi -normal-window -show drun $bluetooth = kitty --config ~/.config/kitty/floater.conf --session ~/.config/kitty/bluetuith.kses --title 'Floater: Bluetuith' $tmpterminal = kitty --config ~/.config/kitty/floater.conf --title 'Floater: Terminal' $network = kitty --config ~/.config/kitty/floater.conf --session ~/.config/kitty/nmtui.kses --title 'Floater: nmtui' $ssFull = hyprshot -m output --clipboard-only $ssSelect = hyprshot -m region --clipboard-only $ssWindow = hyprshot -m window --clipboard-only ################# ### AUTOSTART ### ################# # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: # Autostart interface components exec-once = waybar & hyprpaper & dunst & /usr/lib/polkit-kde-authentication-agent-1 # Autostart screensharing portals exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 5 gaps_out = 10,20,20 border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors #col.active_border = rgba(b51653ff) rgba(dd76cfff) col.inactive_border = rgba(00000060) col.active_border = rgba(00000060) # 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 = dwindle } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 10 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 0.75 drop_shadow = true shadow_range = 4 shadow_render_power = 3 shadow_ignore_window = false col.shadow = rgba(00000000) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true new_optimizations = true xray = true size = 20 passes = 3 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 winMod + 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. :( } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 accel_profile = flat sensitivity = -0.4 # -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 ### #################### # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ # Set action keys $winMod = SUPER $globMod = ALT $tmpMod = CTRL $confirm = SHIFT # Start applications bind = $winMod, RETURN, exec, $terminal bind = $winMod, TAB, exec, $menu bind = $winMod $tmpMod, B, exec, $bluetooth bind = $winMod $tmpMod, W, exec, $network bind = $winMod $tmpMod, RETURN, exec, $tmpterminal # Take screenshots bind = $winMod $tmpMod, P, exec, $ssFull bind = $winMod $tmpMod, O, exec, $ssWindow bind = $winMod $tmpMod, bracketleft, exec, $ssSelect # Window controls bind = $winMod $confirm, Q, killactive, bind = $winMod $confirm, SPACE, togglefloating, bind = $winMod $confirm, RETURN, fullscreen # Move focus bind = $winMod, left, movefocus, l bind = $winMod, right, movefocus, r bind = $winMod, up, movefocus, u bind = $winMod, down, movefocus, d # Move window within workspace bind = $winMod $confirm, left, movewindow, l bind = $winMod $confirm, right, movewindow, r bind = $winMod $confirm, up, movewindow, u bind = $winMod $confirm, down, movewindow, d # Move window between workspaces bind = $globMod $confirm, 1, movetoworkspace, 1 bind = $globMod $confirm, 2, movetoworkspace, 2 bind = $globMod $confirm, 3, movetoworkspace, 3 bind = $globMod $confirm, 4, movetoworkspace, 4 bind = $globMod $confirm, 5, movetoworkspace, 5 bind = $globMod $confirm, 6, movetoworkspace, 6 bind = $globMod $confirm, 7, movetoworkspace, 7 bind = $globMod $confirm, 8, movetoworkspace, 8 bind = $globMod $confirm, 9, movetoworkspace, 9 bind = $globMod $confirm, 0, movetoworkspace, 10 bind = $globMod $confirm, LEFT, movetoworkspace, -1 bind = $globMod $confirm, RIGHT, movetoworkspace, +1 # Switch workspaces bind = $globMod, 1, workspace, 1 bind = $globMod, 2, workspace, 2 bind = $globMod, 3, workspace, 3 bind = $globMod, 4, workspace, 4 bind = $globMod, 5, workspace, 5 bind = $globMod, 6, workspace, 6 bind = $globMod, 7, workspace, 7 bind = $globMod, 8, workspace, 8 bind = $globMod, 9, workspace, 9 bind = $globMod, 0, workspace, 10 bind = $globMod, LEFT, workspace, -1 bind = $globMod, RIGHT, workspace, +1 bind = $globMod, TAB, workspace, +1 # Example special workspace (scratchpad) #bind = $winMod, S, togglespecialworkspace, magic #bind = $winMod SHIFT, S, movetoworkspace, special:magic # Scroll through existing workspaces with winMod + scroll #bind = $winMod, mouse_down, workspace, e+1 #bind = $winMod, mouse_up, workspace, e-1 # Move/resize windows with winMod + LMB/RMB and dragging bindm = $winMod, mouse:272, movewindow bindm = $winMod, 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 # Rules for notifications windowrule = float, alert windowrule = noborder, alert windowrule = nofocus, alert # Rules for rofi windowrule = float, title:rofi windowrule = stayfocused, title:rofi windowrule = pin, title:rofi #windowrule = noborder, title:rofi # Rules for floaters windowrule = float, title:Floater.* windowrule = pin, title:Floater.* # Tear all fullscreen apps windowrulev2 = immediate, fullscreen:1 # App specific rules # So that big picture wont shrink when a game finishes windowrulev2 = fullscreenstate 3 3, title:Steam Big Picture Mode # Make alacritty appear more transparent when inactive windowrule = opacity 1 0.85, kitty # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. ======Config-End======== ```Description
When games are not focused, their fps seems to be limited to 1. This causes some frame-dependent games to glitch out, rendering some functionalities broken, such as:
How to reproduce
Launch any frame-dependent game and move to another workspace. I've tested with:
Crash reports, logs, images, videos
No response