New
- AMD GPU support:
gpu_type=amdenables temperature monitoring viarocm-smi- based on PR #112 by @GCoffland- New
amd_temp_sensor=parameter selects the temperature sensor (0-junction, 1-edge, 2-memory, default=0) - New
rocm_smi_path=parameter specifies the path to therocm-smicommand - GPU type validation added to dependency checker in service startup
- New AMD GPU docker image (
petersulyok/smfc:5.4.0-amd/latest-amd) added - Unit test and smoke tests updated
- New
- Man page and documentation (README.md) updated
- Dynamic temperature generation in Smoke tests for all fan controllers
- Extended DEBUG level logging across the codebase for better internal state monitoring:
- Fan controller: temperature smoothing details (raw vs smoothed, window fill), sensitivity check results, calculated fan level, level-unchanged confirmation, polling skipped with remaining time
- Per-device temperatures logged in multi-device setups (min/avg/max aggregation)
- IPMI: raw
ipmitoolcommand execution and response tracing, fan mode and fan level changes - Shared IPMI zone arbitration: desired levels logged on change, zone ownership map at startup
- HD fan controller: smartctl fallback path, standby guard state
- CONST fan controller: current vs expected fan level per zone
- Command line help text added to
/etc/default/smfcconfiguration file - Feature list added to README.md "How does it work?" section
Changed
- Docker: many files refactored from
-gputo-nvidiaand-amdnaming - Docker:
docker-build.shanddocker-push.shupdated to build and push all three image variants in a single call - Installation script (
install.sh) now preserves/etc/default/smfcwhen--keep-configis set and the file already exists - Shared IPMI zone arbitration log ("Arbitration desired levels") now only fires when desired levels change, reducing log noise in steady state
- Improved docstrings with better test descriptions
- Pylint warnings corrected