From 0eb61861483810c14719f7026fbe129b19996225 Mon Sep 17 00:00:00 2001 From: Max Chesterfield Date: Tue, 9 Dec 2025 01:49:57 +1100 Subject: [PATCH] Set fan back to kernel controlled on exit --- amdgpu_fan/controller.py | 3 +++ amdgpu_fan/lib/amdgpu.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/amdgpu_fan/controller.py b/amdgpu_fan/controller.py index d831880..326db24 100644 --- a/amdgpu_fan/controller.py +++ b/amdgpu_fan/controller.py @@ -32,6 +32,9 @@ def main(self): try: self._main_loop() except KeyboardInterrupt: + for name, card in self._scanner.cards.items(): + logger.debug(f"Setting {name} fan back to kernel controlled.") + card.set_system_controlled_fan(True) logger.info(f'Exiting.') def _main_loop(self): diff --git a/amdgpu_fan/lib/amdgpu.py b/amdgpu_fan/lib/amdgpu.py index d226ad0..fa77b49 100644 --- a/amdgpu_fan/lib/amdgpu.py +++ b/amdgpu_fan/lib/amdgpu.py @@ -70,7 +70,7 @@ def fan_min(self): return int(self.read_endpoint('pwm1_min')) def set_system_controlled_fan(self, state): - self.write_endpoint('pwm1_enable', 0 if state else 1) + self.write_endpoint('pwm1_enable', 2 if state else 1) def set_fan_speed(self, speed): if speed >= 100: