From fb602e5608735f7cb427226f0d2ea539b5129cc2 Mon Sep 17 00:00:00 2001 From: Atemu Date: Sat, 21 Oct 2023 15:02:37 +0200 Subject: [PATCH] installer/nixos-generate-config: don't set powersave cpuFreqGovernor This script would always "detect" the "powersave" governor as it is available on practically all CPUs while the "ondemand" governor is only available on some old CPUs. IME the "powersave" governor barely provides any power savings but introduces massive performance deficits, including noticable stuttering. This is not the default experience we should offer users, even for those who use laptops. Use the kernel default (currently "performance", CPU makers may change it in future) instead. --- .../installer/tools/nixos-generate-config.pl | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 7d0c5898e23d..85180bf2d1b4 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -102,22 +102,6 @@ sub cpuManufacturer { return $cpuinfo =~ /^vendor_id\s*:.* $id$/m; } - -# Determine CPU governor to use -if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") { - my $governors = read_file("/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors"); - # ondemand governor is not available on sandy bridge or later Intel CPUs - my @desired_governors = ("ondemand", "powersave"); - my $e; - - foreach $e (@desired_governors) { - if (index($governors, $e) != -1) { - last if (push @attrs, "powerManagement.cpuFreqGovernor = lib.mkDefault \"$e\";"); - } - } -} - - # Virtualization support? push @kernelModules, "kvm-intel" if hasCPUFeature "vmx"; push @kernelModules, "kvm-amd" if hasCPUFeature "svm";