From 1828627b087329e5324be0909892ec7337d55f14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90=E1=BB=97=20Quang=20Minh?= <59284549+shinishiho@users.noreply.github.com> Date: Fri, 4 Jul 2025 06:48:03 +0700 Subject: [PATCH 01/45] asus: fix charge-upto script --- asus/battery.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/asus/battery.nix b/asus/battery.nix index 4bdf6b64..4639baa4 100644 --- a/asus/battery.nix +++ b/asus/battery.nix @@ -6,7 +6,8 @@ }: let p = pkgs.writeScriptBin "charge-upto" '' - echo ''${0:-100} > /sys/class/power_supply/BAT?/charge_control_end_threshold + #!${pkgs.bash}/bin/bash + echo ''${1:-100} > /sys/class/power_supply/BAT?/charge_control_end_threshold ''; cfg = config.hardware.asus.battery; in From 41f2cad3f96c1fb163fde49c27f22e1faabced9a Mon Sep 17 00:00:00 2001 From: Bu Kun <65808665+pokon548@users.noreply.github.com> Date: Sun, 6 Jul 2025 19:12:49 +0800 Subject: [PATCH 02/45] Add flip_done timeout workaround for 14IMH9 --- lenovo/ideapad/14imh9/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lenovo/ideapad/14imh9/default.nix b/lenovo/ideapad/14imh9/default.nix index f2bb0f52..c8bb71c9 100644 --- a/lenovo/ideapad/14imh9/default.nix +++ b/lenovo/ideapad/14imh9/default.nix @@ -26,6 +26,10 @@ # See https://wiki.archlinux.org/title/Dell_XPS_16_(9640)#Random_freezes "iommu.strict=1" "iommu.passthrough=1" + + # Workaround: i915 0000:00:02.0: [drm] *ERROR* [CRTC:82:pipe A] flip_done timed out + # See https://github.com/pop-os/pop/issues/3130 + "i915.dmc_firmware_path=\"\"" ]; }; From 323366c51c42cfee23fe9e04d5998350d4f77cac Mon Sep 17 00:00:00 2001 From: Rituraj <56511165+imxade@users.noreply.github.com> Date: Fri, 6 Jun 2025 08:12:58 +0530 Subject: [PATCH 03/45] added inspiron 3442 to the flake --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index a0ac1fb8..284186b6 100644 --- a/flake.nix +++ b/flake.nix @@ -65,6 +65,7 @@ dell-e7240 = deprecated "1326" "dell-e7240" (import ./dell/e7240); dell-g3-3779 = import ./dell/g3/3779; dell-g3-3579 = import ./dell/g3/3579; + dell-inspiron-3442 = import ./dell/inspiron/3442; dell-inspiron-14-5420 = import ./dell/inspiron/14-5420; dell-inspiron-5509 = import ./dell/inspiron/5509; dell-inspiron-5515 = import ./dell/inspiron/5515; From 94100810798c046d1e9f17e370da8bf8734eb8f4 Mon Sep 17 00:00:00 2001 From: LucasFA <23667494+LucasFA@users.noreply.github.com> Date: Sun, 13 Jul 2025 12:31:37 +0100 Subject: [PATCH 04/45] init: NUC 5i5RYB --- README.md | 1 + flake.nix | 1 + intel/nuc/5i5ryb/default.nix | 11 +++++++++++ 3 files changed, 13 insertions(+) create mode 100644 intel/nuc/5i5ryb/default.nix diff --git a/README.md b/README.md index a064978f..7a774cf0 100644 --- a/README.md +++ b/README.md @@ -223,6 +223,7 @@ See code for all available configurations. | [HP Probook 440G5](hp/probook/440g5) | `` | `hp-probook-440G5` | | [Huawei Matebook X Pro (2020)](huawei/machc-wa) | `` | `huawei-machc-wa` | | [i.MX8QuadMax Multisensory Enablement Kit](nxp/imx8qm-mek/) | `` | `nxp-imx8qm-mek` | +| [Intel NUC 5i5RYB](intel/nuc/5i5ryb/) | `` | `intel-nuc-5i5ryb` | | [Intel NUC 8i7BEH](intel/nuc/8i7beh/) | `` | `intel-nuc-8i7beh` | | [Lenovo IdeaCentre K330](lenovo/ideacentre/k330) | `` | `lenovo-ideacentre-k330` | | [Lenovo IdeaPad 3 15alc6](lenovo/ideapad/15alc6) | `` | `lenovo-ideapad-15alc6` | diff --git a/flake.nix b/flake.nix index 284186b6..14cd6884 100644 --- a/flake.nix +++ b/flake.nix @@ -156,6 +156,7 @@ hp-laptop-14s-dq2024nf = import ./hp/laptop/14s-dq2024nf; huawei-machc-wa = import ./huawei/machc-wa; hp-notebook-14-df0023 = import ./hp/notebook/14-df0023; + intel-nuc-5i5ryb = import ./intel/nuc/5i5ryb; intel-nuc-8i7beh = import ./intel/nuc/8i7beh; lenovo-ideacentre-k330 = import ./lenovo/ideacentre/k330; lenovo-ideapad-14imh9 = import ./lenovo/ideapad/14imh9; diff --git a/intel/nuc/5i5ryb/default.nix b/intel/nuc/5i5ryb/default.nix new file mode 100644 index 00000000..7ff80dd2 --- /dev/null +++ b/intel/nuc/5i5ryb/default.nix @@ -0,0 +1,11 @@ +{ lib, ... }: + +{ + imports = [ + ../../../common/cpu/intel/broadwell + ../../../common/pc + ../../../common/pc/ssd + ]; + + services.thermald.enable = lib.mkDefault true; +} From 8ea54c025e9ef7e4929234bdd12c22a52709dcbb Mon Sep 17 00:00:00 2001 From: matthiasdotsh Date: Mon, 14 Jul 2025 17:06:15 +0200 Subject: [PATCH 05/45] surface: linux 6.15.3 -> 6.15.6 --- microsoft/surface/common/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/microsoft/surface/common/default.nix b/microsoft/surface/common/default.nix index a4defb61..442d7e17 100644 --- a/microsoft/surface/common/default.nix +++ b/microsoft/surface/common/default.nix @@ -19,7 +19,7 @@ let if kernelVersion == "longterm" then "6.12.19" else if kernelVersion == "stable" then - "6.15.3" + "6.15.6" else abort "Invalid kernel version: ${kernelVersion}"; @@ -28,7 +28,7 @@ let if kernelVersion == "longterm" then "sha256-1zvwV77ARDSxadG2FkGTb30Ml865I6KB8y413U3MZTE=" else if kernelVersion == "stable" then - "sha256-ErUMiZJUONnNc4WgyvycQz5lYqxd8AohiJ/On1SNZbA=" + "sha256-K7WGyVQnfQcMj99tcnX6qTtIB9m/M1O0kdgUnMoCtPw=" else abort "Invalid kernel version: ${kernelVersion}"; From 95ee2804d7ac805bf9deaef8bcff414a2dfc152a Mon Sep 17 00:00:00 2001 From: Anna Oake Date: Mon, 7 Jul 2025 13:26:57 +0200 Subject: [PATCH 06/45] framework-intel-core-ultra-series1: preset device name for audio enhancement --- framework/13-inch/intel-core-ultra-series1/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/framework/13-inch/intel-core-ultra-series1/default.nix b/framework/13-inch/intel-core-ultra-series1/default.nix index 4851d54f..b2828ff1 100644 --- a/framework/13-inch/intel-core-ultra-series1/default.nix +++ b/framework/13-inch/intel-core-ultra-series1/default.nix @@ -41,4 +41,6 @@ ''For Intel NPU support, set the option: hardware.enableRedistributableFirmware = true;'' ]; + hardware.framework.laptop13.audioEnhancement.rawDeviceName = + lib.mkDefault "alsa_output.pci-0000_00_1f.3.analog-stereo"; } From 25fdfb36a7db4e468a246b55c36a8bf0c99e43cb Mon Sep 17 00:00:00 2001 From: Ace-h121 Date: Wed, 23 Jul 2025 23:07:00 -0400 Subject: [PATCH 07/45] Adding Power Management on Asus fa507nv I personally own this laptop, I am running gnome and on sleep the graphics always corrupt without fail, this setting has been the only way to correct it. --- asus/fa507nv/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/asus/fa507nv/default.nix b/asus/fa507nv/default.nix index 01fafbb2..879a41c2 100644 --- a/asus/fa507nv/default.nix +++ b/asus/fa507nv/default.nix @@ -39,6 +39,7 @@ }; hardware.nvidia = { + powerManagement.enable = true; modesetting.enable = lib.mkDefault true; open = lib.mkDefault false; nvidiaSettings = lib.mkDefault true; From c46bd952e9d3645913ebc587619be271645c181f Mon Sep 17 00:00:00 2001 From: Ace-h121 Date: Wed, 23 Jul 2025 23:13:43 -0400 Subject: [PATCH 08/45] Forgot to add lib.mkDefault --- asus/fa507nv/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asus/fa507nv/default.nix b/asus/fa507nv/default.nix index 879a41c2..43ff7133 100644 --- a/asus/fa507nv/default.nix +++ b/asus/fa507nv/default.nix @@ -39,7 +39,7 @@ }; hardware.nvidia = { - powerManagement.enable = true; + powerManagement.enable = lib.mkDefault true; modesetting.enable = lib.mkDefault true; open = lib.mkDefault false; nvidiaSettings = lib.mkDefault true; From 1f7ed6211f956ceaa2261e89f5c17d61b2dc521a Mon Sep 17 00:00:00 2001 From: omeyemburg Date: Sun, 27 Jul 2025 11:49:59 +0200 Subject: [PATCH 09/45] macbook-pro/12-1: remove redundant bracket in readme --- apple/macbook-pro/12-1/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apple/macbook-pro/12-1/README.md b/apple/macbook-pro/12-1/README.md index 6618dc9e..84055a95 100644 --- a/apple/macbook-pro/12-1/README.md +++ b/apple/macbook-pro/12-1/README.md @@ -9,7 +9,6 @@ This means it might be required to restart your wifi deamon i.e. wpa_supplicant: powerManagement.powerUpCommands = '' ${pkgs.systemd}/bin/systemctl restart wpa_supplicant.service ''; -}; ``` You can apply this to your network management software of choice. From 85070738e9016a53f834b1804d63d5024be05ed7 Mon Sep 17 00:00:00 2001 From: omeyemburg Date: Sun, 27 Jul 2025 11:50:21 +0200 Subject: [PATCH 10/45] macbook-pro/8-1: remove redundant line in readme --- apple/macbook-pro/8-1/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apple/macbook-pro/8-1/README.md b/apple/macbook-pro/8-1/README.md index 723df2e8..57d897fc 100644 --- a/apple/macbook-pro/8-1/README.md +++ b/apple/macbook-pro/8-1/README.md @@ -12,7 +12,6 @@ "b43-firmware" ]; } - ``` ### For all packages From 28fc41508c1fa7c7b1f13e2e3f81f7dcdbf7c883 Mon Sep 17 00:00:00 2001 From: suzana2314 <105118318+suzana2314@users.noreply.github.com> Date: Mon, 28 Jul 2025 18:51:21 +0100 Subject: [PATCH 11/45] lenovo-legion-15ach6h: added hybrid and nvidia configurations --- README.md | 2 ++ flake.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.md b/README.md index 7a774cf0..d504b776 100644 --- a/README.md +++ b/README.md @@ -237,6 +237,8 @@ See code for all available configurations. | [Lenovo IdeaPad 2-in-1 16ahp9](lenovo/ideapad/16ahp9) | `` | `lenovo-ideapad-16ahp9` | | [Lenovo IdeaPad S145 15api](lenovo/ideapad/s145-15api) | `` | `lenovo-ideapad-s145-15api` | | [Lenovo Legion 5 15ach6h](lenovo/legion/15ach6h) | `` | `lenovo-legion-15ach6h` | +| [Lenovo Legion 5 15ach6h (Hybrid)](lenovo/legion/15ach6h/hybrid) | `` | `lenovo-legion-15ach6h-hybrid` | +| [Lenovo Legion 5 15ach6h (Nvidia)](lenovo/legion/15ach6h/hybrid) | `` | `lenovo-legion-15ach6h-nvidia` | | [Lenovo Legion 5 15arh05h](lenovo/legion/15arh05h) | `` | `lenovo-legion-15arh05h` | | [Lenovo Legion 7 Slim 15ach6](lenovo/legion/15ach6) | `` | `lenovo-legion-15ach6` | | [Lenovo Legion 5 Pro 16ach6h](lenovo/legion/16ach6h) | `` | `lenovo-legion-16ach6h` | diff --git a/flake.nix b/flake.nix index 14cd6884..7b24db27 100644 --- a/flake.nix +++ b/flake.nix @@ -170,6 +170,8 @@ lenovo-ideapad-s145-15api = import ./lenovo/ideapad/s145-15api; lenovo-legion-15ach6 = import ./lenovo/legion/15ach6; lenovo-legion-15ach6h = import ./lenovo/legion/15ach6h; + lenovo-legion-15ach6h-hybrid = import ./lenovo/legion/15ach6h/hybrid; + lenovo-legion-15ach6h-nvidia = import ./lenovo/legion/15ach6h/nvidia; lenovo-legion-15arh05h = import ./lenovo/legion/15arh05h; lenovo-legion-16ach6h = import ./lenovo/legion/16ach6h; lenovo-legion-16ach6h-hybrid = import ./lenovo/legion/16ach6h/hybrid; From f30fc54b0ea2039cbd06342ffcba1faa665931e6 Mon Sep 17 00:00:00 2001 From: matthiasdotsh Date: Fri, 1 Aug 2025 12:41:34 +0200 Subject: [PATCH 12/45] surface: linux 6.15.6 -> 6.15.9 --- microsoft/surface/common/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/microsoft/surface/common/default.nix b/microsoft/surface/common/default.nix index 442d7e17..1fe46fee 100644 --- a/microsoft/surface/common/default.nix +++ b/microsoft/surface/common/default.nix @@ -19,7 +19,7 @@ let if kernelVersion == "longterm" then "6.12.19" else if kernelVersion == "stable" then - "6.15.6" + "6.15.9" else abort "Invalid kernel version: ${kernelVersion}"; @@ -28,7 +28,7 @@ let if kernelVersion == "longterm" then "sha256-1zvwV77ARDSxadG2FkGTb30Ml865I6KB8y413U3MZTE=" else if kernelVersion == "stable" then - "sha256-K7WGyVQnfQcMj99tcnX6qTtIB9m/M1O0kdgUnMoCtPw=" + "sha256-6U86+FSSMC96gZRBRY+AvKCtmRLlpMg8aZ/zxjxSlX0=" else abort "Invalid kernel version: ${kernelVersion}"; From 26c9d906630821f49ca7ee755bf745f7fdb406ca Mon Sep 17 00:00:00 2001 From: Flameopathic Date: Sat, 2 Aug 2025 22:53:06 -0400 Subject: [PATCH 13/45] lenovo/yoga/7/14ILL10: update kernel version requirement --- lenovo/yoga/7/14ILL10/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lenovo/yoga/7/14ILL10/default.nix b/lenovo/yoga/7/14ILL10/default.nix index 9c9ca25e..6db6b47f 100644 --- a/lenovo/yoga/7/14ILL10/default.nix +++ b/lenovo/yoga/7/14ILL10/default.nix @@ -6,8 +6,8 @@ ../../../../common/pc/ssd ]; - # touchpad, wifi, and bluetooth do not work before 6.12 - config.boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.12") ( + # device will not boot in kernel versions older than 6.15 + config.boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.15") ( lib.mkDefault pkgs.linuxPackages_latest ); } From d99ca4e5f4d5dbbe3c8107e2fd2c778edeb37851 Mon Sep 17 00:00:00 2001 From: 0x4A6F <0x4A6F@users.noreply.github.com> Date: Sun, 27 Jul 2025 20:31:22 +0200 Subject: [PATCH 14/45] framework-amd-ai-300-series: bump kernel to latest for suspend support --- framework/13-inch/amd-ai-300-series/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/framework/13-inch/amd-ai-300-series/default.nix b/framework/13-inch/amd-ai-300-series/default.nix index 5eecb38b..78af36cd 100644 --- a/framework/13-inch/amd-ai-300-series/default.nix +++ b/framework/13-inch/amd-ai-300-series/default.nix @@ -10,6 +10,11 @@ ../common ../common/amd.nix ]; - config.hardware.framework.laptop13.audioEnhancement.rawDeviceName = - lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo"; + config = { + hardware.framework.laptop13.audioEnhancement.rawDeviceName = + lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo"; + + # suspend works with 6.15 + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.15") pkgs.linuxPackages_latest; + }; } From 547c96d797da1c0cd1ca737d66f2d18c7de91618 Mon Sep 17 00:00:00 2001 From: 0x4A6F <0x4A6F@users.noreply.github.com> Date: Mon, 4 Aug 2025 12:19:53 +0200 Subject: [PATCH 15/45] framework-amd-ai-300-series: mkDefault boot.kernelPackages --- framework/13-inch/amd-ai-300-series/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/framework/13-inch/amd-ai-300-series/default.nix b/framework/13-inch/amd-ai-300-series/default.nix index 78af36cd..0b59e780 100644 --- a/framework/13-inch/amd-ai-300-series/default.nix +++ b/framework/13-inch/amd-ai-300-series/default.nix @@ -15,6 +15,8 @@ lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo"; # suspend works with 6.15 - boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.15") pkgs.linuxPackages_latest; + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.15") ( + lib.mkDefault pkgs.linuxPackages_latest + ); }; } From 915755282509cdb7d707eb1b3c4e4ef5919bf4ef Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Mon, 19 May 2025 22:51:57 +0800 Subject: [PATCH 16/45] framework: Add Framework Desktop Signed-off-by: Daniel Schaefer --- flake.nix | 1 + .../desktop/amd-ai-max-300-series/README.md | 17 +++++++++++++++++ .../desktop/amd-ai-max-300-series/default.nix | 10 ++++++++++ 3 files changed, 28 insertions(+) create mode 100644 framework/desktop/amd-ai-max-300-series/README.md create mode 100644 framework/desktop/amd-ai-max-300-series/default.nix diff --git a/flake.nix b/flake.nix index 14cd6884..3cd9e355 100644 --- a/flake.nix +++ b/flake.nix @@ -133,6 +133,7 @@ framework-13-7040-amd = import ./framework/13-inch/7040-amd; framework-amd-ai-300-series = import ./framework/13-inch/amd-ai-300-series; framework-16-7040-amd = import ./framework/16-inch/7040-amd; + framework-desktop-amd-ai-max-300-series = import ./framework/desktop/amd-ai-max-300-series; friendlyarm-nanopc-t4 = import ./friendlyarm/nanopc-t4; friendlyarm-nanopi-r5s = import ./friendlyarm/nanopi-r5s; focus-m2-gen1 = import ./focus/m2/gen1; diff --git a/framework/desktop/amd-ai-max-300-series/README.md b/framework/desktop/amd-ai-max-300-series/README.md new file mode 100644 index 00000000..6cc79bcd --- /dev/null +++ b/framework/desktop/amd-ai-max-300-series/README.md @@ -0,0 +1,17 @@ +# [Framework Desktop](https://frame.work/desktop) + +## Updating Firmware + +First put enable `fwupd` + +```nix +services.fwupd.enable = true; +``` + +Then run + +```sh + $ fwupdmgr update +``` + +- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Desktop.RyzenAIMax300.BIOS.firmware) diff --git a/framework/desktop/amd-ai-max-300-series/default.nix b/framework/desktop/amd-ai-max-300-series/default.nix new file mode 100644 index 00000000..b0205923 --- /dev/null +++ b/framework/desktop/amd-ai-max-300-series/default.nix @@ -0,0 +1,10 @@ +{ config, lib, ... }: +{ + imports = [ + ../../../common/cpu/amd + ../../../common/cpu/amd/pstate.nix + ../../../common/gpu/amd + ../../../common/pc/ssd + ../../framework-tool.nix + ]; +} From 659b41d59cf586362a99adbfc9e0fb9de1acac3b Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Thu, 24 Jul 2025 18:18:06 +0800 Subject: [PATCH 17/45] framework/desktop: Add minimum kernel version Signed-off-by: Daniel Schaefer --- framework/desktop/amd-ai-max-300-series/README.md | 6 ++++++ framework/desktop/amd-ai-max-300-series/default.nix | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/framework/desktop/amd-ai-max-300-series/README.md b/framework/desktop/amd-ai-max-300-series/README.md index 6cc79bcd..e9c274e7 100644 --- a/framework/desktop/amd-ai-max-300-series/README.md +++ b/framework/desktop/amd-ai-max-300-series/README.md @@ -1,5 +1,11 @@ # [Framework Desktop](https://frame.work/desktop) +## Kernel version + +The recommended version is 6.15 or newer, it has good GPU and also EC firmware support (for sensors and ARGB). +The lowest recommended version is 6.14. It has good GPU support already. +The absolute lowest that runs okay on headless systems is 6.11, but the GPU is not fully supported yet. + ## Updating Firmware First put enable `fwupd` diff --git a/framework/desktop/amd-ai-max-300-series/default.nix b/framework/desktop/amd-ai-max-300-series/default.nix index b0205923..60fc6216 100644 --- a/framework/desktop/amd-ai-max-300-series/default.nix +++ b/framework/desktop/amd-ai-max-300-series/default.nix @@ -1,4 +1,9 @@ -{ config, lib, ... }: +{ + config, + lib, + pkgs, + ... +}: { imports = [ ../../../common/cpu/amd @@ -7,4 +12,9 @@ ../../../common/pc/ssd ../../framework-tool.nix ]; + + # 6.14 and above have good GPU support + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.14") ( + lib.mkDefault pkgs.linuxPackages_latest + ); } From df02f4f16a46d258967705383f408ce4a684f3e7 Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Thu, 24 Jul 2025 12:58:11 +0800 Subject: [PATCH 18/45] framework/12-inch: Fix tabletmode on some kernels NixOS kernels don't have pinctrl_tigerlake built-in, we need to make sure it loads before soc_button_array. Adding it to the initrd ensures that. Signed-off-by: Daniel Schaefer --- framework/12-inch/13th-gen-intel/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/framework/12-inch/13th-gen-intel/default.nix b/framework/12-inch/13th-gen-intel/default.nix index 6431338a..7a3e1de4 100644 --- a/framework/12-inch/13th-gen-intel/default.nix +++ b/framework/12-inch/13th-gen-intel/default.nix @@ -4,4 +4,10 @@ ../common ../../../common/cpu/intel ]; + + # If this module isn't built into the kernel, we need to make sure it loads + # before soc_button_array. Otherwise the tablet mode gpio doesn't work. + # If correctly loaded, dmesg should show + # input: gpio-keys as /devices/platform/INT33D3:00 + boot.initrd.kernelModules = [ "pinctrl_tigerlake" ]; } From aaecdd8d3bd6e7e52a6375e7bab914582ce5e540 Mon Sep 17 00:00:00 2001 From: pancho horrillo Date: Fri, 8 Aug 2025 07:17:15 +0200 Subject: [PATCH 19/45] Update flake.lock, dropping unused `nixpkgs` input MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On a7600cef40e350c6f3fcb6eefb6f0d6b09c7d05e all the inputs on `flake.nix` were moved to `tests/flake.nix`, but `flake.lock` was not updated correctly, and a reference to `nixpkgs` still remains, producing this error upon evaluation when used as an input in my flake: evaluating file ''copying "/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source" to the store...evaluating file '/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source/flake.nix'evaluating file '/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source/flake.nix'warning: updating lock file '"/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source/flake.lock"':• Removed input 'nixpkgs'error:… while updating the lock file of flake 'path:/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source?lastModified=0&narHash=sha256-dz303vGuzWjzOPOaYkS9xSW%2BB93PSAJxvBd6CambXVA%3D'error: opening file '/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source/flake.lock': Read-only file system I’ve thus updated `flake.lock` with the standard procedure: ```console ❯ nix flake lock --verbose warning: updating lock file '"/home/pancho/sandbox/NixOS/nixos-hardware/flake.lock"': • Removed input 'nixpkgs' ``` --- flake.lock | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 8f2f2e35..5999137c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,26 +1,6 @@ { "nodes": { - "nixpkgs": { - "locked": { - "lastModified": 1751290770, - "narHash": "sha256-u4s8yKAqTzPGY3vTcDyAIet11uXaNCM//93/0O0NlbA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0620a50e9a847851bf802c59a4202552ed79b821", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.05-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "nixpkgs": "nixpkgs" - } - } + "root": {} }, "root": "root", "version": 7 From 139a6586edaa656ca7beee79d6bf397af4066fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Eyselein?= Date: Fri, 8 Aug 2025 09:51:11 +0200 Subject: [PATCH 20/45] Add Lenovo Thinkpad P16s AMD Gen 4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Eyselein --- README.md | 1 + flake.nix | 1 + lenovo/thinkpad/p16s/amd/gen4/default.nix | 5 +++++ 3 files changed, 7 insertions(+) create mode 100644 lenovo/thinkpad/p16s/amd/gen4/default.nix diff --git a/README.md b/README.md index 7a774cf0..b9a54364 100644 --- a/README.md +++ b/README.md @@ -275,6 +275,7 @@ See code for all available configurations. | [Lenovo ThinkPad P14s Intel Gen 5](lenovo/thinkpad/p14s/intel/gen5) | `` | `lenovo-thinkpad-p14s-intel-gen5`| | [Lenovo ThinkPad P16s AMD Gen 1](lenovo/thinkpad/p16s/amd/gen1) | `` | `lenovo-thinkpad-p16s-amd-gen1` | | [Lenovo ThinkPad P16s AMD Gen 2](lenovo/thinkpad/p16s/amd/gen2) | `` | `lenovo-thinkpad-p16s-amd-gen2` | +| [Lenovo ThinkPad P16s AMD Gen 4](lenovo/thinkpad/p16s/amd/gen4) | `` | `lenovo-thinkpad-p16s-amd-gen4` | | [Lenovo ThinkPad P16s Intel Gen 2](lenovo/thinkpad/p16s/intel/gen2) | `` | `lenovo-thinkpad-p16s-intel-gen2`| | [Lenovo ThinkPad P1](lenovo/thinkpad/p1) | `` | `lenovo-thinkpad-p1` | | [Lenovo ThinkPad P43s](lenovo/thinkpad/p43s) | `` | `lenovo-thinkpad-p43s` | diff --git a/flake.nix b/flake.nix index 3cd9e355..2b78c7f3 100644 --- a/flake.nix +++ b/flake.nix @@ -211,6 +211,7 @@ lenovo-thinkpad-p14s-intel-gen5 = import ./lenovo/thinkpad/p14s/intel/gen5; lenovo-thinkpad-p16s-amd-gen1 = import ./lenovo/thinkpad/p16s/amd/gen1; lenovo-thinkpad-p16s-amd-gen2 = import ./lenovo/thinkpad/p16s/amd/gen2; + lenovo-thinkpad-p16s-amd-gen4 = import ./lenovo/thinkpad/p16s/amd/gen4; lenovo-thinkpad-p16s-intel-gen2 = import ./lenovo/thinkpad/p16s/intel/gen2; lenovo-thinkpad-p43s = import ./lenovo/thinkpad/p43s; lenovo-thinkpad-p50 = import ./lenovo/thinkpad/p50; diff --git a/lenovo/thinkpad/p16s/amd/gen4/default.nix b/lenovo/thinkpad/p16s/amd/gen4/default.nix new file mode 100644 index 00000000..665d3d41 --- /dev/null +++ b/lenovo/thinkpad/p16s/amd/gen4/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../. + ]; +} From 680761f019c3d37c5a3d920b1ff8c61ded68cd6b Mon Sep 17 00:00:00 2001 From: eymeric Date: Sun, 3 Aug 2025 11:45:33 +0200 Subject: [PATCH 21/45] fix: tc358743 dt overlay --- raspberry-pi/4/tc358743.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/raspberry-pi/4/tc358743.nix b/raspberry-pi/4/tc358743.nix index 840953aa..329112bb 100644 --- a/raspberry-pi/4/tc358743.nix +++ b/raspberry-pi/4/tc358743.nix @@ -17,6 +17,7 @@ in }; config = lib.mkIf cfg.enable { + hardware.deviceTree.filter = "bcm2711-rpi-4*.dtb"; hardware.deviceTree.overlays = [ { name = "tc358743-overlay"; From 79649965c5f00f1a13c0517625828f3df0f50f47 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Sat, 2 Aug 2025 13:16:10 +0100 Subject: [PATCH 22/45] fix(raspberry-pi-4): enable building kernel Fixes https://github.com/NixOS/nixos-hardware/issues/858 --- raspberry-pi/4/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/raspberry-pi/4/default.nix b/raspberry-pi/4/default.nix index e02ba0b3..d862a2e7 100644 --- a/raspberry-pi/4/default.nix +++ b/raspberry-pi/4/default.nix @@ -37,6 +37,9 @@ "reset-raspberrypi" # required for vl805 firmware to load ]; + # Allow building kernel + initrd.systemd.tpm2.enable = false; + loader = { grub.enable = lib.mkDefault false; generic-extlinux-compatible.enable = lib.mkDefault true; From c4af46bb6a91f90a99d9fc0b89a0fda85122943b Mon Sep 17 00:00:00 2001 From: Jasper Chan Date: Wed, 13 Aug 2025 21:36:43 -0700 Subject: [PATCH 23/45] raspberry-pi/4: support enabling/disabling media-controller api on tc358743 --- raspberry-pi/4/tc358743.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/raspberry-pi/4/tc358743.nix b/raspberry-pi/4/tc358743.nix index 840953aa..a8a7c356 100644 --- a/raspberry-pi/4/tc358743.nix +++ b/raspberry-pi/4/tc358743.nix @@ -13,6 +13,11 @@ in running ustreamer (which starts webservice providing a camera stream): ''${pkgs.ustreamer}/bin/ustreamer --persistent --dv-timings ''; + media-controller = lib.mkEnableOption '' + Enable support for the Media Controller API. + + See https://forums.raspberrypi.com/viewtopic.php?t=322076 for details + ''; }; }; @@ -61,6 +66,15 @@ in __overlay__ { status = "okay"; + ${ + if cfg.media-controller then + "" + else + '' + compatible = "brcm,bcm2835-unicam-legacy"; + '' + } + port { endpoint { From 292aeb6fd6a33045f73e24cbf51ed22ef4156094 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mads=20Rumle=20Nordstr=C3=B8m?= Date: Fri, 15 Aug 2025 13:16:50 +0200 Subject: [PATCH 24/45] added macbook pro 11,4 config --- README.md | 1 + apple/macbook-pro/11-4/README.md | 42 ++++++++++++++++++++++++++++++ apple/macbook-pro/11-4/default.nix | 16 ++++++++++++ flake.nix | 1 + 4 files changed, 60 insertions(+) create mode 100644 apple/macbook-pro/11-4/README.md create mode 100644 apple/macbook-pro/11-4/default.nix diff --git a/README.md b/README.md index 7a774cf0..99bfd20c 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ See code for all available configurations. | [Apple MacBook Pro 8,1](apple/macbook-pro/8-1) | `` | `apple-macbook-pro-8-1` | | [Apple MacBook Pro 10,1](apple/macbook-pro/10-1) | `` | `apple-macbook-pro-10-1` | | [Apple MacBook Pro 11,1](apple/macbook-pro/11-1) | `` | `apple-macbook-pro-11-1` | +| [Apple MacBook Pro 11,4](apple/macbook-pro/11-4) | `` | `apple-macbook-pro-11-4` | | [Apple MacBook Pro 11,5](apple/macbook-pro/11-5) | `` | `apple-macbook-pro-11-5` | | [Apple MacBook Pro 12,1](apple/macbook-pro/12-1) | `` | `apple-macbook-pro-12-1` | | [Apple MacBook Pro 14,1](apple/macbook-pro/14-1) | `` | `apple-macbook-pro-14-1` | diff --git a/apple/macbook-pro/11-4/README.md b/apple/macbook-pro/11-4/README.md new file mode 100644 index 00000000..dc0a17c8 --- /dev/null +++ b/apple/macbook-pro/11-4/README.md @@ -0,0 +1,42 @@ +# Apple MacBookPro11,4 + +[Product page](https://support.apple.com/en-us/111955) + + +## Tested Hardware +```console +foo@bar:~$ lspci -nn +00:00.0 Host bridge [0600]: Intel Corporation Crystal Well DRAM Controller [8086:0d04] (rev 08) +00:01.0 PCI bridge [0604]: Intel Corporation Crystal Well PCI Express x16 Controller [8086:0d01] (rev 08) +00:01.1 PCI bridge [0604]: Intel Corporation Crystal Well PCI Express x8 Controller [8086:0d05] (rev 08) +00:02.0 VGA compatible controller [0300]: Intel Corporation Crystal Well Integrated Graphics Controller [8086:0d26] (rev 08) +00:03.0 Audio device [0403]: Intel Corporation Crystal Well HD Audio Controller [8086:0d0c] (rev 08) +00:14.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI [8086:8c31] (rev 05) +00:16.0 Communication controller [0780]: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 [8086:8c3a] (rev 04) +00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller [8086:8c20] (rev 05) +00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 [8086:8c10] (rev d5) +00:1c.2 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 [8086:8c14] (rev d5) +00:1c.3 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 [8086:8c16] (rev d5) +00:1f.0 ISA bridge [0601]: Intel Corporation HM87 Express LPC Controller [8086:8c4b] (rev 05) +00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller [8086:8c22] (rev 05) +00:1f.6 Signal processing controller [1180]: Intel Corporation 8 Series Chipset Family Thermal Management Controller [8086:8c24] (rev 05) +01:00.0 SATA controller [0106]: Samsung Electronics Co Ltd S4LN058A01[SSUBX] AHCI SSD Controller (Apple slot) [144d:a801] (rev 01) +03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 01) +04:00.0 Multimedia controller [0480]: Broadcom Inc. and subsidiaries 720p FaceTime HD Camera [14e4:1570] +05:00.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +06:00.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +06:03.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +06:04.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +06:05.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +06:06.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +07:00.0 System peripheral [0880]: Intel Corporation DSL5520 Thunderbolt 2 NHI [Falcon Ridge 4C 2013] [8086:156c] +``` + +## Tested Nix Configuration + - system: `"x86_64-linux"` + - host os: `Linux 6.12.36, NixOS, 25.11 (Xantusia), 25.11.20250708.9807714` + - multi-user?: `yes` + - sandbox: `yes` + - version: `nix-env (Nix) 2.28.4` + - channels(root): `"nixos"` + - nixpkgs: `/nix/store/bgl6ldj5ihbwcq8p42z3a0qzgqafgk2b-source` diff --git a/apple/macbook-pro/11-4/default.nix b/apple/macbook-pro/11-4/default.nix new file mode 100644 index 00000000..7dec9858 --- /dev/null +++ b/apple/macbook-pro/11-4/default.nix @@ -0,0 +1,16 @@ +{ lib, config, pkgs, modulesPath, ... }: +{ + imports = [ + ../. + ../../../common/cpu/intel/haswell + ../../../common/pc/ssd + "${modulesPath}/hardware/network/broadcom-43xx.nix" + ]; + + hardware.graphics.enable = lib.mkDefault true; + + # Faster wakeups from suspend + systemd.sleep.extraConfig = '' + MemorySleepMode=s2idle + ''; +} diff --git a/flake.nix b/flake.nix index 14cd6884..2340c81a 100644 --- a/flake.nix +++ b/flake.nix @@ -26,6 +26,7 @@ apple-macbook-pro-8-1 = import ./apple/macbook-pro/8-1; apple-macbook-pro-10-1 = import ./apple/macbook-pro/10-1; apple-macbook-pro-11-1 = import ./apple/macbook-pro/11-1; + apple-macbook-pro-11-4 = import ./apple/macbook-pro/11-4; apple-macbook-pro-11-5 = import ./apple/macbook-pro/11-5; apple-macbook-pro-12-1 = import ./apple/macbook-pro/12-1; apple-macbook-pro-14-1 = import ./apple/macbook-pro/14-1; From 7dd36b62fc1316dc33d63d4ada114f52b5300d8d Mon Sep 17 00:00:00 2001 From: Matt Schwennesen Date: Fri, 15 Aug 2025 18:22:42 -0500 Subject: [PATCH 25/45] fix typo casuing error --- microsoft/surface/common/kernel/6.12/patches.nix | 6 ++---- microsoft/surface/common/kernel/6.15/patches.nix | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/microsoft/surface/common/kernel/6.12/patches.nix b/microsoft/surface/common/kernel/6.12/patches.nix index d5cc8ccc..a2ce7d1a 100644 --- a/microsoft/surface/common/kernel/6.12/patches.nix +++ b/microsoft/surface/common/kernel/6.12/patches.nix @@ -3,13 +3,11 @@ kernel ? lib.kernel, patchSrc, version, -}: - -[ +}: [ { name = "microsoft-surface-patches-linux-${version}"; patch = null; - extraStructuredConfig = with kernel; { + structuredExtraConfig = with kernel; { STAGING_MEDIA = yes; ## diff --git a/microsoft/surface/common/kernel/6.15/patches.nix b/microsoft/surface/common/kernel/6.15/patches.nix index 6f685ee4..bcd253c1 100644 --- a/microsoft/surface/common/kernel/6.15/patches.nix +++ b/microsoft/surface/common/kernel/6.15/patches.nix @@ -3,13 +3,11 @@ kernel ? lib.kernel, patchSrc, version, -}: - -[ +}: [ { name = "microsoft-surface-patches-linux-${version}"; patch = null; - extraStructuredConfig = with kernel; { + structuredExtraConfig = with kernel; { STAGING_MEDIA = yes; ## ## Surface Aggregator Module From c006c5a59b9f844ca5e835e0bb1aed85a9bf4284 Mon Sep 17 00:00:00 2001 From: Matt Schwennesen Date: Fri, 15 Aug 2025 23:00:53 -0500 Subject: [PATCH 26/45] formatting --- microsoft/surface/common/kernel/6.12/patches.nix | 4 +++- microsoft/surface/common/kernel/6.15/patches.nix | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/microsoft/surface/common/kernel/6.12/patches.nix b/microsoft/surface/common/kernel/6.12/patches.nix index a2ce7d1a..fd48cb7e 100644 --- a/microsoft/surface/common/kernel/6.12/patches.nix +++ b/microsoft/surface/common/kernel/6.12/patches.nix @@ -3,7 +3,9 @@ kernel ? lib.kernel, patchSrc, version, -}: [ +}: + +[ { name = "microsoft-surface-patches-linux-${version}"; patch = null; diff --git a/microsoft/surface/common/kernel/6.15/patches.nix b/microsoft/surface/common/kernel/6.15/patches.nix index bcd253c1..e4245046 100644 --- a/microsoft/surface/common/kernel/6.15/patches.nix +++ b/microsoft/surface/common/kernel/6.15/patches.nix @@ -3,7 +3,9 @@ kernel ? lib.kernel, patchSrc, version, -}: [ +}: + +[ { name = "microsoft-surface-patches-linux-${version}"; patch = null; From 6287c9e15f1f575157e8c8b7627b5b5858265821 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Aug 2025 03:34:00 +0000 Subject: [PATCH 27/45] build(deps): bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4f58d888..ac55dd2a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,13 +9,13 @@ jobs: nixfmt: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: cachix/install-nix-action@v31 - run: cd tests && nix fmt .. -- --fail-on-change tests: needs: nixfmt runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: cachix/install-nix-action@v31 - run: nix run ./tests#run . \ No newline at end of file From 2d512d0f4ef9908c104c4e451bb1571fe81a4267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mads=20Rumle=20Nordstr=C3=B8m?= Date: Mon, 18 Aug 2025 13:14:33 +0200 Subject: [PATCH 28/45] removed s2idle for macbookpro11,4 as default --- apple/macbook-pro/11-4/default.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/apple/macbook-pro/11-4/default.nix b/apple/macbook-pro/11-4/default.nix index 7dec9858..049380c6 100644 --- a/apple/macbook-pro/11-4/default.nix +++ b/apple/macbook-pro/11-4/default.nix @@ -8,9 +8,4 @@ ]; hardware.graphics.enable = lib.mkDefault true; - - # Faster wakeups from suspend - systemd.sleep.extraConfig = '' - MemorySleepMode=s2idle - ''; } From e3e3717d85ca1105afc9ec5b3a6a4ce4ba204135 Mon Sep 17 00:00:00 2001 From: Cassie Cheung Date: Mon, 11 Aug 2025 18:14:42 +0800 Subject: [PATCH 29/45] apple/t2: kernel 6.15 -> 6.16; sync patches --- apple/t2/pkgs/linux-t2/latest.json | 34 ++++++------------------------ apple/t2/pkgs/linux-t2/latest.nix | 4 ++-- apple/t2/pkgs/linux-t2/stable.json | 4 ++-- 3 files changed, 11 insertions(+), 31 deletions(-) diff --git a/apple/t2/pkgs/linux-t2/latest.json b/apple/t2/pkgs/linux-t2/latest.json index 629d74d2..09dc89b3 100644 --- a/apple/t2/pkgs/linux-t2/latest.json +++ b/apple/t2/pkgs/linux-t2/latest.json @@ -1,5 +1,5 @@ { - "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/8ec11f3aaa314d25e18842851a2124c0031e2e3f/", + "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/6b41c3fd65913e0fa3592ad16ff4a3a5b01efc7a/", "patches": [ { "name": "1001-Add-apple-bce-driver.patch", @@ -37,29 +37,9 @@ "name": "1011-HID-multitouch-add-device-ID-for-Apple-Touch-Bar.patch", "hash": "sha256-dIzEOj89D2rIEc2/mjq3TkIfI3ZHzu0VRDQQOzp+Snc=" }, - { - "name": "1013-lib-vsprintf-Add-support-for-generic-FourCCs-by-exte.patch", - "hash": "sha256-g8M3j1ZPND10/LtPD/txaSoJGV9Lp+g5bgn+vQc56p4=" - }, - { - "name": "1014-printf-add-tests-for-generic-FourCCs.patch", - "hash": "sha256-5Z4cFBMAY695OEU/CxiGQkUz68zmKdxssD+yp1DCYgs=" - }, - { - "name": "1015-drm-appletbdrm-use-p4cl-instead-of-p4cc.patch", - "hash": "sha256-rZej0ZbpPv+8NROuYnf4Jpu9scCsmbKWyz7yf5A3G3s=" - }, - { - "name": "1016-vsprintf-Use-p4chR-instead-of-p4cn-for-reading-data-.patch", - "hash": "sha256-/Ork2CmYk6SG213Owk+nGsw7KTEVDLRzQTeWcKrPZGw=" - }, - { - "name": "1017-checkpatch-remove-p4cn.patch", - "hash": "sha256-lnMnjnMiR9WSNf/XYsiOwFdC9xKv8zSluWiR584xFPU=" - }, { "name": "2008-i915-4-lane-quirk-for-mbp15-1.patch", - "hash": "sha256-Ui9tK4IGSWfEscmD92emX/NfulO0m8zwLc9ivIClCFQ=" + "hash": "sha256-PjMVt4u505PXnKFpojov0Uwhj0KxZas1E4NYJGI6lQ4=" }, { "name": "2009-apple-gmux-allow-switching-to-igpu-at-probe.patch", @@ -103,7 +83,7 @@ }, { "name": "4001-asahi-trackpad.patch", - "hash": "sha256-QM/FtDft4N4imJBuEHg6cH3e8vEyMPLt0alDhugLPy8=" + "hash": "sha256-nOpQ3t+QQXco6p7C03fM5EZ3ZfnzwC6UCFwHQd1EnGE=" }, { "name": "4002-HID-quirks-remove-T2-devices-from-hid_mouse_ignore_l.patch", @@ -115,7 +95,7 @@ }, { "name": "4004-HID-magicmouse-Add-support-for-trackpads-found-on-T2.patch", - "hash": "sha256-HcPX7gY3hnlwM/tY06pbtXnch04AqwHgC596E8ZqGY8=" + "hash": "sha256-dNrpDlIE9SaQUOntVQHMOyj7T/dsuRemN56yskKWue0=" }, { "name": "4005-HID-apple-Add-necessary-IDs-and-support-for-replacem.patch", @@ -123,15 +103,15 @@ }, { "name": "4006-HID-magicmouse-Add-MacBookPro15-1-replacement-trackp.patch", - "hash": "sha256-uAlT/4ADwYyKvbuPQaGwqCjZ2/myruC63etVV6cfFLk=" + "hash": "sha256-mMqHhxig+Z9eVPaa1qfcNVCRX16B6/KuEd1KnSZMLLk=" }, { "name": "7001-drm-i915-fbdev-Discard-BIOS-framebuffers-exceeding-h.patch", - "hash": "sha256-O6RHFxmKZn7aCq1D+r5z2T3jLt0r5+01EABD9rs0E5M=" + "hash": "sha256-/EKN7JsAxcpAgfJFtPp2NLYaGqQ0kl8wjJEXifSzJpY=" }, { "name": "8001-Add-APFS-driver.patch", - "hash": "sha256-io17Kk6FDscDoDshddK9TqSPuXVFTzjvRUwOGTl5cjM=" + "hash": "sha256-uR5hg75SFFWzfrKyU5UnzPL4U7LkjqGs44rkxM7ur8o=" }, { "name": "8002-Necessary-modifications-to-build-APFS-with-the-kerne.patch", diff --git a/apple/t2/pkgs/linux-t2/latest.nix b/apple/t2/pkgs/linux-t2/latest.nix index 747db71e..bba508ba 100644 --- a/apple/t2/pkgs/linux-t2/latest.nix +++ b/apple/t2/pkgs/linux-t2/latest.nix @@ -1,6 +1,6 @@ -{ callPackage, linux_6_15, ... }@args: +{ callPackage, linux_6_16, ... }@args: callPackage ./generic.nix args { - kernel = linux_6_15; + kernel = linux_6_16; patchesFile = ./latest.json; } diff --git a/apple/t2/pkgs/linux-t2/stable.json b/apple/t2/pkgs/linux-t2/stable.json index 325f42e4..d6d64cd1 100644 --- a/apple/t2/pkgs/linux-t2/stable.json +++ b/apple/t2/pkgs/linux-t2/stable.json @@ -1,5 +1,5 @@ { - "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/e08a76e1f1234885b9b68be6c843bf91833e8b0a/", + "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/7ddb75990d7377d6aebe3f2cd3a718124c61c809/", "patches": [ { "name": "1001-Add-apple-bce-driver.patch", @@ -131,7 +131,7 @@ }, { "name": "8001-Add-APFS-driver.patch", - "hash": "sha256-O3RNtpeZQENPEfyYi/0ZTLhAWBAw6pmxMS30NUxOTdk=" + "hash": "sha256-QpIPsMjWNPOkw6rSKn7rW0Fmx9HUwJaiGy3pZeT5Fd0=" }, { "name": "8002-Necessary-modifications-to-build-APFS-with-the-kerne.patch", From 0413405b45b381c8c8fa25d8e81fcbb395bc423e Mon Sep 17 00:00:00 2001 From: bashfulrobot Date: Tue, 19 Aug 2025 10:13:29 -0700 Subject: [PATCH 30/45] =?UTF-8?q?feat:=20=E2=9C=A8=20add=20ThinkPad=20T14?= =?UTF-8?q?=20Intel=20Gen=206=20hardware=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add complete hardware profile for Lenovo ThinkPad T14 Intel Gen 6 with: - Lunar Lake CPU architecture support with modern kernel requirements - Intel Arc graphics integration - Kernel parameters for backlight and touchpad optimization - Fingerprint reader support with comprehensive PAM configuration guidance - Disabled throttled service for modern Intel power management - Updated flake.nix and README.md with new module entries Includes detailed documentation for fingerprint authentication setup with warnings about potential login issues and proper PAM configuration in host systems. Follows CONTRIBUTING.md guidelines for profile structure. --- README.md | 1 + flake.nix | 1 + lenovo/thinkpad/t14/intel/default.nix | 9 ++++ lenovo/thinkpad/t14/intel/gen6/default.nix | 60 ++++++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 lenovo/thinkpad/t14/intel/default.nix create mode 100644 lenovo/thinkpad/t14/intel/gen6/default.nix diff --git a/README.md b/README.md index 7a774cf0..5316196b 100644 --- a/README.md +++ b/README.md @@ -288,6 +288,7 @@ See code for all available configurations. | [Lenovo ThinkPad T14 AMD Gen 4](lenovo/thinkpad/t14/amd/gen4) | `` | `lenovo-thinkpad-t14-amd-gen4` | | [Lenovo ThinkPad T14 AMD Gen 5](lenovo/thinkpad/t14/amd/gen5) | `` | `lenovo-thinkpad-t14-amd-gen5` | | [Lenovo ThinkPad T14](lenovo/thinkpad/t14) | `` | `lenovo-thinkpad-t14` | +| [Lenovo ThinkPad T14 Intel Gen 6](lenovo/thinkpad/t14/intel/gen6) | `` | `lenovo-thinkpad-t14-intel-gen6` | | [Lenovo ThinkPad T14s AMD Gen 1](lenovo/thinkpad/t14s/amd/gen1) | `` | `lenovo-thinkpad-t14s-amd-gen1` | | [Lenovo ThinkPad T14s AMD Gen 4](lenovo/thinkpad/t14s/amd/gen4) | `` | `lenovo-thinkpad-t14s-amd-gen4` | | [Lenovo ThinkPad T14s](lenovo/thinkpad/t14s) | `` | `lenovo-thinkpad-t14s` | diff --git a/flake.nix b/flake.nix index 3cd9e355..019c8428 100644 --- a/flake.nix +++ b/flake.nix @@ -223,6 +223,7 @@ lenovo-thinkpad-t14-amd-gen3 = import ./lenovo/thinkpad/t14/amd/gen3; lenovo-thinkpad-t14-amd-gen4 = import ./lenovo/thinkpad/t14/amd/gen4; lenovo-thinkpad-t14-amd-gen5 = import ./lenovo/thinkpad/t14/amd/gen5; + lenovo-thinkpad-t14-intel-gen6 = import ./lenovo/thinkpad/t14/intel/gen6; lenovo-thinkpad-t14s = import ./lenovo/thinkpad/t14s; lenovo-thinkpad-t14s-amd-gen1 = import ./lenovo/thinkpad/t14s/amd/gen1; lenovo-thinkpad-t14s-amd-gen4 = import ./lenovo/thinkpad/t14s/amd/gen4; diff --git a/lenovo/thinkpad/t14/intel/default.nix b/lenovo/thinkpad/t14/intel/default.nix new file mode 100644 index 00000000..330ecd3e --- /dev/null +++ b/lenovo/thinkpad/t14/intel/default.nix @@ -0,0 +1,9 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../../common/cpu/intel + ../../../../common/gpu/intel + ]; +} diff --git a/lenovo/thinkpad/t14/intel/gen6/default.nix b/lenovo/thinkpad/t14/intel/gen6/default.nix new file mode 100644 index 00000000..e6e6a5f4 --- /dev/null +++ b/lenovo/thinkpad/t14/intel/gen6/default.nix @@ -0,0 +1,60 @@ +{ + lib, + pkgs, + config, + ... +}: + +{ + imports = [ + ../../. + ../../../../../common/cpu/intel/lunar-lake + ]; + + # T14 Gen 6 uses Intel Core Ultra processors (Lunar Lake architecture) + # with integrated Intel Arc graphics + # The lunar-lake module already includes appropriate GPU support + + # Ensure modern kernel for full Lunar Lake support + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.8") pkgs.linuxPackages_latest; + + # TODO: Looking for feedback on these kernel parameters for T14 Gen 6 + # Force use of the thinkpad_acpi driver for backlight control + # This allows the backlight save/load systemd service to work + boot.kernelParams = [ + "acpi_backlight=native" + # TODO: Looking for feedback - touchpad fix needed for proper click registration on some T14 models + "psmouse.synaptics_intertouch=0" + ]; + + # TODO: Looking for feedback - modern Intel CPUs don't typically need throttled service + # which can interfere with newer power management on Lunar Lake + services.throttled.enable = lib.mkDefault false; + + # Enable fingerprint reader support + # NOTE: PAM configuration should be done in host config to avoid login issues + # See: https://github.com/NixOS/nixpkgs/issues/171136 + services.fprintd.enable = lib.mkDefault true; + + # For complete fingerprint authentication in GNOME, add the following to your host config: + # + # security.pam.services = { + # # Enable fingerprint authentication for sudo + # sudo.fprintAuth = lib.mkDefault true; + # + # # Enable fingerprint authentication for su + # su.fprintAuth = lib.mkDefault true; + # + # # Enable fingerprint authentication for screen unlock + # xscreensaver.fprintAuth = lib.mkDefault true; + # + # # WARNING: login.fprintAuth may break GDM password authentication + # # Only enable if you understand the risks: + # # login.fprintAuth = lib.mkDefault true; + # }; + # + # After configuration: + # 1. Rebuild your system + # 2. Enroll fingerprint: sudo fprintd-enroll $USER + # 3. Test sudo and screen unlock with fingerprint +} From 17113fc124517f837c27f3ebb3a23659a7ca4442 Mon Sep 17 00:00:00 2001 From: ktechmidas Date: Wed, 20 Aug 2025 13:42:37 +0300 Subject: [PATCH 31/45] Added g533q --- asus/rog-strix/g533q/default.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 asus/rog-strix/g533q/default.nix diff --git a/asus/rog-strix/g533q/default.nix b/asus/rog-strix/g533q/default.nix new file mode 100644 index 00000000..be3acbfa --- /dev/null +++ b/asus/rog-strix/g533q/default.nix @@ -0,0 +1,18 @@ +{ ... }: + +{ + imports = [ + ../../../common/cpu/amd + ../../../common/cpu/amd/pstate.nix + ../../../common/gpu/nvidia/prime.nix + ../../../common/gpu/nvidia/ampere + ../../../common/pc/laptop + ../../../common/pc/ssd + ../../battery.nix + ]; + + hardware.nvidia.prime = { + amdgpuBusId = "PCI:6:0:0"; + nvidiaBusId = "PCI:1:0:0"; + }; +} From 5e741b56dc39de0ff7f2565867dd08a2118155b2 Mon Sep 17 00:00:00 2001 From: ktechmidas Date: Wed, 20 Aug 2025 13:50:51 +0300 Subject: [PATCH 32/45] added supporting files --- README.md | 1 + flake.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 7a774cf0..03361105 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ See code for all available configurations. | [Asus ROG Flow X13 GV302X\* (2023)](asus/flow/gv302x/nvidia) | `` | `asus-flow-gv302x-nvidia` | | [Asus ROG Strix G513IM](asus/rog-strix/g513im) | `` | `asus-rog-strix-g513im` | | [Asus ROG Strix G533ZW](asus/rog-strix/g533zw) | `` | `asus-rog-strix-g533zw` | +| [Asus ROG Strix G533Q](asus/rog-strix/g533q) | `` | `asus-rog-strix-g533zw` | | [Asus ROG Strix G713IE](asus/rog-strix/g713ie) | `` | `asus-rog-strix-g713ie` | | [Asus ROG Strix G733QS](asus/rog-strix/g733qs) | `` | `asus-rog-strix-g733qs` | | [Asus ROG Strix X570-E GAMING](asus/rog-strix/x570e) | `` | `asus-rog-strix-x570e` | diff --git a/flake.nix b/flake.nix index 3cd9e355..5f512890 100644 --- a/flake.nix +++ b/flake.nix @@ -43,6 +43,7 @@ asus-pro-ws-x570-ace = import ./asus/pro-ws-x570-ace; asus-rog-strix-g513im = import ./asus/rog-strix/g513im; asus-rog-strix-g533zw = import ./asus/rog-strix/g533zw; + asus-rog-strix-g533q = import ./asus/rog-strix/g533q; asus-rog-strix-g713ie = import ./asus/rog-strix/g713ie; asus-rog-strix-g733qs = import ./asus/rog-strix/g733qs; asus-rog-strix-x570e = import ./asus/rog-strix/x570e; From c13241f1c0ba923840b2598db289ef120818c88b Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Wed, 27 Aug 2025 00:30:49 +0800 Subject: [PATCH 33/45] framework 16: Remove headset quirk Framework 16 does not have a built-in headphone jack, this is not needed. Signed-off-by: Daniel Schaefer --- framework/16-inch/common/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/framework/16-inch/common/default.nix b/framework/16-inch/common/default.nix index 8443e401..d84252b3 100644 --- a/framework/16-inch/common/default.nix +++ b/framework/16-inch/common/default.nix @@ -8,12 +8,6 @@ ../../framework-tool.nix ]; - # Fix TRRS headphones missing a mic - # https://community.frame.work/t/headset-microphone-on-linux/12387/3 - boot.extraModprobeConfig = lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "6.6.8") '' - options snd-hda-intel model=dell-headset-multi - ''; - # For fingerprint support services.fprintd.enable = lib.mkDefault true; From 3a4da5f8c13b542c1298e7f0da6c1767db59602d Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Wed, 27 Aug 2025 00:43:20 +0800 Subject: [PATCH 34/45] framework: Enable fwupd by default Users should keep their firmware (not just BIOS) up to date. Framework 13 Intel 11-13th Gen have some components that can't be updated with fwupd, so some BIOS versions are better to be installed through the EFI shell or Windows. Signed-off-by: Daniel Schaefer --- framework/12-inch/13th-gen-intel/README.md | 11 ++++------- framework/12-inch/common/default.nix | 3 +++ framework/13-inch/7040-amd/README.md | 11 ++++------- framework/13-inch/7040-amd/default.nix | 3 ++- framework/13-inch/amd-ai-300-series/README.md | 13 ++++++------- framework/13-inch/amd-ai-300-series/default.nix | 4 ++++ .../13-inch/intel-core-ultra-series1/README.md | 13 ++++++------- .../13-inch/intel-core-ultra-series1/default.nix | 3 +++ framework/16-inch/7040-amd/README.md | 12 +++++++++++- framework/16-inch/7040-amd/default.nix | 2 ++ framework/16-inch/common/default.nix | 3 +++ 11 files changed, 48 insertions(+), 30 deletions(-) diff --git a/framework/12-inch/13th-gen-intel/README.md b/framework/12-inch/13th-gen-intel/README.md index 6d35825f..4d9ecdb5 100644 --- a/framework/12-inch/13th-gen-intel/README.md +++ b/framework/12-inch/13th-gen-intel/README.md @@ -2,16 +2,13 @@ ## Updating Firmware -First put enable `fwupd` +Everything is updateable through fwupd, so it's enabled by default. -```nix -services.fwupd.enable = true; -``` - -Then run +To get the latest firmware, run: ```sh - $ fwupdmgr update +$ fwupdmgr refresh +$ fwupdmgr update ``` - [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop12.RPL.BIOS.firmware) diff --git a/framework/12-inch/common/default.nix b/framework/12-inch/common/default.nix index 88195ea6..5e8aa81f 100644 --- a/framework/12-inch/common/default.nix +++ b/framework/12-inch/common/default.nix @@ -16,4 +16,7 @@ # Needed for desktop environments to detect display orientation hardware.sensor.iio.enable = lib.mkDefault true; + + # Everything is updateable through fwupd + services.fwupd.enable = true; } diff --git a/framework/13-inch/7040-amd/README.md b/framework/13-inch/7040-amd/README.md index abaef603..76b0db1a 100644 --- a/framework/13-inch/7040-amd/README.md +++ b/framework/13-inch/7040-amd/README.md @@ -2,16 +2,13 @@ ## Updating Firmware -First put enable `fwupd` +Everything is updateable through fwupd, so it's enabled by default. -```nix -services.fwupd.enable = true; -``` - -Then run +To get the latest firmware, run: ```sh - $ fwupdmgr update +$ fwupdmgr refresh +$ fwupdmgr update ``` - [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.Ryzen7040.BIOS.firmware) diff --git a/framework/13-inch/7040-amd/default.nix b/framework/13-inch/7040-amd/default.nix index 2cd21f60..65b71749 100644 --- a/framework/13-inch/7040-amd/default.nix +++ b/framework/13-inch/7040-amd/default.nix @@ -14,7 +14,6 @@ in ../common/amd.nix ../../../common/cpu/amd/raphael/igpu.nix ]; - options = { hardware.framework.amd-7040.preventWakeOnAC = lib.mkOption { type = lib.types.bool; @@ -30,6 +29,8 @@ in }; config = { + services.fwupd.enable = true; + # Workaround applied upstream in Linux >=6.7 (on BIOS 03.03) # https://github.com/torvalds/linux/commit/a55bdad5dfd1efd4ed9ffe518897a21ca8e4e193 services.udev.extraRules = diff --git a/framework/13-inch/amd-ai-300-series/README.md b/framework/13-inch/amd-ai-300-series/README.md index 8f3b7a42..a01b177b 100644 --- a/framework/13-inch/amd-ai-300-series/README.md +++ b/framework/13-inch/amd-ai-300-series/README.md @@ -2,14 +2,13 @@ ## Updating Firmware -First put enable `fwupd` +Everything is updateable through fwupd, so it's enabled by default. -```nix -services.fwupd.enable = true; -``` - -Then run +To get the latest firmware, run: ```sh - $ fwupdmgr update +$ fwupdmgr refresh +$ fwupdmgr update ``` + +- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.RyzenAI300.BIOS.firmware) diff --git a/framework/13-inch/amd-ai-300-series/default.nix b/framework/13-inch/amd-ai-300-series/default.nix index 0b59e780..c0a479a8 100644 --- a/framework/13-inch/amd-ai-300-series/default.nix +++ b/framework/13-inch/amd-ai-300-series/default.nix @@ -10,7 +10,11 @@ ../common ../common/amd.nix ]; + config = { + # Everything is updateable through fwupd + services.fwupd.enable = true; + hardware.framework.laptop13.audioEnhancement.rawDeviceName = lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo"; diff --git a/framework/13-inch/intel-core-ultra-series1/README.md b/framework/13-inch/intel-core-ultra-series1/README.md index 8f3b7a42..7f0902e4 100644 --- a/framework/13-inch/intel-core-ultra-series1/README.md +++ b/framework/13-inch/intel-core-ultra-series1/README.md @@ -2,14 +2,13 @@ ## Updating Firmware -First put enable `fwupd` +Everything is updateable through fwupd, so it's enabled by default. -```nix -services.fwupd.enable = true; -``` - -Then run +To get the latest firmware, run: ```sh - $ fwupdmgr update +$ fwupdmgr refresh +$ fwupdmgr update ``` + +- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.MTL.BIOS.firmware) diff --git a/framework/13-inch/intel-core-ultra-series1/default.nix b/framework/13-inch/intel-core-ultra-series1/default.nix index b2828ff1..7553e687 100644 --- a/framework/13-inch/intel-core-ultra-series1/default.nix +++ b/framework/13-inch/intel-core-ultra-series1/default.nix @@ -11,6 +11,9 @@ ../common/intel.nix ]; + # Everything is updateable through fwupd + services.fwupd.enable = true; + # Need at least 6.9 to make suspend properly # Specifically this patch: https://github.com/torvalds/linux/commit/073237281a508ac80ec025872ad7de50cfb5a28a boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.9") ( diff --git a/framework/16-inch/7040-amd/README.md b/framework/16-inch/7040-amd/README.md index 0ce3dbe8..0e994c6e 100644 --- a/framework/16-inch/7040-amd/README.md +++ b/framework/16-inch/7040-amd/README.md @@ -1,4 +1,14 @@ # [Framework Laptop 16](https://frame.work/) ## Updating Firmware -The Framework Laptop 16 uses LVFS, so it can be updated via fwupd; see https://wiki.nixos.org/wiki/Fwupd for details + +Everything is updateable through fwupd, so it's enabled by default. + +To get the latest firmware, run: + +```sh +$ fwupdmgr refresh +$ fwupdmgr update +``` + +- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop16.Ryzen7040.BIOS.firmware) diff --git a/framework/16-inch/7040-amd/default.nix b/framework/16-inch/7040-amd/default.nix index 70275e69..b3bd0333 100644 --- a/framework/16-inch/7040-amd/default.nix +++ b/framework/16-inch/7040-amd/default.nix @@ -12,4 +12,6 @@ ../../../common/cpu/amd/raphael/igpu.nix ]; + # Everything is updateable through fwupd + services.fwupd.enable = true; } diff --git a/framework/16-inch/common/default.nix b/framework/16-inch/common/default.nix index 8443e401..cec1b7be 100644 --- a/framework/16-inch/common/default.nix +++ b/framework/16-inch/common/default.nix @@ -50,4 +50,7 @@ MatchDMIModalias=dmi:*svnFramework:pnLaptop16* AttrKeyboardIntegration=internal ''; + + # Everything is updateable through fwupd + services.fwupd.enable = true; } From cfb36e4feb6a9a423510260a7959eb0831461570 Mon Sep 17 00:00:00 2001 From: Tatesa Uradnik Date: Wed, 27 Aug 2025 13:04:31 +0200 Subject: [PATCH 35/45] fix: add missing import of ideapad 16iah8 --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 3cd9e355..807f811d 100644 --- a/flake.nix +++ b/flake.nix @@ -166,6 +166,7 @@ lenovo-ideapad-15ach6 = import ./lenovo/ideapad/15ach6; lenovo-ideapad-16ach6 = import ./lenovo/ideapad/16ach6; lenovo-ideapad-16ahp9 = import ./lenovo/ideapad/16ahp9; + lenovo-ideapad-s5-16iah8 = import ./lenovo/ideapad/16iah8; lenovo-ideapad-z510 = import ./lenovo/ideapad/z510; lenovo-ideapad-slim-5 = import ./lenovo/ideapad/slim-5; lenovo-ideapad-s145-15api = import ./lenovo/ideapad/s145-15api; From 6439a46c7ce9bf5b0d51438e0e316b748cf42fd5 Mon Sep 17 00:00:00 2001 From: lantianx Date: Fri, 8 Aug 2025 02:50:58 +0800 Subject: [PATCH 36/45] feat: add MECHREVO Yilong15Pro(GM5HG0A) --- README.md | 1 + flake.nix | 1 + mechrevo/GM5HG0A/default.nix | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 mechrevo/GM5HG0A/default.nix diff --git a/README.md b/README.md index 7a774cf0..b258c1d9 100644 --- a/README.md +++ b/README.md @@ -364,6 +364,7 @@ See code for all available configurations. | [Microsoft Surface Pro 9](microsoft/surface-pro/9) | `` | `microsoft-surface-pro-9` | | [Morefine M600](morefine/m600) | `` | `morefine-m600` | | [Minisforum V3](minisforum/v3) | `` | `minisforum-v3` | +| [MECHREVO Yilong15Pro](mechrevo/GM5HG0A) | `` | `mechrevo-gm5hg0a` | | [NXP iMX8 MPlus Evaluation Kit](nxp/imx8mp-evk) | `` | `nxp-imx8mp-evk` | | [NXP iMX8 MQuad Evaluation Kit](nxp/imx8mq-evk) | `` | `nxp-imx8mq-evk` | | [Hardkernel Odroid HC4](hardkernel/odroid-hc4/default.nix) | `` | `hardkernel-odroid-hc4` | diff --git a/flake.nix b/flake.nix index 3cd9e355..5d940674 100644 --- a/flake.nix +++ b/flake.nix @@ -290,6 +290,7 @@ lenovo-yoga-7-slim-gen8 = import ./lenovo/yoga/7/slim/gen8; letsnote-cf-lx4 = import ./panasonic/letsnote/cf-lx4; malibal-aon-s1-intel = import ./malibal/aon/s1; + mechrevo-gm5hg0a = import ./mechrevo/GM5HG0A; microchip-icicle-kit = import ./microchip/icicle-kit; microsoft-surface-go = import ./microsoft/surface/surface-go; microsoft-surface-pro-intel = import ./microsoft/surface/surface-pro-intel; diff --git a/mechrevo/GM5HG0A/default.nix b/mechrevo/GM5HG0A/default.nix new file mode 100644 index 00000000..6a9e2a9f --- /dev/null +++ b/mechrevo/GM5HG0A/default.nix @@ -0,0 +1,35 @@ +{ + lib, + pkgs, + config, + ... +}: +{ + imports = [ + ../../common/cpu/amd + ../../common/cpu/amd/pstate.nix + ../../common/cpu/amd/zenpower.nix + ../../common/cpu/amd/raphael/igpu.nix + ../../common/gpu/amd + ../../common/gpu/nvidia + ../../common/gpu/nvidia/ada-lovelace + ../../common/gpu/nvidia/prime.nix + ../../common/hidpi.nix + ../../common/pc/laptop + ../../common/pc/ssd + ]; + + # Resolve the issue of sleep mode being awakened by GPIO 6. + # https://nova.gal/blog/%E6%9C%BA%E6%A2%B0%E9%9D%A9%E5%91%BD%E7%BF%BC%E9%BE%99-15Pro-%E8%BF%81%E7%A7%BB-Linux-%E9%81%87%E5%88%B0%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98#%E6%97%A0%E6%B3%95%E4%BC%91%E7%9C%A0 + # https://lore.kernel.org/all/20221012221028.4817-1-mario.limonciello@amd.com/T/ + boot.kernelParams = [ "gpiolib_acpi.ignore_interrupt=AMDI0030:00@6" ]; + + hardware.nvidia = { + primeBatterySaverSpecialisation = lib.mkDefault true; + modesetting.enable = lib.mkDefault true; + prime = { + amdgpuBusId = "PCI:6:0:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + }; +} From 59e2d82cc23b05e99815ae7ad95f454905f3689d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mads=20Rumle=20Nordstr=C3=B8m?= Date: Fri, 29 Aug 2025 11:16:31 +0200 Subject: [PATCH 37/45] ran formatter for mbp11,4 --- apple/macbook-pro/11-4/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apple/macbook-pro/11-4/default.nix b/apple/macbook-pro/11-4/default.nix index 049380c6..611ac0b4 100644 --- a/apple/macbook-pro/11-4/default.nix +++ b/apple/macbook-pro/11-4/default.nix @@ -1,4 +1,10 @@ -{ lib, config, pkgs, modulesPath, ... }: +{ + lib, + config, + pkgs, + modulesPath, + ... +}: { imports = [ ../. From bfda6f34d3eaf310ea2565bd51bc48aabcc45f3a Mon Sep 17 00:00:00 2001 From: Stefano Pacifici Date: Fri, 29 Aug 2025 11:58:46 +0200 Subject: [PATCH 38/45] dell/precision/7520: use stable nvidia driver (not legacy) --- dell/precision/7520/README.md | 11 +++++++---- dell/precision/7520/default.nix | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/dell/precision/7520/README.md b/dell/precision/7520/README.md index b5c0946c..2c58d84e 100644 --- a/dell/precision/7520/README.md +++ b/dell/precision/7520/README.md @@ -61,7 +61,10 @@ Then use `fwupdmgr` to perform updates ## Nvidia Driver -The choice of the `legacy_390` driver is based on looking for PCI Device ID `10de:1436`. On the [nvidia driver site](https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/) which should indicate the -driver, the exact device isn't listed. However, we can see -[here](https://linux-hardware.org/?id=pci:10de-1436-103c-1909) has nvidia driver "375.82 and newer" listed. Since the -newest nvidia drivers don't support legacy devices, the closest version newer than 375.82 was chosen. +The choice of the `stable` driver is based on looking at the family of the card on [nouveau wiki's code names page](https://nouveau.freedesktop.org/CodeNames.html) obtained with: + +```bash +$ lspci -k -d ::03xx +``` + +Both `Quadro M2200 Mobile (GM206GLM)` and `Quadro M1200 Mobile (GM107GLM)` belong to the **Maxwell** family which is still supported by the stable driver. diff --git a/dell/precision/7520/default.nix b/dell/precision/7520/default.nix index 4742afb3..8ddc312e 100644 --- a/dell/precision/7520/default.nix +++ b/dell/precision/7520/default.nix @@ -32,7 +32,7 @@ enable32Bit = lib.mkDefault true; }; nvidia = { - package = config.boot.kernelPackages.nvidiaPackages.legacy_390; + package = config.boot.kernelPackages.nvidiaPackages.stable; nvidiaSettings = lib.mkDefault true; modesetting.enable = lib.mkDefault true; open = lib.mkDefault false; From 9691e6ee8a33dec6f8222314785868415bb78560 Mon Sep 17 00:00:00 2001 From: mkorje Date: Sat, 30 Aug 2025 00:52:57 +1000 Subject: [PATCH 39/45] apple/t2: sync stable patches --- apple/t2/pkgs/linux-t2/stable.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apple/t2/pkgs/linux-t2/stable.json b/apple/t2/pkgs/linux-t2/stable.json index d6d64cd1..a8dc9a04 100644 --- a/apple/t2/pkgs/linux-t2/stable.json +++ b/apple/t2/pkgs/linux-t2/stable.json @@ -1,5 +1,5 @@ { - "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/7ddb75990d7377d6aebe3f2cd3a718124c61c809/", + "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/cba79a9fcc64d8cd02e0d6f5ab519034db812648/", "patches": [ { "name": "1001-Add-apple-bce-driver.patch", @@ -103,7 +103,7 @@ }, { "name": "4001-asahi-trackpad.patch", - "hash": "sha256-NOuGgUxDQEfFPlij/EnhWmgqeG3/l+j+r2T1YJG7raY=" + "hash": "sha256-kfAYVovukZLD5ocHQxhoHJSa9c5XAJ1GhH1RlzGkS+k=" }, { "name": "4002-HID-quirks-remove-T2-devices-from-hid_mouse_ignore_l.patch", From f3444245a78f55dd22fca2f9f52b1f3e5382572b Mon Sep 17 00:00:00 2001 From: mkorje Date: Mon, 1 Sep 2025 21:05:51 +1000 Subject: [PATCH 40/45] apple/t2: sync stable patches (6.12.43 -> 6.12.44) --- apple/t2/pkgs/linux-t2/stable.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/apple/t2/pkgs/linux-t2/stable.json b/apple/t2/pkgs/linux-t2/stable.json index a8dc9a04..f70de9dc 100644 --- a/apple/t2/pkgs/linux-t2/stable.json +++ b/apple/t2/pkgs/linux-t2/stable.json @@ -1,5 +1,5 @@ { - "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/cba79a9fcc64d8cd02e0d6f5ab519034db812648/", + "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/5eaf1261d069bbc67aba7fe2737a5fe981e05a9e/", "patches": [ { "name": "1001-Add-apple-bce-driver.patch", @@ -49,10 +49,6 @@ "name": "1013-lib-vsprintf-Add-support-for-generic-FourCCs-by-exte.patch", "hash": "sha256-h3gxaKtvdm/GSd+AP1sPC9avWHOsceUxTmoua/3rIf4=" }, - { - "name": "1014-drm-format-helper-Add-conversion-from-XRGB8888-to-BG.patch", - "hash": "sha256-Ky19+cCiYDaHBh2o5IhZO8J1ExDT7o8K9cgPz+AL8Cg=" - }, { "name": "1015-drm-tiny-add-driver-for-Apple-Touch-Bars-in-x86-Macs.patch", "hash": "sha256-tDjK/VipVQbuNOURW38gssqeRLy3s8I+DVq0+4zGnHs=" From a57aded40e877bb419d98f8290efa4b8aa5beada Mon Sep 17 00:00:00 2001 From: KaiStarkk Date: Tue, 2 Sep 2025 01:19:01 +1000 Subject: [PATCH 41/45] Update README.md - wireplumber example issue --- microsoft/surface/README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/microsoft/surface/README.md b/microsoft/surface/README.md index 7fc5675c..3f99001c 100644 --- a/microsoft/surface/README.md +++ b/microsoft/surface/README.md @@ -103,6 +103,23 @@ with the `ath10k` QCA6174 Wifi device. This was fixed in Nov 2021: - https://github.com/linux-surface/linux-surface/issues/542#issuecomment-976995453 +## Troubleshooting IPU6 + +While the camera patches are applied in `common`, camera functionality is still WIP for several devices (see [https://github.com/linux-surface/linux-surface/wiki/Camera-Support](https://github.com/linux-surface/linux-surface/wiki/Camera-Support)). As a result they may break some userspace tools on unsupported devices, notably such as Wireplumber. An example fix for such userspace issues is shown below. +``` +services.pipewire.wireplumber.extraConfig = { + "50-surface-disable-libcamera.conf" = '' + monitor.libcamera = { enabled = false } + wireplumber.profiles = { + main = { + monitor.libcamera = disabled + hardware.video-capture = disabled + } + } + ''; +}; +``` + ### Background: With the older firmware, you would see messages like "Can't ping firmware". From e903fd796da4396598e1d0573f7516927feb3577 Mon Sep 17 00:00:00 2001 From: Hannah Izzie Gesser Date: Wed, 20 Aug 2025 14:15:42 +0200 Subject: [PATCH 42/45] Revert "apple: add hid_apple.iso_layout=0 kernel param" This reverts commit e228c7827b5ac2b08f07433aa8fbc8f2c41e85a5. --- apple/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apple/default.nix b/apple/default.nix index 5663cfeb..8ba93fdf 100644 --- a/apple/default.nix +++ b/apple/default.nix @@ -1,10 +1,6 @@ { config, lib, ... }: { - boot.kernelParams = [ - "hid_apple.iso_layout=0" - ]; - hardware.facetimehd.enable = lib.mkDefault (config.nixpkgs.config.allowUnfree or false); services.mbpfan.enable = lib.mkDefault true; From c69cdbed34aa6a39e91a7217a11833358f198036 Mon Sep 17 00:00:00 2001 From: Matteo Bongiovanni Date: Tue, 5 Aug 2025 10:04:49 +0200 Subject: [PATCH 43/45] system76-gaze18: add CPU module --- system76/gaze18/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system76/gaze18/default.nix b/system76/gaze18/default.nix index 61b3f92f..6a9b337a 100644 --- a/system76/gaze18/default.nix +++ b/system76/gaze18/default.nix @@ -9,6 +9,7 @@ ../. ../../common/gpu/nvidia/prime.nix ../../common/gpu/nvidia/ampere + ../../common/cpu/intel/raptor-lake ]; boot.initrd.kernelModules = [ "nvidia" ]; From 7fe67c44d1ca93e55219cdd470e64da6ce3fee64 Mon Sep 17 00:00:00 2001 From: Matteo Bongiovanni Date: Tue, 5 Aug 2025 10:11:38 +0200 Subject: [PATCH 44/45] system76-gaze18: use xserver.videoDrivers instead of initrd.kernelModules system76-gaze18: use xserver.videoDrivers instead of initrd.kernelModules --- system76/gaze18/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/system76/gaze18/default.nix b/system76/gaze18/default.nix index 6a9b337a..b65124e5 100644 --- a/system76/gaze18/default.nix +++ b/system76/gaze18/default.nix @@ -12,7 +12,11 @@ ../../common/cpu/intel/raptor-lake ]; - boot.initrd.kernelModules = [ "nvidia" ]; + # For offloading, `modesetting` is needed + services.xserver.videoDrivers = [ + "modesetting" + "nvidia" + ]; hardware.graphics = { enable = lib.mkDefault true; @@ -21,8 +25,6 @@ hardware.nvidia = { - # modesetting.enable = lib.mkDefault true; - powerManagement.finegrained = lib.mkDefault true; prime = { From f4a07aa370c5cb3d39f3d0f2215bbf5bce8f87b2 Mon Sep 17 00:00:00 2001 From: Matteo Bongiovanni Date: Tue, 19 Aug 2025 15:26:56 +0200 Subject: [PATCH 45/45] system76-gaze18: add laptop and ssd imports --- system76/gaze18/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system76/gaze18/default.nix b/system76/gaze18/default.nix index b65124e5..51caa436 100644 --- a/system76/gaze18/default.nix +++ b/system76/gaze18/default.nix @@ -10,6 +10,8 @@ ../../common/gpu/nvidia/prime.nix ../../common/gpu/nvidia/ampere ../../common/cpu/intel/raptor-lake + ../../common/pc/laptop + ../../common/pc/ssd ]; # For offloading, `modesetting` is needed