diff options
author | André-Patrick Bubel <code@andre-bubel.de> | 2018-10-19 17:52:25 +0200 |
---|---|---|
committer | Jörg Thalheim <joerg@thalheim.io> | 2018-10-23 09:28:07 +0100 |
commit | 941fbef86f558b9a39e6d1460ba5a34ecd72ebd5 (patch) | |
tree | 152d0fe4d5154f573cd48698215bc4564177cd49 /common | |
parent | d4a430fef28b584bfcf580a681cd63330a232241 (diff) |
move acpi_call.nix and cpu-throttling-bug.nix to common folder
Diffstat (limited to 'common')
-rw-r--r-- | common/pc/laptop/acpi_call.nix | 10 | ||||
-rw-r--r-- | common/pc/laptop/cpu-throttling-bug.nix | 38 |
2 files changed, 48 insertions, 0 deletions
diff --git a/common/pc/laptop/acpi_call.nix b/common/pc/laptop/acpi_call.nix new file mode 100644 index 0000000..f8c17dc --- /dev/null +++ b/common/pc/laptop/acpi_call.nix @@ -0,0 +1,10 @@ +# acpi_call makes tlp work for newer thinkpads + +{ config, ... }: + +{ + boot = { + kernelModules = [ "acpi_call" ]; + extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; + }; +} diff --git a/common/pc/laptop/cpu-throttling-bug.nix b/common/pc/laptop/cpu-throttling-bug.nix new file mode 100644 index 0000000..a44bb72 --- /dev/null +++ b/common/pc/laptop/cpu-throttling-bug.nix @@ -0,0 +1,38 @@ +{ config, pkgs, ... }: +{ + # Temporary fix for cpu throttling issues visible in the kernel log + # (journalctl -k) by setting the same temperature limits used by + # Window$ + # See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues + systemd.services.cpu-throttling = { + enable = true; + description = "Sets the offset to 3 °C, so the new trip point is 97 °C"; + documentation = [ + "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" + ]; + path = [ pkgs.msr-tools ]; + script = "wrmsr -a 0x1a2 0x3000000"; + serviceConfig = { + Type = "oneshot"; + }; + wantedBy = [ + "timers.target" + ]; + }; + + systemd.timers.cpu-throttling = { + enable = true; + description = "Set cpu heating limit to 97 °C"; + documentation = [ + "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" + ]; + timerConfig = { + OnActiveSec = 60; + OnUnitActiveSec = 60; + Unit = "cpu-throttling.service"; + }; + wantedBy = [ + "timers.target" + ]; + }; +} |