2024-12-31 07:42:46 -05:00
{
config ,
lib ,
pkgs ,
. . .
} :
{
imports = [ ] ;
environment . systemPackages = with pkgs ; [
powertop
] ;
2024-12-31 10:27:06 -05:00
# amdgpu.abmlevel=3 :: Automatically reduce screen brightness but tweak colors to compensate for power reduction.
# pcie_aspm=force pcie_aspm.policy=powersupersave :: Enable PCIe active state power management for power reduction.
# nowatchdog :: Disable watchdog for power savings (related to disable_sp5100_watchdog above).
# amd_pstate=passive :: Fully automated hardware pstate control.
# amd_pstate=active :: Same as passive except we can set the energy performance preference (EPP) to suggest how much we prefer performance or energy efficiency.
# amd_pstate=guided :: Same as passive except we can set upper and lower frequency bounds.
# amdgpu.dcdebugmask=0x10 :: Allegedly disables Panel Replay from https://community.frame.work/t/tracking-freezing-arch-linux-amd/39495/32
boot . kernelParams = [
" a m d g p u . a b m l e v e l = 3 "
" p c i e _ a s p m = f o r c e "
" p c i e _ a s p m . p o l i c y = p o w e r s u p e r s a v e "
" n o w a t c h d o g "
2025-01-07 23:02:22 -05:00
# I don't see a measurable benefit from these two:
# "cpufreq.default_governor=powersave"
# "initcall_blacklist=cpufreq_gov_userspace_init"
2024-12-31 10:27:06 -05:00
] ;
2024-12-31 12:51:23 -05:00
systemd . tmpfiles . rules = [
" w - / s y s / f i r m w a r e / a c p i / p l a t f o r m _ p r o f i l e - - - - l o w - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 0 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 1 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 2 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 3 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 4 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 5 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 6 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 7 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 8 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 9 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 1 0 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 1 1 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 1 2 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 1 3 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 1 4 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
" w - / s y s / d e v i c e s / s y s t e m / c p u / c p u f r e q / p o l i c y 1 5 / e n e r g y _ p e r f o r m a n c e _ p r e f e r e n c e - - - - p o w e r "
] ;
2025-01-15 21:01:30 -05:00
boot . extraModprobeConfig = ''
# Disable the hardware watchdog inside AMD 700 chipset series for power savings.
blacklist sp5100_tco
# Sound power-saving was causing chat notifications to be inaudible.
# options snd_hda_intel power_save=1
'' ;
2024-12-31 07:42:46 -05:00
}