You are not logged in.
Hello,
I have an issue with my RX7900XTX. Whenever I start a game (WoW, Assassins Creed, Minecraft) I get very unstable and low FPS. This issue arose someday, but I don't know, if I might by accident have installed some package, which could cause such an issue.
After I fiddled around a bit, I figured out, that when I run CoreCtrl, but leave everything to automatic, everything magically has normal performance again and the FPS are stable.
I checked the power profile of the card before and after running CoreCtrl but none of those values change, they all stay the same, but still the GPU gets its full power back.
I also tried using lact, but that doesnt give the same effect that CoreCtrl does.
Does anyone have an idea?
cat /sys/class/drm/card1/device/pp_power_profile_mode
PROFILE_INDEX(NAME) CLOCK_TYPE(NAME) FPS MinActiveFreqType MinActiveFreq BoosterFreqType BoosterFreq PD_Data_limit_c PD_Data_error_coeff PD_Data_error_rate_coeff
0 BOOTUP_DEFAULT :
0( GFXCLK) 0 1 0 4 800 4587520 -65536 0
1( FCLK) 0 3 0 1 0 3276800 -65536 -6553
1 3D_FULL_SCREEN*:
0( GFXCLK) 0 0 1200 4 650 5242880 -3276 -65536
1( FCLK) 0 3 0 3 0 1310720 -6553 -6553
2 POWER_SAVING :
0( GFXCLK) 0 1 0 3 0 5898240 -65536 0
1( FCLK) 0 1 0 1 0 3407872 -65536 -6553
3 VIDEO :
0( GFXCLK) 0 1 0 4 500 4587520 -65536 0
1( FCLK) 0 3 0 3 0 3473408 -65536 -6553
4 VR :
0( GFXCLK) 0 2 1000 1 0 3276800 0 0
1( FCLK) 0 3 0 3 0 1310720 -6553 -6553
5 COMPUTE :
0( GFXCLK) 0 2 1000 1 0 3932160 0 0
1( FCLK) 0 3 0 3 0 1310720 -6553 -6553
6 CUSTOM :
0( GFXCLK) 0 0 1200 4 0 655360 -3276 -65536
1( FCLK) 0 3 0 3 0 1310720 -6553 -6553
7 WINDOW_3D :
0( GFXCLK) 0 0 1200 4 650 5242880 -3276 -65536
1( FCLK) 0 3 0 3 0 1310720 -6553 -6553
cat /sys/class/drm/card1/device/power_dpm_force_performance_level
auto
cat /sys/class/drm/card1/device/power_dpm_state
performance
cat /sys/class/drm/card1/device/power_state
D0
uname -r
6.12.7-arch1-1
EDIT:
I just found the issue.
In my Plasma power management settings, I had "Switch power profile to" set to "Power save". After I changed that to "Balanced" everything was fine again. To me this seemed like this setting would only kick in, if I am inactive.
Last edited by insanex3 (2025-01-12 16:00:11)
Offline
Seems like you have a hybrid graphics system where games predominately use iGPU while dGPU is being powered down/disabled. Running CoreCtrl reactivates your dGPU.
Some links that might be relevant:
https://wiki.archlinux.org/title/PRIME# … rs_-_PRIME
https://wiki.archlinux.org/title/AMDGPU#Troubleshooting paragraphs 6.10; 6.12
Offline
Thanks for your answer.
It's a desktop PC with a 13600K. I dont (atleast not intended) use the iGPU of the CPU.
Also, when I am having the low power issue, I see that the GPU is indeed doing something, so I think it is not running on the iGPU.
Also, in WoW when I open the graphics card dropdown, it shows my RX7900XTX but it says in parentheses (Low Power).
Edit: I also have been using the kernel parameter amd.runpm=0, when the issue started appearing and removed it later on in hopes to fixing this.
Last edited by insanex3 (2025-01-12 14:11:29)
Offline
I'm not sure about a possible driver regression of amdgpu in the kernel but without any explicit action amd cards should come up in full automatic self control for power management and fancontrol
do you run any service that interact with the system during boot like some rgb or liquid cooling control?
as for wow: the cpu should be powerful enough to render that in software mode without any gpu at all - pretty much as with doom, half-life or crysis one can run wow on pretty much any potato so if for some reason the igpu would be used it should get you better performance than your 7900 in standby
Last edited by cryptearth (2025-01-12 14:36:40)
Offline
Thanks for your reply. I just checked my systemd startup processes:
UNIT FILE STATE PRESET
avahi-daemon.service enabled disabled
bluetooth.service enabled disabled
fancontrol.service enabled disabled
getty@.service enabled enabled
lactd.service enabled disabled
lm_sensors.service enabled disabled
mullvad-daemon.service enabled disabled
mullvad-early-boot-blocking.service enabled disabled
NetworkManager-dispatcher.service enabled disabled
NetworkManager-wait-online.service enabled disabled
NetworkManager.service enabled disabled
sddm.service enabled disabled
systemd-timesyncd.service enabled enabled
vmware-networks.service enabled disabled
vmware-usbarbitrator.service enabled disabled
avahi-daemon.socket enabled disabled
systemd-userdbd.socket enabled enabled
remote-fs.target enabled enabled
18 unit files listed.
systemctl list-unit-files --user --state=enabled
UNIT FILE STATE PRESET
go-hass-agent.service enabled enabled
openrazer-daemon.service enabled enabled
pipewire-pulse.service enabled enabled
wireplumber.service enabled enabled
xdg-user-dirs-update.service enabled enabled
p11-kit-server.socket enabled enabled
pipewire-pulse.socket enabled enabled
pipewire.socket enabled enabled
8 unit files listed.
Only thing here sticking out to me, is the "fancontrol.service", but I know, that this was installed, after I already had that issue for a while. Anything else that may stick out to you?
I agree with you. It renders fine and I am getting 100-200FPS, but the fps will drop to 40-50 every 3-5 seconds, which makes it very unusable. After CoreCtrl is launched, i have 300-400 FPS and no drops anymore.
Btw, nowadays, the retail WoW needs at least some juice to run properly, you wont be able to play it properly otherwise. My laptop with a mobile RTX3060 struggles pretty hard with the current WoW. Especially in zones where lots of characters are.
Offline
...I see that the GPU is indeed doing something...
What app do you use to see that? Does it show power consumption of your GPU?
The easiest way to establish that your dGPU is not being utilized properly is to turn off Intel iGPU in UEFI and check FPS after that.
Did you try DRI_PRIME=1?
Offline
insanex3 wrote:...I see that the GPU is indeed doing something...
What app do you use to see that? Does it show power consumption of your GPU?
The easiest way to establish that your dGPU is not being utilized properly is to turn off Intel iGPU in UEFI and check FPS after that.
Did you try DRI_PRIME=1?
I use "Mission Center" to monitor the GPU. I see utilization and power usage going up.
Okay, thanks. I will try turning it off in UEFI, if it isn't already.
lspci | grep VGA
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900 GRE/7900M] (rev c8)
Nope, didn't try that yet. I ran
glxinfo | grep "OpenGL renderer"
OpenGL renderer string: AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 18.1.8, DRM 3.59, 6.12.7-arch1-1)
and thought, if that already runs on the correct GPU, i don't need that anyways.
Pls correct me if I'm wrong.
EDIT: I just checked my BIOS, the iGPU already has been disabled.
Last edited by insanex3 (2025-01-12 15:01:59)
Offline
You have lactd.service running which might have been used to set power cap for your GPU
Try monitoring power output in nvtop instead of Mission Center. It shows current power/max power in W
Last edited by Xephon (2025-01-12 15:04:51)
Offline
Thanks for the reply. I can try disabling "lact" again. Although I just installed lact today, while I was testing this stuff. I have this issue for a few months now.
I think you mean "amdgpu_top", since nvtop is only for Nvidia GPUs, right?
Offline
nvtop stands for neat videocard top, it has nothing to do with Nvidia
Offline
Oh sorry, my bad
Here i played the game without CoreCtrl running. The power draw never exceeded 95W.
Here i played the game with CoreCtrl running (i started it when the graphs spiked up). Here the power draw goes up to 300W
I also noticed, the performance continues to stay good, even after i quit CoreCtrl, so I must be setting something, which causes the card to perform normally.
Offline
I just found the issue.
In my Plasma power management settings, I had "Switch power profile to" set to "Power save". After I changed that to "Balanced" everything was fine again. To me this seemed like this setting would only kick in, if I am inactive.
Last edited by insanex3 (2025-01-12 15:58:17)
Offline
I might be wrong - but this setting seem to be related for mobile devices and is usually split between "on ac" and "on battery" - so my possible wrong guess is: the context is missing that this setting is meant for switching between powerprofiles when plugging in a laptop to automatically go from power saving to full blast - and vice-versa throttle back when AC is lost/unplugged
about the "when inactive" - hm, not sure - but it seems it doesn't do what one would assume it does
fun fact: when I try to open power management I just get a "service not running" error screen
Offline