An annoying problem that I always had while running FreeBSD on my Dell Inspiron 15 5510 is the high temperature and fan speed. Doesn’t matter if it’s a live medium or post-installation — the average CPU temp is over 60 degrees Celsius.
With FreeBSD 15.0 (released December 2025) and the FreeBSD Foundation’s laptop project, things have improved significantly. Here’s what works.
Checking CPU Temperature
First, load the Intel Core temperature sensor driver:
kldload -v coretemp
Then check the temperature with:
sysctl dev.cpu | grep temperature
To load this automatically at boot, add to /boot/loader.conf:
coretemp_load="YES"
Power Management with powerd
FreeBSD ships with powerd, a daemon that dynamically adjusts CPU frequency based on load. Enable it in /etc/rc.conf:
powerd_enable="YES"
powerd_flags="-a hiadaptive -b adaptive"
This sets the CPU to hiadaptive mode on AC power (favors performance but still scales) and adaptive on battery (favors power saving).
C-States and Power Saving
Enable deeper CPU sleep states by adding to /etc/sysctl.conf:
hw.acpi.cpu.cx_lowest=Cmax
New in FreeBSD 15: Modern Sleep States
FreeBSD 15 brings new power management features from the Foundation’s laptop initiative:
- s2idle (suspend-to-idle) support for modern standby
- New SPMC (System Power Management Controller) driver for s0ix sleep states
- Work-in-progress CPPC (Collaborative Processor Performance Control) for AMD processors — enabling finer-grained performance/efficiency control
Suspend and Resume
For laptops, suspend/resume support can be tested with:
acpiconf -s 3
If it works, you can bind it to your laptop lid by adding to /etc/sysctl.conf:
hw.acpi.lid_switch_state=S3
Results
After applying these changes, my Dell Inspiron dropped from a constant 60+ degrees down to around 40-45 degrees at idle, and the fan became much quieter. The combination of powerd with proper C-state configuration makes a noticeable difference on FreeBSD laptops.
More details: coretemp(4), powerd(8), FreeBSD Wiki: Tuning Power Consumption




