diff --git a/Cargo.lock b/Cargo.lock index 42ce3e1c..623b8dae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1585,7 +1585,7 @@ dependencies = [ [[package]] name = "lact" -version = "0.5.4" +version = "0.5.5" dependencies = [ "anyhow", "lact-cli", @@ -1596,7 +1596,7 @@ dependencies = [ [[package]] name = "lact-cli" -version = "0.5.4" +version = "0.5.5" dependencies = [ "anyhow", "lact-client", @@ -1605,7 +1605,7 @@ dependencies = [ [[package]] name = "lact-client" -version = "0.5.4" +version = "0.5.5" dependencies = [ "amdgpu-sysfs", "anyhow", @@ -1618,7 +1618,7 @@ dependencies = [ [[package]] name = "lact-daemon" -version = "0.5.4" +version = "0.5.5" dependencies = [ "amdgpu-sysfs", "anyhow", @@ -1646,7 +1646,7 @@ dependencies = [ [[package]] name = "lact-gui" -version = "0.5.4" +version = "0.5.5" dependencies = [ "amdgpu-sysfs", "anyhow", @@ -1668,7 +1668,7 @@ dependencies = [ [[package]] name = "lact-schema" -version = "0.5.4" +version = "0.5.5" dependencies = [ "amdgpu-sysfs", "anyhow", diff --git a/lact-cli/Cargo.toml b/lact-cli/Cargo.toml index 2a0e7eff..3d4943eb 100644 --- a/lact-cli/Cargo.toml +++ b/lact-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lact-cli" -version = "0.5.4" +version = "0.5.5" edition = "2021" [dependencies] diff --git a/lact-client/Cargo.toml b/lact-client/Cargo.toml index 3bee8c91..a1a92222 100644 --- a/lact-client/Cargo.toml +++ b/lact-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lact-client" -version = "0.5.4" +version = "0.5.5" edition = "2021" [dependencies] diff --git a/lact-daemon/Cargo.toml b/lact-daemon/Cargo.toml index 9692f4aa..c2c8ff51 100644 --- a/lact-daemon/Cargo.toml +++ b/lact-daemon/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lact-daemon" -version = "0.5.4" +version = "0.5.5" edition = "2021" [features] diff --git a/lact-daemon/src/server/gpu_controller/mod.rs b/lact-daemon/src/server/gpu_controller/mod.rs index c42b649c..cbaab0c1 100644 --- a/lact-daemon/src/server/gpu_controller/mod.rs +++ b/lact-daemon/src/server/gpu_controller/mod.rs @@ -35,7 +35,7 @@ use tokio::{ task::JoinHandle, time::{sleep, timeout}, }; -use tracing::{debug, error, trace, warn}; +use tracing::{debug, error, info, trace, warn}; #[cfg(feature = "libdrm_amdgpu_sys")] use { lact_schema::DrmMemoryInfo, @@ -470,6 +470,9 @@ impl GpuController { let mut last_pwm = (None, Instant::now()); let mut last_temp = 0.0; + // If the fan speed could was able to be set at least once + let mut control_available = false; + let temp_key = settings.temperature_key.clone(); let interval = Duration::from_millis(settings.interval_ms); let spindown_delay = Duration::from_millis(settings.spindown_delay_ms.unwrap_or(0)); @@ -513,9 +516,17 @@ impl GpuController { trace!("fan control tick: setting pwm to {target_pwm}"); - if let Err(err) = hw_mon.set_fan_pwm(target_pwm) { - error!("could not set fan speed: {err}, disabling fan control"); - break; + match hw_mon.set_fan_pwm(target_pwm) { + Ok(()) => control_available = true, + Err(err) => { + error!("could not set fan speed: {err}"); + if control_available { + info!("fan control was previously available, assuming the error is temporary"); + } else { + info!("disabling fan control"); + break; + } + } } } debug!("exited fan control task"); diff --git a/lact-gui/Cargo.toml b/lact-gui/Cargo.toml index dfa95632..494437bc 100644 --- a/lact-gui/Cargo.toml +++ b/lact-gui/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lact-gui" -version = "0.5.4" +version = "0.5.5" authors = ["Ilya Zlobintsev "] edition = "2021" diff --git a/lact-schema/Cargo.toml b/lact-schema/Cargo.toml index 90b00092..b54c0854 100644 --- a/lact-schema/Cargo.toml +++ b/lact-schema/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lact-schema" -version = "0.5.4" +version = "0.5.5" edition = "2021" [features] diff --git a/lact/Cargo.toml b/lact/Cargo.toml index 1f5606e0..d23543e3 100644 --- a/lact/Cargo.toml +++ b/lact/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lact" -version = "0.5.4" +version = "0.5.5" edition = "2021" [features] diff --git a/pkg/recipes/lact-headless/recipe.yml b/pkg/recipes/lact-headless/recipe.yml index 31d8c83f..30fc47e4 100644 --- a/pkg/recipes/lact-headless/recipe.yml +++ b/pkg/recipes/lact-headless/recipe.yml @@ -3,7 +3,7 @@ metadata: description: AMDGPU control utility arch: x86_64 license: MIT - version: 0.5.4 + version: 0.5.5 maintainer: ilya-zlobintsev url: https://github.com/ilya-zlobintsev/lact source: diff --git a/pkg/recipes/lact-libadwaita/recipe.yml b/pkg/recipes/lact-libadwaita/recipe.yml index 8d77593e..10865286 100644 --- a/pkg/recipes/lact-libadwaita/recipe.yml +++ b/pkg/recipes/lact-libadwaita/recipe.yml @@ -3,7 +3,7 @@ metadata: description: AMDGPU control utility arch: x86_64 license: MIT - version: 0.5.4 + version: 0.5.5 maintainer: ilya-zlobintsev url: https://github.com/ilya-zlobintsev/lact source: diff --git a/pkg/recipes/lact/recipe.yml b/pkg/recipes/lact/recipe.yml index 9caf4fe2..be872bfa 100644 --- a/pkg/recipes/lact/recipe.yml +++ b/pkg/recipes/lact/recipe.yml @@ -3,7 +3,7 @@ metadata: description: AMDGPU control utility arch: x86_64 license: MIT - version: 0.5.4 + version: 0.5.5 maintainer: ilya-zlobintsev url: https://github.com/ilya-zlobintsev/lact source: