-
Notifications
You must be signed in to change notification settings - Fork 208
Open
Description
Describe the bug
Gamemode fails to apply OC offsets even though nvidia-settings can both through CLI and GUI.
To Reproduce
Steps used to reproduce the behavior:
- Launch gamemode with this config file-
[general]
; The reaper thread will check every 5 seconds for exited clients, for config file changes, and for the CPU/iGPU power balance
reaper_freq=5
; The desired governor is used when entering GameMode instead of "performance"
desiredgov=performance
; The default governor is used when leaving GameMode instead of restoring the original value
;defaultgov=powersave
; The desired platform profile is used when entering GameMode instead of "performance"
desiredprof=performance
; The default platform profile is used when leaving GameMode instead of restoring the original value
;defaultgov=low-power
; The iGPU desired governor is used when the integrated GPU is under heavy load
igpu_desiredgov=powersave
; Threshold to use to decide when the integrated GPU is under heavy load.
; This is a ratio of iGPU Watts / CPU Watts which is used to determine when the
; integraged GPU is under heavy enough load to justify switching to
; igpu_desiredgov. Set this to -1 to disable all iGPU checking and always
; use desiredgov for games.
igpu_power_threshold=0.3
; GameMode can change the scheduler policy to SCHED_ISO on kernels which support it (currently
; not supported by upstream kernels). Can be set to "auto", "on" or "off". "auto" will enable
; with 4 or more CPU cores. "on" will always enable. Defaults to "off".
softrealtime=off
; GameMode can renice game processes. You can put any value between 0 and 20 here, the value
; will be negated and applied as a nice value (0 means no change). Defaults to 0.
; To use this feature, the user must be added to the gamemode group (and then rebooted):
; sudo usermod -aG gamemode $(whoami)
renice=10
; By default, GameMode adjusts the iopriority of clients to BE/0, you can put any value
; between 0 and 7 here (with 0 being highest priority), or one of the special values
; "off" (to disable) or "reset" (to restore Linux default behavior based on CPU priority),
; currently, only the best-effort class is supported thus you cannot set it here
ioprio=0
; Sets whether gamemode will inhibit the screensaver when active
; Defaults to 1
inhibit_screensaver=1
; Sets whether gamemode will disable split lock mitigation when active
; Defaults to 1
disable_splitlock=1
[gpu]
; Here Be Dragons!
; Warning: Use these settings at your own risk
; Any damage to hardware incurred due to this feature is your responsibility and yours alone
; It is also highly recommended you try these settings out first manually to find the sweet spots
; Setting this to the keyphrase "accept-responsibility" will allow gamemode to apply GPU optimisations such as overclocks
apply_gpu_optimisations=accept-responsibility
; The DRM device number on the system (usually 0), ie. the number in /sys/class/drm/card0/
gpu_device=0
; Nvidia specific settings
; Requires the coolbits extension activated in nvidia-xconfig
; This corresponds to the desired GPUPowerMizerMode
; "Adaptive"=0 "Prefer Maximum Performance"=1 and "Auto"=2
; See NV_CTRL_GPU_POWER_MIZER_MODE and friends in https://github.com/NVIDIA/nvidia-settings/blob/master/src/libXNVCtrl/NVCtrl.h
nv_powermizer_mode=1
- Run
gamemoderun glxgears. - View output of "nvidia-settings -q all | grep GPUCurrentClockFreqsString"
- The clock speed does not change.
Expected behavior
The max clock speed increases according to the config.
System Info:
- OS and version: Arch Linux [Latest]
- GameMode Version: 1.8.2-1
- GPU: GT 740 [Proprietary 470xx driver]
Additional context
I had made a post about this on arch linux forums, got no response there but there is additional info present at there.
Output of "systemctl --user status gamemoded" while "gamemoderun glxgears" is running-
● gamemoded.service - gamemoded
Loaded: loaded (/usr/lib/systemd/user/gamemoded.service; disabled; preset: enabled)
Active: active (running) since Thu 2025-11-27 20:28:54 IST; 37min ago
Invocation: e48f3ad0b92c4f3184741c9deb649f8e
Main PID: 1303 (gamemoded)
Status: "GameMode is now active."
Tasks: 2 (limit: 4597)
Memory: 54.6M (peak: 69.5M)
CPU: 8.827s
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/gamemoded.service
└─1303 /usr/bin/gamemoded
Nov 27 21:06:13 cosmos gamemoded[1303]: org.freedesktop.DBus.Error.ServiceUnknown
Nov 27 21:06:13 cosmos gamemoded[1303]: The name is not activatable
Nov 27 21:06:13 cosmos pkexec[9127]: pam_unix(polkit-1:session): session opened for user root(uid=0) by ak(uid=1000)
Nov 27 21:06:14 cosmos gamemoded[9135]: ERROR: Output didn't match expected format, couldn't discern highest perf level from nvidia-settings!
Nov 27 21:06:14 cosmos gamemoded[9135]: ERROR: Output:perf=0, nvclock=330, nvclockmin=330, nvclockmax=993, nvclockeditable=1, memclock=667, memclockmin=667, memclockmax=667, memclockeditable=1, memTransferRate=1>
Nov 27 21:06:14 cosmos gamemoded[9135]: ERROR: Failed to parse output for "[gpu:0]/GPUGraphicsClockOffset[-1]" output was ""!
Nov 27 21:06:14 cosmos gamemoded[1303]: ERROR: External process failed with exit code 1
Nov 27 21:06:14 cosmos gamemoded[1303]: ERROR: Output was:
Nov 27 21:06:14 cosmos gamemoded[1303]: ERROR: Failed to call gpuclockctl, could not get values!
Nov 27 21:06:14 cosmos pkexec[9146]: pam_unix(polkit-1:session): session opened for user root(uid=0) by ak(uid=1000)
Ask for more info if needed!
Thanks a lot!
LL
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels