1
0
Fork 0
mirror of https://github.com/NixOS/nixos-hardware synced 2024-11-18 08:59:41 +01:00
nixos-hardware/lenovo/thinkpad/p52/default.nix

67 lines
2.6 KiB
Nix
Raw Normal View History

2022-07-05 20:39:22 +02:00
{ lib, ... }:
{
imports = [
../../../common/gpu/nvidia.nix
../../../common/cpu/intel
../../../common/pc/laptop/acpi_call.nix
../.
];
hardware = {
nvidia = {
prime = {
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
# is this too much? It's convenient for Steam.
opengl = {
driSupport = lib.mkDefault true;
driSupport32Bit = lib.mkDefault true;
};
};
# Sleep
# -----
#
# The system will not stay asleep properly while on battery power or AC in
# either offload mode or sync mode. This is true whether TLP is enabled or
# disabled. When the system is told to sleep, it will appear to go into a
# sleep state, but within five minutes (and sometimes much more quickly; in
# my case especially if a USB hub is connected), it will wake itself. I
# attempted to identify what was causing this to happen, but was not
# successful. Note that this behavior is different from that of the P50 or
# P51, both of which can be convinced to sleep by changing TLP config.
#
# throttled vs. thermald
# -----------------------
#
# NB: the p53 profile currently uses throttled to prevent too-eager CPU
# throttling. I understand throttled to have been a workaround solution at
# the time the p53 profile was created (throttled's original name was
# "lenovo_fix"). thermald would have been preferred if it worked at the
# time.
#
# I read
# https://wiki.archlinux.org/title/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues
# as saying that thermald is fixed under the circumstance that led to the
# development of throttled given version 5.12+ of the kernel combined
# with version 2.4.3+ of thermald. At the time of this writing, the
# stable NixOS kernel is 5.15 and 2.4.9 of thermald.
#
# In the meantime, I also ran the "s-tui" program which can stress test the
# system, while eyeing up the core temps and CPU frequency under three
# scenarios: under thermald, under throttled, and with neither. None of the
# scenarios seem to have massively improved fan behavior, core temps, or
# average CPU frequency than another. The highest core temp always seems to
# hover around 90 degrees C, the lowest CPU Ghz around 3.4 on a 3.8Ghz machine.
#
# I ended up choosing throttled because subjectively, the fans seem quieter
# when it's stressed and it allows the average temps to get a degree or two
# higher when running throttled than when running in the other two scenarios,
# but still substantially under critical temp.
services.thermald.enable = lib.mkDefault true;
}