Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Idle games in background are not getting enough CPU time #7262

Closed
enzi opened this issue Aug 9, 2024 · 6 comments
Closed

Idle games in background are not getting enough CPU time #7262

enzi opened this issue Aug 9, 2024 · 6 comments
Labels
bug Something isn't working

Comments

@enzi
Copy link

enzi commented Aug 9, 2024

Regression?

No

System Info and Version

System/Version info
Hyprland, built from branch main at commit 4b4971c06fb02df00a2bd20b6b47b5d0e7d799a7  (internal: introduce new types to avoid unsigned int rollover and signed int overflow (7216)).
Date: Thu Aug 8 21:01:50 2024
Tag: v0.42.0-2-g4b4971c0, commits: 5071

flags: (if any)


System Information:
System name: Linux
Node name: enzi-linux
Release: 6.10.3-zen1-2-zen
Version: #1 ZEN SMP PREEMPT_DYNAMIC Tue, 06 Aug 2024 07:47:21 +0000


GPU information: 
07:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD103 [GeForce RTX 4080] [10de:2704] (rev a1) (prog-if 00 [VGA controller])
NVRM version: NVIDIA UNIX x86_64 Kernel Module  555.58.02  Tue Jun 25 01:39:15 UTC 2024


os-release: NAME="Garuda Linux"
PRETTY_NAME="Garuda Linux"
ID=garuda
ID_LIKE=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://garudalinux.org/"
DOCUMENTATION_URL="https://wiki.garudalinux.org/"
SUPPORT_URL="https://forum.garudalinux.org/"
BUG_REPORT_URL="https://gitlab.com/groups/garuda-linux/"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=garudalinux


plugins:

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


Config File: /home/enzi/.config/hypr/hyprland.conf: Read Succeeded
#  _   _                  _                 _  
# | | | |_   _ _ __  _ __| | __ _ _ __   __| | 
# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | 
# |  _  | |_| | |_) | |  | | (_| | | | | (_| | 
# |_| |_|\__, | .__/|_|  |_|\__,_|_| |_|\__,_| 
#        |___/|_|                              
#  
# ----------------------------------------------------- 
# IMPORTANT: Don't overwrite ML4W configuration.
# Create your own custom configuration variation instead.
# https://gitlab.com/stephan-raabe/dotfiles#hyprland-configuration-variations

# ----------------------------------------------------- 
# Monitor
# ----------------------------------------------------- 
source = ~/dotfiles/hypr/conf/monitor.conf

# ----------------------------------------------------- 
# Autostart
# ----------------------------------------------------- 
source = ~/dotfiles/hypr/conf/autostart.conf

# ----------------------------------------------------- 
# Cursor
# ----------------------------------------------------- 
source = ~/dotfiles/hypr/conf/cursor.conf

# ----------------------------------------------------- 
# Environment
# ----------------------------------------------------- 
source = ~/dotfiles/hypr/conf/environment.conf

# ----------------------------------------------------- 
# Keyboard
# ----------------------------------------------------- 
source = ~/dotfiles/hypr/conf/keyboard.conf

# ----------------------------------------------------- 
# Load pywal color file
# ----------------------------------------------------- 
source = ~/.cache/wal/colors-hyprland.conf

# ----------------------------------------------------- 
# Load configuration files
# ----------------------------------------------------- 
source = ~/dotfiles/hypr/conf/window.conf
source = ~/dotfiles/hypr/conf/decoration.conf
source = ~/dotfiles/hypr/conf/layout.conf
source = ~/dotfiles/hypr/conf/misc.conf
source = ~/dotfiles/hypr/conf/keybinding.conf
source = ~/dotfiles/hypr/conf/windowrule.conf

# ----------------------------------------------------- 
# Animation
# ----------------------------------------------------- 
source = ~/dotfiles/hypr/conf/animation.conf

# ----------------------------------------------------- 
# Custom
# ----------------------------------------------------- 
source = ~/dotfiles/hypr/conf/custom.conf

# ----------------------------------------------------- 
# ML4W Configuration
# ----------------------------------------------------- 
source = ~/dotfiles/hypr/conf/ml4w.conf

# ----------------------------------------------------- 
# Environment for xdg-desktop-portal-hyprland
# ----------------------------------------------------- 
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

Config File: /home/enzi/dotfiles/hypr/conf/monitor.conf: Read Succeeded
source = ~/dotfiles/hypr/conf/monitors/default.conf


Config File: /home/enzi/dotfiles/hypr/conf/monitors/default.conf: Read Succeeded
# ----------------------------------------------------- 
# Monitor Setup
# name: "Default"
# ----------------------------------------------------- 

#monitor=,preferred,auto,1
monitor=DP-2,2560x1440@143.97,0x0,1
monitor=DP-1,2560x1440@143.97,2560x0,1


Config File: /home/enzi/dotfiles/hypr/conf/autostart.conf: Read Succeeded
# ----------------------------------------------------- 
# Autostart
# ----------------------------------------------------- 

# Setup XDG for screen sharing
exec-once = ~/dotfiles/hypr/scripts/xdg.sh

# Start Polkit
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1

# Load Dunst Notification Manager
exec-once = dunst

# Load GTK settings
exec-once = ~/dotfiles/hypr/scripts/gtk.sh

# Using hypridle to start hyprlock
exec-once = hypridle

# Load cliphist history
exec-once = wl-paste --watch cliphist store

# Autostart ML4W App
exec-once = ~/dotfiles/hypr/scripts/ml4w-welcome-autostart.sh

# Start ewww daemon
exec-once = ~/dotfiles/hypr/scripts/eww.sh

# Initialize waypaper
exec-once = waypaper --restore

# Launch Waybar
exec-once = ~/dotfiles/waybar/launch.sh

# Start autostart cleanup
exec-once = ~/dotfiles/hypr/scripts/cleanup.sh

# Load configuration from ML4W Hyprland Settings App
exec = ~/.config/ml4w-hyprland-settings/hyprctl.sh

# Load session manager
exec-once = hyprsession

# Load Hyprspace
exec-once = hyprpm enable Hyprspace

# Load all LDM partitions
exec-once = sudo ldmtool create all

# set primary monitorq
exec-once = xrandr --output DP-1 --primary

exec-once = protonmail-bridge


Config File: /home/enzi/dotfiles/hypr/conf/cursor.conf: Read Succeeded
exec-once = hyprctl setcursor Sweet-cursors 24


Config File: /home/enzi/dotfiles/hypr/conf/environment.conf: Read Succeeded
source = ~/dotfiles/hypr/conf/environments/default.conf


Config File: /home/enzi/dotfiles/hypr/conf/environments/default.conf: Read Succeeded
# ----------------------------------------------------- 
# Environment Variables
# name: "Default"
# ----------------------------------------------------- 
# Set in ml4w.conf

env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_QPA_PLATFORM,wayland
env = XDG_MENU_PREFIX,plasma-


Config File: /home/enzi/dotfiles/hypr/conf/keyboard.conf: Read Succeeded
# ----------------------------------------------------- 
# Keyboard Layout
# https://wiki.hyprland.org/Configuring/Variables/#input
# -----------------------------------------------------
input {
    kb_layout = us
    kb_variant = altgr-intl
    kb_model =
    kb_options =
    numlock_by_default = true
    mouse_refocus = false
    repeat_rate=35
    repeat_delay=350
    
    # For United States
    # kb_layout = us
    # kb_variant = intl
    # kb_model = pc105
    # kb_options =

    follow_mouse = 0
    mouse_refocus = false
    touchpad {
        # for desktop
        natural_scroll = false
        
        # for laptop
        # natural_scroll = yes
        # middle_button_emulation = true
        # clickfinger_behavior = false          
    }
    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}

gestures {
    workspace_swipe = true
}


