Giter Site home page Giter Site logo

amdgpu-tweakd's Introduction

UNMAINTAINED

I'm not using this script myself and not sure if it still works. Fan control takes only one sensor into account - this might be bad, or, at least, not optimal.

amdgpu-tweakd

Fan speed control & settings daemon for amdgpu on Linux. Uses hwmon interface.

Currently implemented:

  • Software fan speed control based on GPU temperature
  • Automatically turning the fan off
  • Multi-GPU and multi-profile support. Profiles can be selected by PCI ids or vbios version (see config.example)
  • A script that semi-automatically enables overclocking (requires a reboot though)
  • Power limit setting
  • All changes are automatically rolled back when the daemon stops
  • All settings are automatically reapplied when the system resumes from sleep/hibernation

Installation:

  • Arch Linux: PKGBUILD is provided in archlinux folder
  • Other Linux: TODO. But it's mostly a regular Python application, installable using setup.py

Configuration:

  • Provided systemd unit (amdgpu-tweakd.service) expects configuration in /etc/amdgpu-tweakd. See config.example
  • # systemctl restart amdgpu-tweakd to apply the configuration
  • If you want to adjust the power limit, you may need to unlock overdrive first. Run # amdgpu-unlock-overdrive to do it.

amdgpu-tweakd's People

Contributors

amezin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

amdgpu-tweakd's Issues

Vega 64 mV and clocks at stages

Hi,

is it possible to undervolt via amdgpu-teaked? cant find that option. I would really like to make it possible to play with stage volting and speed, maybe it's even possible to change mems?

good job.

fan running at idle desktop

I am wondering why my fan is running at 1232 RPM in a idle desktop:

