amdgpu-tweakd icon indicating copy to clipboard operation
amdgpu-tweakd copied to clipboard

UserWarning: The subscribe_signal() method is deprecated.

Open graysky2 opened this issue 3 years ago • 3 comments

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```

graysky2 avatar Jan 09 '22 09:01 graysky2

I'm a bit surprised that somebody is still using this script... I haven't been using it myself for about two years; I should probably add an ample "warning" in the readme. I had a plan to write a proper daemon with a D-Bus interface once but never got time to do it.

Beware that it doesn't take hotspot or memory temperatures (available on Vega and later, if I'm not mistaken) into account for fan control - only edge temp.

I'll look at how to fix the warning, but again, beware that this script is not maintained appropriately now.

amezin avatar Jan 10 '22 11:01 amezin

OK, thanks. Seems to work well as-is.

graysky2 avatar Jan 10 '22 12:01 graysky2

It needs a lot more changes than I expected:

>>> import jeepney.integrate.asyncio
<stdin>:1: UserWarning: jeepney.integrate.asyncio is deprecated: please use jeepney.io.asyncio instead.

Indeed, using a pre-1.0 library without compatibility guarantees was not a good idea

amezin avatar Jan 18 '22 22:01 amezin