From 065bae1c89e159892b491500fab4cf6eee31e91d Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Tue, 8 Jul 2025 18:01:07 +0000 Subject: [PATCH] lenovo/ideapad/14iah10: init --- flake.nix | 1 + lenovo/ideapad/14iah10/README.md | 7 ++++++ lenovo/ideapad/14iah10/default.nix | 40 ++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 lenovo/ideapad/14iah10/README.md create mode 100644 lenovo/ideapad/14iah10/default.nix diff --git a/flake.nix b/flake.nix index a0ac1fb8..6003693c 100644 --- a/flake.nix +++ b/flake.nix @@ -157,6 +157,7 @@ hp-notebook-14-df0023 = import ./hp/notebook/14-df0023; intel-nuc-8i7beh = import ./intel/nuc/8i7beh; lenovo-ideacentre-k330 = import ./lenovo/ideacentre/k330; + lenovo-ideapad-14iah10 = import ./lenovo/ideapad/14iah10; lenovo-ideapad-14imh9 = import ./lenovo/ideapad/14imh9; lenovo-ideapad-15alc6 = import ./lenovo/ideapad/15alc6; lenovo-ideapad-15arh05 = import ./lenovo/ideapad/15arh05; diff --git a/lenovo/ideapad/14iah10/README.md b/lenovo/ideapad/14iah10/README.md new file mode 100644 index 00000000..f6a1ccad --- /dev/null +++ b/lenovo/ideapad/14iah10/README.md @@ -0,0 +1,7 @@ +# Lenovo IdeaPad 5 Pro / XiaoXin Pro 14 GT (14IAH10) + +This module provides configuration common to all Arrow Lake (Core Ultra 200H +series)-based devices and rectifies a few quirks with the system that are mostly +all caused by firmware or BIOS bugs. While the solution isn't perfect, the +laptop is decently usable with these tweaks, including networking and speakers +output. diff --git a/lenovo/ideapad/14iah10/default.nix b/lenovo/ideapad/14iah10/default.nix new file mode 100644 index 00000000..e4b62cf0 --- /dev/null +++ b/lenovo/ideapad/14iah10/default.nix @@ -0,0 +1,40 @@ +{ + lib, + ... +}: +{ + imports = [ + ../../../common/cpu/intel/arrow-lake + ../../../common/pc/laptop + ../../../common/pc/ssd + ]; + + boot = { + # DSP-based SOF drivers currently don't work due to missing topology + # definitions, so we fall back to old snd_hda_intel drivers + # See https://thesofproject.github.io/latest/getting_started/intel_debug/introduction.html#pci-devices-introduced-after-2016 + # + # Last tested with sof-firmware version 2025.05; newer SOF releases + # may include updated topologies + extraModprobeConfig = '' + options snd-intel-dspcfg dsp_driver=1 + ''; + + # HACK: Fix the infamous "Unable to change power state from D3cold to D0" + # error when resuming the system from a suspended state, by _completely_ + # disabling PCIe port power management and thereby preventing the Wi-Fi + # adapter from turning off at all. + # + # This is theoretically bad from a battery life standpoint, but it's + # necessary until Intel ships a functioning firmware release that doesn't + # suffer from this issue. In my real-world testing this doesn't seem to + # have caused a noticable decrease in battery life, however. + # + # See Intel's (non-)response regarding this issue with this exact model at: + # https://community.intel.com/t5/Wireless/Intel-WiFi-7-BE200-loses-connection-after-suspend-resume-on/m-p/1700055 + # + # Last tested to be necessary on ucode version 98 — this might no + # longer be necessary for newer firmware releases! + kernelParams = [ "pcie_port_pm=off" ]; + }; +}