Okt 02 20:20:26 manjaro systemd[1]: Started AMDGPU settings daemon.
Okt 02 20:20:27 manjaro amdgpu-tweakd[822]: INFO: Configs: [DeviceConfig(name='DEFAULT', device=None, vbios_version=None, pci_id=None, pci_slot_name=None, pci_subsys_id=None, fan_control=Fal>
Okt 02 20:20:27 manjaro amdgpu-tweakd[822]: INFO: Waiting for wake event
Okt 02 20:20:27 manjaro amdgpu-tweakd[822]: INFO: Starting update loop
Okt 02 20:20:27 manjaro amdgpu-tweakd[822]: INFO: Identification data for Device('/sys/devices/pci0000:00/0000:00:03.1/0000:0b:00.0/0000:0c:00.0/0000:0d:00.0'): {'pci_id': '1002:687F', 'pci_>
Okt 02 20:20:27 manjaro amdgpu-tweakd[822]: INFO: Matched config 'Sapphire Vega 56' to Device('/sys/devices/pci0000:00/0000:00:03.1/0000:0b:00.0/0000:0c:00.0/0000:0d:00.0') (score 2)
Okt 02 20:20:27 manjaro amdgpu-tweakd[822]: INFO: Created device: {'sysfs_path': PosixPath('/sys/devices/pci0000:00/0000:00:03.1/0000:0b:00.0/0000:0c:00.0/0000:0d:00.0/hwmon/hwmon2'), 'pwm_p>
Okt 02 20:20:27 manjaro amdgpu-tweakd[822]: INFO: Writing b'360000000' to /sys/devices/pci0000:00/0000:00:03.1/0000:0b:00.0/0000:0c:00.0/0000:0d:00.0/hwmon/hwmon2/power1_cap
Okt 02 20:20:27 manjaro amdgpu-tweakd[822]: ERROR: Can't write b'360000000' to /sys/devices/pci0000:00/0000:00:03.1/0000:0b:00.0/0000:0c:00.0/0000:0d:00.0/hwmon/hwmon2/power1_cap: [Errno 22]>
Okt 02 20:20:27 manjaro amdgpu-tweakd[822]: WARNING: Overdrive is currently disabled. Run 'amdgpu-unlock-overdrive' to enable it
Okt 02 20:20:28 manjaro amdgpu-tweakd[822]: INFO: Enabled fan speed control for /sys/devices/pci0000:00/0000:00:03.1/0000:0b:00.0/0000:0c:00.0/0000:0d:00.0/hwmon/hwmon2
sensors                                                                                                                                                       [127]
amdgpu-pci-0d00
Adapter: PCI adapter
vddgfx:       +0.77 V  
fan1:        1232 RPM
temp1:        +38.0°C  (crit = +91.0°C, hyst = -273.1°C)
power1:        6.00 W  (cap = 180.00 W)

asuswmisensors-isa-0000
Adapter: ISA adapter
CPU Core Voltage:         +0.41 V  
CPU SOC Voltage:          +1.11 V  
DRAM Voltage:             +1.37 V  
VDDP Voltage:             +1.07 V  
1.8V PLL Voltage:         +1.85 V  
+12V Voltage:            +12.03 V  
+5V Voltage:              +5.01 V  
3VSB Voltage:             +3.31 V  
VBAT Voltage:             +3.10 V  
AVCC3 Voltage:            +3.33 V  
SB 1.05V Voltage:         +1.04 V  
CPU Fan:                  341 RPM
Chassis Fan 1:            347 RPM
Chassis Fan 2:            446 RPM
Chassis Fan 3:              0 RPM
AIO Pump:                   0 RPM
Water Pump:                 0 RPM
CPU OPT:                  500 RPM
Water Flow:                 0 RPM
CPU Temperature:          +36.0°C  
CPU Socket Temperature:   +32.0°C  
Motherboard Temperature:  +28.0°C  
Chipset Temperature:      +51.0°C  
Tsensor 1 Temperature:   +216.0°C  
CPU VRM Temperature:      +33.0°C  
Water In:                +216.0°C  
Water Out:               +216.0°C  
CPU VRM Output Current:   +0.00 A  

asus-isa-0000
Adapter: ISA adapter
cpu_fan:        0 RPM

Is this because of the missing overdrive setting?

UserWarning: The subscribe_signal() method is deprecated.

I am seeing a warning in the output indicating that subscribe_signal() is deprecated, use the filter() API instead. I do not know how to code in python or I would attempt to do this.

● amdgpu-tweakd.service - AMDGPU settings daemon
     Loaded: loaded (/usr/lib/systemd/system/amdgpu-tweakd.service; enabled; vendor preset: disabled)
     Active: active (running) since Sun 2022-01-09 04:07:36 EST; 2min 4s ago
   Main PID: 25944 (amdgpu-tweakd)
      Tasks: 1 (limit: 77045)
     Memory: 13.1M
        CPU: 175ms
     CGroup: /system.slice/amdgpu-tweakd.service
             └─25944 /usr/bin/python /usr/bin/amdgpu-tweakd /etc/amdgpu-tweakd

Jan 09 04:07:36 quadruple amdgpu-tweakd[25944]:   import jeepney.integrate.asyncio
Jan 09 04:07:36 quadruple amdgpu-tweakd[25944]: INFO: Configs: [DeviceConfig(name='DEFAULT', device=None, vbios_version=None, pci_id=None, pci_slot_name=None, pci_subsys_id=None, fan_control=False, fan_pwm_min=None, fan_pwm_max=None, temp_min=40.0, temp_max=None, fan_curve_pow=2.0, fan_semi_passive=False, fan_semi_passive_hyst=5.0, power_cap=None), DeviceConfig(name='RX 560D', device=None, vbios_version=None, pci_id='1002:67EF', pci_slot_name=None, pci_subsys_id=None, fan_control=True, fan_pwm_min=50.0, fan_pwm_max=None, temp_min=45.0, temp_max=None, fan_curve_pow=3.0, fan_semi_passive=True, fan_semi_passive_hyst=5.0, power_cap=None)]
Jan 09 04:07:36 quadruple amdgpu-tweakd[25944]: /usr/lib/python3.10/site-packages/amdgpu_tweakd/daemon.py:288: UserWarning: The subscribe_signal() method is deprecated. Please use the filter() API instead.
Jan 09 04:07:36 quadruple amdgpu-tweakd[25944]:   dbus_proto.router.subscribe_signal(
Jan 09 04:07:36 quadruple amdgpu-tweakd[25944]: INFO: Waiting for wake event
Jan 09 04:07:36 quadruple amdgpu-tweakd[25944]: INFO: Starting update loop
Jan 09 04:07:36 quadruple amdgpu-tweakd[25944]: INFO: Identification data for Device('/sys/devices/pci0000:00/0000:00:03.1/0000:2b:00.0'): {'pci_id': '1002:67EF', 'pci_slot_name': '0000:2b:00.0', 'pci_subsys_id': '1002:0B04', 'device': b'0x67ef', 'vbios_version': b'xxx-xxx-xxx'}
Jan 09 04:07:36 quadruple amdgpu-tweakd[25944]: INFO: Matched config 'RX 560D' to Device('/sys/devices/pci0000:00/0000:00:03.1/0000:2b:00.0') (score 1)
Jan 09 04:07:36 quadruple amdgpu-tweakd[25944]: INFO: Created device: {'sysfs_path': PosixPath('/sys/devices/pci0000:00/0000:00:03.1/0000:2b:00.0/hwmon/hwmon2'), 'pwm_path': PosixPath('/sys/devices/pci0000:00/0000:00:03.1/0000:2b:00.0/hwmon/hwmon2/pwm1'), 'pwm_enable_path': PosixPath('/sys/devices/pci0000:00/0000:00:03.1/0000:2b:00.0/hwmon/hwmon2/pwm1_enable'), 'temp_path': PosixPath('/sys/devices/pci0000:00/0000:00:03.1/0000:2b:00.0/hwmon/hwmon2/temp1_input'), 'pwm_min': 50.0, 'pwm_max': 255.0, 'temp_max': 89.0, 'temp_min': 45.0, 'semi_passive': True, 'semi_passive_hyst': 5.0, 'curve_pow': 3.0, 'pwm_delta': 205.0, 'temp_delta': 44.0, 'turned_off': False, 'prev_pwm_enable': None}
Jan 09 04:07:37 quadruple amdgpu-tweakd[25944]: INFO: Enabled fan speed control for /sys/devices/pci0000:00/0000:00:03.1/0000:2b:00.0/hwmon/hwmon2```

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.