[metadata] version = "1.0.0" updated = "2026-02-26" description = "Hardware and Conflict Database for ember-tune Thermal Engine" # service collision [[conflicts]] id = "tlp_vs_ppd" services = ["tlp.service", "power-profiles-daemon.service"] contention = "ACPI Platform Profile / EPP" severity = "Critical" fix_action = "MaskBoth" help_text = "TLP and Power-Profiles-Daemon fight over power envelopes. Mask both to allow ember-tune deterministic control." [[conflicts]] id = "thermal_logic_collision" services = ["thermald.service", "throttled.service"] contention = "RAPL / MSR / BD-PROCHOT" severity = "High" fix_action = "SuspendService" help_text = "Thermald and Throttled create a 'register ping-pong' loop. Disable throttled; ember-tune will manage RAPL limits." [[conflicts]] id = "freq_scaling_collision" services = ["auto-cpufreq.service"] contention = "CPU Scaling Governor" severity = "Medium" fix_action = "SuspendService" help_text = "Auto-cpufreq interferes with deterministic Silicon Knee identification." # manufacturer wide logic [ecosystems.dell] vendor_regex = "(Dell.*|Precision.*|Latitude.*|XPS.*)" polling_cap_ms = 1000 drivers = ["dell_smm_hwmon"] fan_manual_mode_cmd = "dell-bios-fan-control 0" fan_auto_mode_cmd = "dell-bios-fan-control 1" safety_register = "0x1FC" # BD PROCHOT MSR [ecosystems.lenovo] vendor_regex = "LENOVO" lap_mode_path = "/sys/devices/platform/thinkpad_acpi/dytc_lapmode" profiles_path = "/sys/firmware/acpi/platform_profile" ec_write_required = false # Varies by model [ecosystems.asus] vendor_regex = "ASUSTeK.*" thermal_policy_path = "/sys/devices/platform/asus-nb-wmi/throttle_thermal_policy" policy_map = { Balanced = 0, Turbo = 1, Silent = 2 } [ecosystems.hp] vendor_regex = "HP" msr_lock_register = "0x610" msr_lock_bit = 63 fan_boost_path = "/sys/devices/platform/hp-wmi/hwmon/hwmon*/pwm1_enable" [ecosystems.framework] vendor_regex = "Framework" ec_tool = "ectool" optimization = "Direct-FFI-SMC" # quirks: model quirks and fixes [[quirks]] model_regex = "XPS 13 93.*" id = "dell_bd_prochot_fix" issue = "False Positive 400MHz Lock" monitor_msr = "0x1FC" reset_bit = 0 action = "ClearBitOnSafeTemp" [[quirks]] model_regex = "ThinkPad T14.*" id = "lenovo_lap_throttling" issue = "11W TDP Lock in Lap Mode" trigger_path = "/sys/devices/platform/thinkpad_acpi/dytc_lapmode" trigger_value = "1" action = "AbortOnLapMode" [[quirks]] model_regex = "ROG Zephyrus G14" id = "asus_fan_hex_support" issue = "Custom Hex Curve Interface" target_path = "/sys/devices/platform/asus-nb-wmi/fan_curve" format = "HexPair16" [[quirks]] model_regex = "Spectre x360" id = "hp_rapl_lockout" issue = "Hardware MSR Lockout" action = "WarnUserMSRLocked" # heuristic discovery [discovery.sensors] temp_labels = ["Package id 0", "Tdie", "Tctl", "CPU Temperature"] fan_labels = ["CPU Fan", "GPU Fan", "System Fan"] hwmon_priority = ["coretemp", "zenpower", "k10temp", "dell_smm"] [discovery.actuators] rapl_paths = ["intel-rapl:0", "package-0"] amd_energy_paths = ["zenpower/energy1_input", "k10temp/energy1_input"] governor_files = ["energy_performance_preference", "energy_performance_hint", "scaling_governor"] # env health verification [[preflight_checks]] name = "MSR Write Access" check_cmd = "grep -q 'msr.allow_writes=on' /proc/cmdline" fail_help = "Add 'msr.allow_writes=on' to kernel parameters to allow power limit manipulation." [[preflight_checks]] name = "Kernel Lockdown Status" check_cmd = "cat /sys/kernel/security/lockdown | grep -q '\\[none\\]'" fail_help = "Kernel Lockdown is enabled. MMIO/MSR actuators are restricted by the Linux Security Module."