diff --git a/lenovo/thinkpad/p14s/amd/default.nix b/lenovo/thinkpad/p14s/amd/default.nix new file mode 100644 index 0000000..cbef7c0 --- /dev/null +++ b/lenovo/thinkpad/p14s/amd/default.nix @@ -0,0 +1,12 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../../common/cpu/amd + ../../../../common/gpu/amd + ]; + + # For support of newer AMD GPUs, backlight and internal microphone + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.8") pkgs.linuxPackages_latest; +} diff --git a/lenovo/thinkpad/p14s/amd/gen2/default.nix b/lenovo/thinkpad/p14s/amd/gen2/default.nix index 89632e2..664f83d 100644 --- a/lenovo/thinkpad/p14s/amd/gen2/default.nix +++ b/lenovo/thinkpad/p14s/amd/gen2/default.nix @@ -1,9 +1,7 @@ { lib, pkgs, config, ... }: { imports = [ - ../../../../../common/pc/laptop/acpi_call.nix - ../../../../../common/cpu/amd - ../../../../../common/gpu/amd + ../. ]; # For suspending to RAM, set Config -> Power -> Sleep State to "Linux" in EFI. diff --git a/lenovo/thinkpad/p14s/default.nix b/lenovo/thinkpad/p14s/default.nix new file mode 100644 index 0000000..401eba9 --- /dev/null +++ b/lenovo/thinkpad/p14s/default.nix @@ -0,0 +1,22 @@ +{ lib, pkgs, ... }: + +{ + # P14s is a rebadged T14 with slight internal differences. + # This may change for future models, so we duplicate the T14 hierarchy here. + + imports = [ + ../. + ../../../common/pc/laptop/acpi_call.nix + ../../../common/pc/laptop/ssd + ]; + + # Force use of the amdgpu driver for backlight control on kernel versions where the + # native backlight driver is not already preferred. This is preferred over the + # "vendor" setting, in this case the thinkpad_acpi driver. + # See https://hansdegoede.livejournal.com/27130.html + # See https://lore.kernel.org/linux-acpi/20221105145258.12700-1-hdegoede@redhat.com/ + boot.kernelParams = lib.mkIf (lib.versionOlder pkgs.linux.version "6.2") [ "acpi_backlight=native" ]; + + # see https://github.com/NixOS/nixpkgs/issues/69289 + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.2") pkgs.linuxPackages_latest; +}