Config File: /home/enzi/.cache/wal/colors-hyprland.conf: Read Succeeded
$background = rgb(0E0D0E)
$foreground = rgb(ece1cc)
$color0 = rgb(0E0D0E)
$color1 = rgb(335569)
$color2 = rgb(575D5D)
$color3 = rgb(956C49)
$color4 = rgb(B3966D)
$color5 = rgb(6D8690)
$color6 = rgb(AEA593)
$color7 = rgb(ece1cc)
$color8 = rgb(a59d8e)
$color9 = rgb(335569)
$color10 = rgb(575D5D)
$color11 = rgb(956C49)
$color12 = rgb(B3966D)
$color13 = rgb(6D8690)
$color14 = rgb(AEA593)
$color15 = rgb(ece1cc)

Config File: /home/enzi/dotfiles/hypr/conf/window.conf: Read Succeeded
source = ~/dotfiles/hypr/conf/windows/default.conf


Config File: /home/enzi/dotfiles/hypr/conf/windows/default.conf: Read Succeeded
# ----------------------------------------------------- 
# General window layout and colors
# name: "Default"
# ----------------------------------------------------- 

general {
    gaps_in = 10
    gaps_out = 14
    border_size = 3
    col.active_border = $color11
    col.inactive_border = rgba(ffffffff)
    layout = dwindle
    resize_on_border = true
}


Config File: /home/enzi/dotfiles/hypr/conf/decoration.conf: Read Succeeded
source = ~/dotfiles/hypr/conf/decorations/default.conf

Config File: /home/enzi/dotfiles/hypr/conf/decorations/default.conf: Read Succeeded
# ----------------------------------------------------- 
# General window decoration
# name: "Default"
# ----------------------------------------------------- 

decoration {
    rounding = 10
    blur {
        enabled = true
        size = 6
        passes = 2
        new_optimizations = on
        ignore_opacity = true
        xray = true
        # blurls = waybar
    }
    active_opacity = 1.0
    inactive_opacity = 0.8
    fullscreen_opacity = 1.0

    drop_shadow = true
    shadow_range = 30
    shadow_render_power = 3
    col.shadow = 0x66000000
}


Config File: /home/enzi/dotfiles/hypr/conf/layout.conf: Read Succeeded
source = ~/dotfiles/hypr/conf/layouts/default.conf

Config File: /home/enzi/dotfiles/hypr/conf/layouts/default.conf: Read Succeeded
# ----------------------------------------------------- 
# Layouts
# ----------------------------------------------------- 

dwindle {
    pseudotile = true
    preserve_split = true
}

master {
    # new_is_master = true
    # new_status = master
}

gestures {
    workspace_swipe = false
}

Config File: /home/enzi/dotfiles/hypr/conf/misc.conf: Read Succeeded
# ----------------------------------------------------- 
# Misc settings
# ----------------------------------------------------- 

misc {
    disable_hyprland_logo = true
    disable_splash_rendering = true
}


Config File: /home/enzi/dotfiles/hypr/conf/keybinding.conf: Read Succeeded
source = ~/dotfiles/hypr/conf/keybindings/default.conf

Config File: /home/enzi/dotfiles/hypr/conf/keybindings/default.conf: Read Succeeded
# ----------------------------------------------------- 
# Key bindings
# name: "Default"
# ----------------------------------------------------- 

# SUPER KEY
$mainMod = SUPER

# Applications
bind = $mainMod, Q, exec, ~/dotfiles/.settings/terminal.sh # Open the terminal
bind = $mainMod, B, exec, ~/dotfiles/.settings/browser.sh # Open the browser
bind = $mainMod, E, exec, ~/dotfiles/.settings/filemanager.sh # Open the filemanager

