amdgpu: remove manual fan control
This commit is contained in:
parent
22d0342233
commit
1336203f52
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
undervoltGpu = pkgs.writeShellScript "undervolt-gpu" ''
|
||||
set -xe
|
||||
|
@ -17,17 +17,6 @@ in
|
|||
"amdgpu.ppfeaturemask=0xfffd7fff" # enable undervolting
|
||||
];
|
||||
|
||||
systemd.services.amd-fan-control = {
|
||||
script = ''
|
||||
${lib.getExe pkgs.amd-fan-control} /sys/class/drm/card1/device 60 100
|
||||
'';
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
RestartSec = 10;
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
|
||||
hardware.graphics.enable32Bit = true;
|
||||
|
||||
hardware.graphics.extraPackages = with pkgs; [
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
DEVICE="$1" # eg: /sys/class/drm/card1/device
|
||||
HWMON=$(echo "$DEVICE"/hwmon/hwmon*)
|
||||
|
||||
exit() {
|
||||
echo "Setting controll to auto" >&2
|
||||
echo 2 > "$HWMON/pwm1_enable"
|
||||
}
|
||||
|
||||
trap exit EXIT INT
|
||||
|
||||
bail() {
|
||||
echo "Error: $@" >&2
|
||||
echo "Exiting..." >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
if ! [ -d "$HWMON" ]; then
|
||||
bail "Invalid HWMON"
|
||||
fi
|
||||
|
||||
TEMP_INPUT="$HWMON/temp2_input"
|
||||
|
||||
if ! [ -f $TEMP_INPUT ]; then
|
||||
bail "Invalid TEMP_INPUT"
|
||||
fi
|
||||
|
||||
TEMP_MIN="$2"
|
||||
TEMP_MAX="$3"
|
||||
|
||||
if [ -z "$TEMP_MIN" ];then
|
||||
bail "No minimum temperature provided"
|
||||
fi
|
||||
|
||||
if [ -z "$TEMP_MAX" ];then
|
||||
bail "No maximum temperature provided"
|
||||
fi
|
||||
|
||||
PWM_MIN=0
|
||||
PWM_MAX=255
|
||||
|
||||
echo "Running..." >&2
|
||||
while true; do
|
||||
TEMPERATURE_RAW=$(cat "$TEMP_INPUT")
|
||||
TEMPERATURE="$(( $TEMPERATURE_RAW / 1000 ))"
|
||||
# Remap from a number between 60_000..90_000 to 0..255
|
||||
PWM=$(( ($TEMPERATURE - $TEMP_MIN) * $PWM_MAX / ($TEMP_MAX - $TEMP_MIN) ))
|
||||
|
||||
if [ "$PWM" -gt $PWM_MAX ]; then
|
||||
PWM=$PWM_MAX
|
||||
elif [ "$PWM" -lt $PWM_MIN ]; then
|
||||
PWM=$PWM_MIN
|
||||
fi
|
||||
|
||||
echo 1 > "$HWMON/pwm1_enable"
|
||||
echo "$PWM" > "$HWMON/pwm1"
|
||||
sleep .1s
|
||||
done
|
|
@ -23,7 +23,6 @@
|
|||
in
|
||||
with final;
|
||||
createScripts {
|
||||
amd-fan-control = [ bash ];
|
||||
br = [ ];
|
||||
bmenu = [
|
||||
bemenu
|
||||
|
|
Loading…
Reference in a new issue