gamemode icon indicating copy to clipboard operation
gamemode copied to clipboard

Add option to set AMDGPU pp_power_profile_mode in gamemode

Open x5f3759df opened this issue 1 year ago • 4 comments

Is your feature request related to a problem? Please describe. AMDGPU driver aggressively force power saving when FPS is limited due low GPU load. More info here https://gitlab.freedesktop.org/drm/amd/-/issues/1500 (doesn't fixed for 3+ years)

Looks like driver doesn't use 3D_FULL_SCREEN profile at all, because it can't detect what full screen is due compositor or whatever.

Describe the solution you'd like Add option to set pp_power_profile_mode in config along with power_dpm_force_performance_level.

Right now we have only amd_performance_level=high to fix issues with powersaving, but it force GPU use maximum clocks even with low GPU load and causes GPU to generate too much heat.

Using 3D_FULL_SCREEN power profile will fix this issue along with powersaving problems.

for example

amd_power_profile=3D_FULL_SCREEN will be fine

Describe alternatives you've considered You can see all available profiles here

# cat /sys/class/drm/card1/device/pp_power_profile_mode

And see current used profile marked by *

You also can manually set profile, for example

# echo 1 > /sys/class/drm/card1/device/pp_power_profile_mode

set 3D_FULL_SCREEN power profile

x5f3759df avatar Jul 24 '24 09:07 x5f3759df

It seems reasonable, now I have to use it manually, or with my own scripts and daemons.

However, I think it is important that this cannot be enabled by default and a good help is needed for this setting in the configuration file.

stvoidit avatar Sep 01 '24 22:09 stvoidit

power_dpm_force_performance_level is supported, but to my surprise disabled by default which can be super confusing to non-technical users

https://github.com/FeralInteractive/gamemode/blob/c54d6d4243b0dd0afcb49f2c9836d432da171a2b/util/gpuclockctl.c#L358

ninja- avatar Oct 02 '24 10:10 ninja-

changing pp_power_profile_mode need amd_performance_level set to "manual", but this currently not supported

so we need support to change to manual mode and then we can set pp_power_profile_mode

might be actually tricky, because you need to set it back after you stopped gaming

x5f3759df avatar Oct 04 '24 18:10 x5f3759df

FWIW, AMD decided to finally default power profile to "3D_FULL_SCREEN" from Linux 6.13

ninja- avatar Oct 19 '24 20:10 ninja-

FWIW, AMD decided to finally default power profile to "3D_FULL_SCREEN" from Linux 6.13

FYI - this policy is for dGPU only.

superm1 avatar Oct 28 '24 18:10 superm1

Looks like with update from 6.13 kernel this issue is no longer an issue at all.

x5f3759df avatar Oct 29 '24 07:10 x5f3759df

I'd still like such an option, so I can run POWER_SAVING while not gaming...

Nama avatar Feb 18 '25 00:02 Nama