# Windows
bind = $mainMod, C, killactive # Kill active window
bind = $mainMod, F, fullscreen # Set active window to fullscreen
bind = $mainMod, V, togglefloating # Toggle active windows into floating mode
bind = $mainMod SHIFT, T, exec, ~/dotfiles/hypr/scripts/toggleallfloat.sh # Toggle all windows into floating mode
bind = $mainMod, J, togglesplit # Toggle split
bind = $mainMod, left, movefocus, l # Move focus left
bind = $mainMod, right, movefocus, r # Move focus right
bind = $mainMod, up, movefocus, u # Move focus up
bind = $mainMod, down, movefocus, d # Move focus down
bindm = $mainMod, mouse:272, movewindow # Move window with the mouse
bindm = $mainMod, mouse:273, resizewindow # Resize window with the mouse
bind = $mainMod SHIFT, right, resizeactive, 100 0 # Increase window width with keyboard
bind = $mainMod SHIFT, left, resizeactive, -100 0 # Reduce window width with keyboard
bind = $mainMod SHIFT, down, resizeactive, 0 100 # Increase window height with keyboard
bind = $mainMod SHIFT, up, resizeactive, 0 -100 # Reduce window height with keyboard
bind = $mainMod, G, togglegroup # Toggle window group

# Actions
bind = $mainMod SHIFT, A, exec, ~/dotfiles/hypr/scripts/toggle-animations.sh # Toggle animations
bind = $mainMod, PRINT, exec, ~/dotfiles/hypr/scripts/screenshot.sh # Take a screenshot

bind = $mainMod CTRL, Q, exec, wlogout # Start wlogout
bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper
bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector
#bind = $mainMod CTRL, RETURN, exec, rofi -show drun -replace -i # Open application launcher
bind = ALT, SPACE, exec, rofi -show drun -replace -i # Open application launcher
bind = $mainMod CTRL, H, exec, ~/dotfiles/hypr/scripts/keybindings.sh # Show keybindings
bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh # Reload waybar
bind = $mainMod CTRL, B, exec, ~/dotfiles/waybar/toggle.sh # Toggle waybar
bind = $mainMod SHIFT, R, exec, ~/dotfiles/hypr/scripts/loadconfig.sh # Reload hyprland config
#bind = $mainMod, V, exec, ~/dotfiles/scripts/cliphist.sh # Open clipboard manager
bind = $mainMod CTRL, T, exec, ~/dotfiles/waybar/themeswitcher.sh # Open waybar theme switcher
bind = $mainMod CTRL, S, exec, ~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app
bind = $mainMod SHIFT, S, exec, ~/dotfiles/hypr/scripts/hyprshade.sh # Toggle screenshader
bind = $mainMod ALT, G, exec, ~/dotfiles/hypr/scripts/gamemode.sh # Toggle game mode

# Workspaces
bind = $mainMod, 1, workspace, 1 # Open workspace 1
bind = $mainMod, 2, workspace, 2 # Open workspace 2
bind = $mainMod, 3, workspace, 3 # Open workspace 3
bind = $mainMod, 4, workspace, 4 # Open workspace 4
bind = $mainMod, 5, workspace, 5 # Open workspace 5
bind = $mainMod, 6, workspace, 6 # Open workspace 6
bind = $mainMod, 7, workspace, 7 # Open workspace 7
bind = $mainMod, 8, workspace, 8 # Open workspace 8
bind = $mainMod, 9, workspace, 9 # Open workspace 9
bind = $mainMod, 0, workspace, 10 # Open workspace 10
bind = $mainMod SHIFT, 1, movetoworkspace, 1 # Move active window to workspace 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2 # Move active window to workspace 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3 # Move active window to workspace 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4 # Move active window to workspace 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5 # Move active window to workspace 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6 # Move active window to workspace 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7 # Move active window to workspace 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8 # Move active window to workspace 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9 # Move active window to workspace 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Move active window to workspace 10
bind = $mainMod, mouse_down, workspace, e+1 # Open next workspace
bind = $mainMod, mouse_up, workspace, e-1 # Open previous workspace
bind = $mainMod CTRL, down, workspace, empty # Open the next empty workspace
#bind = $mainMod, S, overview:toggle
bind = $mainMod SHIFT, comma, movecurrentworkspacetomonitor, l
bind = $mainMod SHIFT, period, movecurrentworkspacetomonitor, r

plugin {
	overview {
		#onBottom = true
		overrideAnimSpeed = 5
		autoDrag = true		
	}
}

# Passthrough SUPER KEY to Virtual Machine
bind = $mainMod, P, submap, passthru # Passthrough SUPER key to virtual machine
submap = passthru
bind = SUPER, Escape, submap, reset # Get SUPER key back from virtual machine
submap = reset

# Fn keys
bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10%
bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10%
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5%
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5%
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute
bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause
bind = , XF86AudioPause, exec, playerctl pause # Audio pause
bind = , XF86AudioNext, exec, playerctl next # Audio next
bind = , XF86AudioPrev, exec, playerctl previous # Audio previous
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone
bind = , XF86Calculator, exec, qalculate-gtk # Open calculator
bind = , XF86Lock, exec, hyprlock # Open screenlock
bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app



Config File: /home/enzi/dotfiles/hypr/conf/windowrule.conf: Read Succeeded
source = ~/dotfiles/hypr/conf/windowrules/default.conf

Config File: /home/enzi/dotfiles/hypr/conf/windowrules/default.conf: Read Succeeded
## ----------------------------------------------------- 
# Window rules
# ----------------------------------------------------- 

windowrule = tile,^(Microsoft-edge)$
windowrule = tile,^(Brave-browser)$
windowrule = tile,^(Chromium)$
windowrule = float,^(pavucontrol)$
windowrule = float,^(blueman-manager)$
windowrule = float,^(nm-connection-editor)$
#windowrule = float,^(qalculate-gtk)$
windowrule = float,^(qalculate-gtk)$
windowrulev2 = float,class:(unityhub)
#windowrulev2 = idleinhibit none,class:(godot)
#windowrulev2 = stayfocused,class:^Unity,floating:1


Config File: /home/enzi/dotfiles/hypr/conf/animation.conf: Read Succeeded
source = ~/dotfiles/hypr/conf/animations/default.conf


Config File: /home/enzi/dotfiles/hypr/conf/animations/default.conf: Read Succeeded
# ----------------------------------------------------- 
# Animations
# name "Default"
# ----------------------------------------------------- 
animations {
    enabled = true
    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
}


Config File: /home/enzi/dotfiles/hypr/conf/custom.conf: Read Succeeded
# Add your additional Hyprland configurations here
# 
# This is an additional key binding 
# bind = $mainMod CTRL, up, workspace, empty
# 
# Example for xwayland
# xwayland {
#   force_zero_scaling = true
# }

# qt5ct environment variable
# env = QT_QPA_PLATFORMTHEME,qt5c


Config File: /home/enzi/dotfiles/hypr/conf/ml4w.conf: Read Succeeded
# ----------------------------------------------------- 
# ML4W configurations
# ----------------------------------------------------- 

# Pavucontrol floating
windowrulev2 = float,class:(.*org.pulseaudio.pavucontrol.*)
windowrulev2 = size 700 600,class:(.*org.pulseaudio.pavucontrol.*)
windowrulev2 = center,class:(.*org.pulseaudio.pavucontrol.*)

# OpenAI ChatGPT floating
windowrulev2 = float,title:(.*chat.openai.com.*)
windowrulev2 = size 500 50%,title:(.*chat.openai.com.*)
windowrulev2 = move 20 70,title:(.*chat.openai.com.*)

# ML4W Welcome App floating
windowrulev2 = float,class:(.*waypaper.*)
windowrulev2 = size 800 700,class:(.*waypaper.*)
windowrulev2 = center,class:(.*waypaper.*)

# ML4W Welcome App floating
windowrulev2 = float,class:(com.ml4w.welcome)
windowrulev2 = size 700 600,class:(com.ml4w.welcome)
windowrulev2 = center,class:(com.ml4w.welcome)

