ShadowBlip / PowerStation

Open source TDP control and performance daemon with DBus interface
GNU General Public License v3.0
28 stars 3 forks source link

Use database and/or sysfs to determine min/max TDP settings #13

Open pastaq opened 2 months ago

pastaq commented 2 months ago

Currently min/max TDP settings are determined by the client software and must be re-implemented each time a device wants to use it. This adds complexity to client software as they need to handle this logic and leads to inconsistent behavior. In some cases it is possible to probe the hardware for min/max values. asus-wmi provides min/max settings for each TDP setting. AMDGPU provides power[1-2]_cap_[min|max] for STAPM and FPPT on dGPU and Van Gogh APU's. Other platforms may provide STAPM/SPPT/FPPT values in sysfs. We can also have a database to fall back on for systems without an established kernel implementation of min/max. Similarly to OpenGamepadUI there should be a DMI based database as a first look and an APU database as a fallback if not DMI entries exist as some devices cannot push the design TDP through their cooling solutions (AYANEO AIR Pro for example)