diff --git a/lact-daemon/src/server/gpu_controller/mod.rs b/lact-daemon/src/server/gpu_controller/mod.rs index 7bffbcb..c42b649 100644 --- a/lact-daemon/src/server/gpu_controller/mod.rs +++ b/lact-daemon/src/server/gpu_controller/mod.rs @@ -717,18 +717,6 @@ impl GpuController { } } - if let Some(mode_index) = config.power_profile_mode_index { - if config.performance_level != Some(PerformanceLevel::Manual) { - return Err(anyhow!( - "Performance level has to be set to `manual` to use power profile modes" - )); - } - - self.handle - .set_active_power_profile_mode(mode_index) - .context("Failed to set active power profile mode")?; - } - // Reset the clocks table in case the settings get reverted back to not having a clocks value configured self.handle.reset_clocks_table().ok(); @@ -767,6 +755,18 @@ impl GpuController { } // Else is not needed, it was previously reset to auto already + if let Some(mode_index) = config.power_profile_mode_index { + if config.performance_level != Some(PerformanceLevel::Manual) { + return Err(anyhow!( + "Performance level has to be set to `manual` to use power profile modes" + )); + } + + self.handle + .set_active_power_profile_mode(mode_index) + .context("Failed to set active power profile mode")?; + } + for (kind, states) in &config.power_states { if config.performance_level != Some(PerformanceLevel::Manual) { return Err(anyhow!(