From 5a8ed531f99b52cf5413c724d8f982350d79416e Mon Sep 17 00:00:00 2001 From: mexisme Date: Sat, 31 Dec 2022 10:10:54 +1300 Subject: [PATCH] Initial config. for Lenovo Yoga Slim 7 Pro-X (14ARH7) - Add entry to README.md and flake.nix --- README.md | 2 + flake.nix | 1 + lenovo/yoga/7/14ARH7/default.nix | 82 ++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 lenovo/yoga/7/14ARH7/default.nix diff --git a/README.md b/README.md index cfe805f..a78fc6b 100644 --- a/README.md +++ b/README.md @@ -231,6 +231,8 @@ See code for all available configurations. | [Lenovo ThinkPad Z Series](lenovo/thinkpad/z) | `` | | [Lenovo ThinkPad Z13](lenovo/thinkpad/z/z13) | `` | | [LENOVO Yoga 6 13ALC6 82ND](lenovo/yoga/6/13ALC6) | `` | +| [LENOVO Yoga Slim 7 Pro-X 14ARH7 82ND](lenovo/yoga/7/14ARH7/amdgpu) | `` | +| [LENOVO Yoga Slim 7 Pro-X 14ARH7 82ND](lenovo/yoga/7/14ARH7/nvidia) | `` | | [LENOVO Yoga 7 Slim Gen8](lenovo/yoga/7/slim/gen8) | `` | | [MSI GS60 2QE](msi/gs60) | `` | | [MSI GL62/CX62](msi/gl62) | `` | diff --git a/flake.nix b/flake.nix index 7dfa3f0..57c7446 100644 --- a/flake.nix +++ b/flake.nix @@ -170,6 +170,7 @@ lenovo-thinkpad-z = import ./lenovo/thinkpad/z; lenovo-thinkpad-z13 = import ./lenovo/thinkpad/z/z13; lenovo-yoga-6-13ALC6 = import ./lenovo/yoga/6/13ALC6; + lenovo-yoga-7-14ARH7 = import ./lenovo/yoga/7/14ARH7; lenovo-yoga-7-slim-gen8 = import ./lenovo/yoga/7/slim/gen8; letsnote-cf-lx4 = import ./panasonic/letsnote/cf-lx4; microchip-icicle-kit = import ./microchip/icicle-kit; diff --git a/lenovo/yoga/7/14ARH7/default.nix b/lenovo/yoga/7/14ARH7/default.nix new file mode 100644 index 0000000..a1b21e7 --- /dev/null +++ b/lenovo/yoga/7/14ARH7/default.nix @@ -0,0 +1,82 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkDefault mkMerge; + +in { + imports = [ + ../../../../common/cpu/amd + # Better power-savings from AMD PState: + ../../../../common/cpu/amd/pstate.nix + ../../../../common/gpu/amd + ## "prime.nix" loads this, aleady: + # ../../../../common/gpu/nvidia + ../../../../common/gpu/nvidia/prime.nix + ../../../../common/pc/laptop + ../../../../common/pc/laptop/acpi_call.nix + ../../../../common/pc/ssd + ]; + + config = mkMerge [ + { + # Configure basic system settings: + boot = { + kernelModules = [ "kvm-amd" ]; + kernelParams = [ + "mem_sleep_default=deep" + "pcie_aspm.policy=powersupersave" + + ## Supposed to help fix for suspend issues: SSD not correctly working, and Keyboard not responding: + ## Not needed for the 6.1+ kernels? + # "iommu=pt" + + ## Fixes for s2idle: + ## https://www.phoronix.com/news/More-s2idle-Rembrandt-Linux + # "acpi.prefer_microsoft_guid=1" + ## Appears to have been renamed? + "acpi.prefer_microsoft_dsm_guid=1" + ]; + + blacklistedKernelModules = [ "nouveau" ]; + }; + } + + { + ## Graphics settings + + ## AMD RX680 + # services.xserver.videoDrivers = mkDefault [ "amdgpu" ]; + + # NVIDIA GeForce RTX 3050 Mobile (Ampere) + services.xserver.videoDrivers = mkDefault [ "nvidia" ]; + + hardware = { + ## Enable the Nvidia card, as well as Prime and Offload: + amdgpu.loadInInitrd = true; + opengl.extraPackages = with pkgs; [ + vaapiVdpau + libvdpau-va-gl + ]; + + nvidia = { + modesetting.enable = true; + nvidiaSettings = true; + + prime = { + offload = { + enable = true; + enableOffloadCmd = true; + }; + amdgpuBusId = "PCI:4:0:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + + powerManagement = { + enable = true; + # finegrained = true + }; + }; + }; + } + ]; +}