nbfc_service.json(5)
| NBFC-SERVICE.JSON(5) | File Formats Manual | NBFC-SERVICE.JSON(5) |
NAME
nbfc_service.json - Notebook FanControl service configuration
CONFIGURATION
NOTE: Comments can be added in any JSON object by using the Comment field.
ServiceConfig
Main configuration file of nbfc_service (/etc/nbfc/nbfc.json).
SelectedConfigId: String
EmbeddedControllerType: String
- ec_sys: Use the ec_sys kernel module.
- acpi_ec: Use the acpi_ec kernel module.
- dev_port: Access the embedded controller via /dev/port.
- dummy: Do not access the embedded controller at all.
FanTemperatureSources: Array of FanTemperatureSourceConfig
FanTemperatureSourceConfig
Configures which sensors are attached to a fan.
FanIndex: Integer >= 0 && <= 255
TemperatureAlgorithmType: String
Sensors: Array of String
ServiceState
State file of the service (/var/run/nbfc/state.json).
TargetFanSpeeds: Array of Float
ModelConfig
NotebookModel: String
Author: String
LegacyTemperatureThresholdsBehaviour: Boolean
EcPollInterval: Integer > 0
CriticalTemperature: Integer
CriticalTemperatureOffset: Integer > 0
ReadWriteWords: Boolean
FanConfigurations: Array of FanConfiguration
RegisterWriteConfigurations: Array of RegisterWriteConfiguration
FanConfiguration
Defines how NBFC controls a fan.
FanDisplayName: String
ReadRegister: Integer >= 0 && Integer <= 255
WriteRegister: Integer >= 0 && Integer <= 255
ReadAcpiMethod: String
Example:
This option is mutually exclusive to ReadRegister. Only one of them can be set at a time.
WriteAcpiMethod: String
Example:
This option is mutually exclusive to WriteRegister. Only one of them can be set at a time.
MinSpeedValue: Integer
MaxSpeedValue: Integer
MinSpeedValueRead: Integer
MaxSpeedValueRead: Integer
IndependentReadMinMaxValues: Boolean
ResetRequired: Boolean
FanSpeedResetValue: Integer
ResetAcpiMethod: String
This option is mutually exclusive to FanSpeedResetValue. Only one of them can be set at a time.
Sensors: Array of String
Available groups:
- @CPU: Uses all sensors named coretemp, k10temp or zenpower
- @GPU: Uses all sensors named amdgpu, nvidia, nvidia-ml, nouveau or radeon
TemperatureAlgorithmType: String
- Average: Computes the average temperature from all specified sensors (default)
- Min: Selects the lowest temperature among all specified sensors
- Max: Selects the highest temperature among all specified sensors
TemperatureThresholds: Array of TemperatureThreshold
FanSpeedPercentageOverrides: Array of FanSpeedPercentageOverride
RegisterWriteConfiguration
Allows to write to any EC register.
WriteMode: String
- Set: overwrites the register with the specified value (register = value)
- And: performs a binary AND operation (register = register & value)
- Or: performs a binary OR operation (register = register | value)
- Call: calls the ACPI method stored in AcpiMethod or ResetAcpiMethod
WriteOccasion: String
- OnInitialization: writes the value once upon initialization (everytimee the fan control service is enabled or a config is applied)
- OnWriteFanSpeed: writes the value everytimee the fan speed is set.
Register: Integer >= 0 && Integer <= 255
Value: Integer
AcpiMethod: String
This option is mutually exclusive to Value. Only one of them can be set at a time.
ResetRequired: Boolean
ResetValue: Integer
ResetAcpiMethod: String
This option is mutually exclusive to ResetValue. Only one of them can be set at a time.
ResetWriteMode: String
Description: String
FanSpeedPercentageOverride
Overrides the default algorithm to calculate fan speeds.
FanSpeedPercentage: Float >= 0.0 && Float <= 100.0
FanSpeedValue: Integer
TargetOperation: String
- Read: if the value in the EC's ReadRegister is equal to FanSpeedValue, the corresponding percentage will not be calculated, but instead be set to FanSpeedPercentage.
- Write: if the target fan speed percentage is equal to FanSpeedPercentage, the corresponding value will not be calculated, but instead be set to FanSpeedValue.
- ReadWrite: applies to both, read and write operations.
TemperatureThreshold
Defines how fast the fan runs at different temperatures.
UpThreshold: Integer
DownThreshold: Integer
FanSpeed: Float >= 0.0 && Float <= 100.0
FILES
/etc/nbfc/nbfc.json
/var/run/nbfc_service.pid
/var/run/nbfc_service.socket
/usr/share/nbfc/configs/*.json
/usr/share/nbfc/model_support.json
/var/lib/nbfc/configs/*.json
/var/lib/nbfc/model_support.json
/var/lib/nbfc/state.json
AUTHOR
Benjamin Abendroth (braph93@gmx.de)
SEE ALSO
nbfc(1), nbfc_service(1), ec_probe(1), fancontrol(1), sensors(1)
| FEBRUARY 2026 | Notebook FanControl 0.4.0 |
