Commit fb602e56 authored by Atemu's avatar Atemu
Browse files

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.
parent 7c9cc5a6
Loading
Loading
Loading
Loading
+0 −16
Original line number Diff line number Diff line
@@ -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";