windowrulev2 = float,class:(ml4w-welcome.py)
windowrulev2 = size 400 500,class:(ml4w-welcome.py)
windowrulev2 = center,class:(ml4w-welcome.py)

# ML4W Settings App floating
windowrulev2 = float,class:(com.ml4w.dotfilessettings)
windowrulev2 = size 700 600,class:(com.ml4w.dotfilessettings)
windowrulev2 = move 10% 20%,class:(com.ml4w.dotfilessettings)

windowrulev2 = float,class:(ml4w-dotfiles-settings.py)
windowrulev2 = size 400 500,class:(ml4w-dotfiles-settings.py)
windowrulev2 = move 10% 20%,class:(ml4w-dotfiles-settings.py)

# ML4W Hyprland App floating
windowrulev2 = float,class:(com.ml4w.hyprland.settings)
windowrulev2 = size 700 600,class:(com.ml4w.hyprland.settings)
windowrulev2 = center,class:(com.ml4w.hyprland.settings)

windowrulev2 = float,class:(ml4w-hyprland-settings.py)
windowrulev2 = size 700 600,class:(ml4w-hyprland-settings.py)
windowrulev2 = center,class:(ml4w-hyprland-settings.py)

# General floating
windowrulev2 = float,class:(dotfiles-floating)
windowrulev2 = size 1000 800,class:(dotfiles-floating)
windowrulev2 = center,class:(dotfiles-floating)

# XDG Desktop Portal
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland

# QT
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1

# GTK
env = GDK_SCALE,1

# Mozilla
env = MOZ_ENABLE_WAYLAND,1

# Set the cursor size for xcursor
env = XCURSOR_SIZE,24

# Disable appimage launcher by default
env = APPIMAGELAUNCHER_DISABLE,1


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

Description

I have an idle game running and I tested with others. (Unnamed Space Idle or Realm Grinder)
Both games in the background/different workspace are not getting enough CPU time so the timers start to drift. When 30 realtime seconds occur only ~3-4 seconds are registered in the game.

As I'm also running KDE in X11 I noticed that this must be a Wayland compositor problem. Whereas in KDE X11, the game are running fine in the background, they have the same behaviour in KDE Wayland. Easily verifiable in htop with looking at the Time+ data.

Now that Hyprland has its own Wayland compositor, is there a chance to add some option so selective games/apps are not getting throttled and have the same priority as being in the foreground?

As a workaround I tried gamescope and while it's indeed able to run un-throttled in the background, after some time it just closes/crashes and I haven't found out why. Not getting the crashes in KDE.

How to reproduce

Play Realm Grinder or Unnamed Space Idle.
Have them in foreground, check the timer.
Put them in background, wait 30 seconds.
Put them in foreground again, only ~3-4 seconds of the in-game timer has passed.

Crash reports, logs, images, videos

No response

@enzi enzi added the bug Something isn't working label Aug 9, 2024
@vaxerski
Copy link
Member

hyprland doesn't control cpu times

@vaxerski vaxerski closed this as not planned Won't fix, can't repro, duplicate, stale Aug 10, 2024
@enzi
Copy link
Author

enzi commented Aug 10, 2024

Should I raise this in aquamarine? It's certainly possible to send frame callbacks to apps so they are not getting CPU throttled.

@vaxerski
Copy link
Member

if you want frame callbacks to be sent then say that, because that's already reported and this would be a dupe. Search the issue tracker.

@enzi
Copy link
Author

enzi commented Aug 10, 2024

I just learned what's needed from the KDE devs a few hours ago, otherwise I would have stated this earlier of course.
If this is already reported, cool, but I'm not able to find it. If you can link me the report, so I can track it, that would be great but if you don't have it ready, don't feel obliged to look for it.

@vaxerski
Copy link
Member

#2701

@enzi
Copy link
Author

enzi commented Aug 31, 2024

fixed with #7582

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants