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

MangoHud always displays Throttling Power #748

Closed
fuzunspm opened this issue May 6, 2022 · 26 comments
Closed

MangoHud always displays Throttling Power #748

fuzunspm opened this issue May 6, 2022 · 26 comments

Comments

@fuzunspm
Copy link

fuzunspm commented May 6, 2022

Even with very very low load it always displays Throttling Power

Below screenshot was taken from a main menu with fps limit set to 60. it should not display the throttling power text here. It also displays Temp text from time to time for half a second but my gpu temps never exceeds 58 C degree

image

@flightlessmango
Copy link
Owner

Is it nvidia or amd?

@fuzunspm
Copy link
Author

fuzunspm commented May 7, 2022

Both are amd
R5 2600
6700XT

@flightlessmango
Copy link
Owner

Throttling is only for GPU currently. How are you verifying that you're not actually power throttled?

@fuzunspm
Copy link
Author

fuzunspm commented May 7, 2022

Total power draw is almost half of what I got. Other than that I don’t understand how main menu or even limited glxgears could cause power throttling. I don’t have performance problems in games either

@flightlessmango
Copy link
Owner

A power throttling case is lowering the power to save on power in low use scenarios

@rowbawts
Copy link

rowbawts commented May 9, 2022

A power throttling case is lowering the power to save on power in low use scenarios

I also have a 6700XT and see the same thing, so is this normal behavior?

@flightlessmango
Copy link
Owner

I can't say it's not normal behavior, but I am fairly sure that there isn't a bug in mangohud. I'm leaning towards it being normal or there is a bug in the amdgpu kernel driver

@rowbawts
Copy link

rowbawts commented May 9, 2022

I can't say it's not normal behavior, but I am fairly sure that there isn't a bug in mangohud. I'm leaning towards it being normal or there is a bug in the amdgpu kernel driver

Yeah I'm not sure either as I've only ever used this card in this OS so since I have nothing to compare against I wouldn't know if it's impeding my performance but as everything I run works great it's fine just a curious thing I noticed.

@nyan1337
Copy link

Same problem with a RX 6700 XT
Both throttling power & temp showing even in menu screens

@Daniel-Salvado
Copy link

Daniel-Salvado commented Oct 14, 2022

Same problem with a RX 6700 XT Both throttling power & temp showing even in menu screens

Exactly the same here with an RX 6750 XT. Fedora 36 Kernel 5.19.15.

@MCPO-Spartan-117
Copy link

MCPO-Spartan-117 commented Jan 2, 2023

Kernel 5.12.19 showed it like expected, kernel 6.1.2 always shows it.

@Dim-P
Copy link

Dim-P commented Jan 15, 2023

Same here, RX 6600 on Nobara (kernel 6.0.14).

@flightlessmango
Copy link
Owner

I have no reason to believe this is an issue with mangohud and rather an amdgpu issue.
It would be great if someone could make an issue over there https://gitlab.freedesktop.org/drm/amd/-/issues

@youmukonpaku1337
Copy link

happens on an rtx 3050ti laptop too

@awsms
Copy link

awsms commented Mar 25, 2023

happens on an rtx 3050ti laptop too

same with rtx3060 laptop

@mrphs7019
Copy link

same with rtx3060 laptop

@Umio-Yasuno
Copy link

I have created an issue in drm/amd for this issue.

https://gitlab.freedesktop.org/drm/amd/-/issues/2720

@Umio-Yasuno
Copy link

Umio-Yasuno commented Jul 27, 2023

AMDGPU patch for Navi22/Navi23/Navi24.
But I tested only on Navi23.

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
index 85d53597e..548d25cf3 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
@@ -578,7 +578,9 @@ static int sienna_cichlid_tables_init(struct smu_context *smu)
 	return -ENOMEM;
 }
 
-static uint32_t sienna_cichlid_get_throttler_status_locked(struct smu_context *smu)
+static uint32_t sienna_cichlid_get_throttler_status_locked(struct smu_context *smu,
+							   bool use_metrics_v3,
+							   bool use_metrics_v2)
 {
 	struct smu_table_context *smu_table= &smu->smu_table;
 	SmuMetricsExternal_t *metrics_ext =
@@ -586,13 +588,11 @@ static uint32_t sienna_cichlid_get_throttler_status_locked(struct smu_context *s
 	uint32_t throttler_status = 0;
 	int i;
 
-	if ((smu->adev->ip_versions[MP1_HWIP][0] == IP_VERSION(11, 0, 7)) &&
-	     (smu->smc_fw_version >= 0x3A4900)) {
+	if (use_metrics_v3) {
 		for (i = 0; i < THROTTLER_COUNT; i++)
 			throttler_status |=
 				(metrics_ext->SmuMetrics_V3.ThrottlingPercentage[i] ? 1U << i : 0);
-	} else if ((smu->adev->ip_versions[MP1_HWIP][0] == IP_VERSION(11, 0, 7)) &&
-	     (smu->smc_fw_version >= 0x3A4300)) {
+	} else if (use_metrics_v2) {
 		for (i = 0; i < THROTTLER_COUNT; i++)
 			throttler_status |=
 				(metrics_ext->SmuMetrics_V2.ThrottlingPercentage[i] ? 1U << i : 0);
@@ -854,7 +854,7 @@ static int sienna_cichlid_get_smu_metrics_data(struct smu_context *smu,
 			metrics->TemperatureVrSoc) * SMU_TEMPERATURE_UNITS_PER_CENTIGRADES;
 		break;
 	case METRICS_THROTTLER_STATUS:
-		*value = sienna_cichlid_get_throttler_status_locked(smu);
+		*value = sienna_cichlid_get_throttler_status_locked(smu, use_metrics_v3, use_metrics_v2);
 		break;
 	case METRICS_CURR_FANSPEED:
 		*value = use_metrics_v3 ? metrics_v3->CurrFanSpeed :
@@ -4056,7 +4056,7 @@ static ssize_t sienna_cichlid_get_gpu_metrics(struct smu_context *smu,
 	gpu_metrics->current_dclk1 = use_metrics_v3 ? metrics_v3->CurrClock[PPCLK_DCLK_1] :
 		use_metrics_v2 ? metrics_v2->CurrClock[PPCLK_DCLK_1] : metrics->CurrClock[PPCLK_DCLK_1];
 
-	gpu_metrics->throttle_status = sienna_cichlid_get_throttler_status_locked(smu);
+	gpu_metrics->throttle_status = sienna_cichlid_get_throttler_status_locked(smu, use_metrics_v3, use_metrics_v2);
 	gpu_metrics->indep_throttle_status =
 			smu_cmn_get_indep_throttler_status(gpu_metrics->throttle_status,
 							   sienna_cichlid_throttler_map);

@Umio-Yasuno
Copy link

The AMDGPU patch has been merged into Linux Kernel v6.1.47 and v6.4.12 .

@czak
Copy link
Contributor

czak commented Aug 25, 2023

Thank you @Umio-Yasuno 🎉 I can confirm throttling indicators disappeared on 6.1.47 for me (6600XT).

image

@awsms
Copy link

awsms commented Sep 20, 2023

@mrphs7019 @youmukonpaku1337 i assume you guys are still experiencing too?

@youmukonpaku1337
Copy link

yeep i am

@awsms
Copy link

awsms commented Sep 20, 2023

I'm nowhere near as good as yasuno when it comes to programming, so I'd have no idea what to patch in the nvidia-drm module. if someone experienced with NVIDIA's stuff wants to have a look at it....

@mrphs7019
Copy link

@awsms idk i deleted mangohud

@awsms
Copy link

awsms commented Oct 13, 2023

@mrphs7019 @youmukonpaku1337 the reason was... my vBIOS is throttled to 80W on Linux. i flashed a vBIOS from another manufacturer and the issue is gone. I highly suspect that's the case for u too, hence the @
https://old.reddit.com/r/overclocking/comments/zkrofg/a_guide_to_overclocking_the_lenovo_legion_5_on/

@youmukonpaku1337
Copy link

nope. my vbios is 130w, highest for this card

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests