From 76819a836acdb151e452d93fa39d5011d048dfe4 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Tue, 24 Mar 2026 15:20:00 +0800 Subject: transformations: nvidia: Deprecate #:s0ix-power-management?. The transformation won't add kernel arguments other than the minimum necessary in the future. * nonguix/transformations.scm (nonguix-transformation-nvidia): Deprecate argument #:s0ix-power-management?. Don't delete duplicated kernel arguments, let user decide instead. --- README.org | 4 ---- nonguix/transformations.scm | 38 ++++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/README.org b/README.org index 576b535..e327730 100644 --- a/README.org +++ b/README.org @@ -234,7 +234,6 @@ Procedure =nonguix-transformation-nvidia= is defined in the #+begin_example nonguix-transformation-nvidia [#:driver nvda] [#:open-source-kernel-module? #f] - [#:s0ix-power-management? #f] [#:kernel-mode-setting? #t] [#:configure-xorg? #f] @@ -244,9 +243,6 @@ Procedure =nonguix-transformation-nvidia= is defined in the OPEN-SOURCE-KERNEL-MODULE? (default: #f) only supports Turing and later architectures and is expected to work with 'linux-lts'. - S0IX-POWER-MANAGEMENT? (default: #f) improves suspend and hibernate on systems - with supported graphics cards. - KERNEL-MODE-SETTING? (default: #t) is required for Wayland and rootless Xorg support. diff --git a/nonguix/transformations.scm b/nonguix/transformations.scm index 0044577..db22f7a 100644 --- a/nonguix/transformations.scm +++ b/nonguix/transformations.scm @@ -103,18 +103,16 @@ and INITRD (default: microcode-initrd)." (define* (nonguix-transformation-nvidia #:key (driver nvda) (open-source-kernel-module? #f) - (s0ix-power-management? #f) (kernel-mode-setting? #t) - (configure-xorg? #f)) + (configure-xorg? #f) + ;; Deprecated. + (s0ix-power-management? #f)) "Return a procedure that transforms an operating system, setting up DRIVER (default: nvda) for NVIDIA graphics card. OPEN-SOURCE-KERNEL-MODULE? (default: #f) only supports Turing and later architectures and is expected to work with 'linux-lts'. -S0IX-POWER-MANAGEMENT? (default: #f) improves suspend and hibernate on systems -with supported graphics cards. - KERNEL-MODE-SETTING? (default: #t) is required for Wayland and rootless Xorg support. @@ -186,19 +184,23 @@ declaration." (operating-system (inherit os) (kernel-arguments - (delete-duplicates - `("modprobe.blacklist=nouveau" - "modprobe.blacklist=nova_core,nova_drm" - ,@(if s0ix-power-management? - '("mem_sleep_default=s2idle" - "nvidia.NVreg_EnableS0ixPowerManagement=1") - '()) - ,(if kernel-mode-setting? - "nvidia_drm.modeset=1" - "nvidia_drm.modeset=0") - ,@(remove - (cut string-prefix? "nvidia_drm.modeset=" <>) - (operating-system-user-kernel-arguments os))))) + `("modprobe.blacklist=nouveau" + "modprobe.blacklist=nova_core,nova_drm" + ,@(if s0ix-power-management? + (begin + ;; 2026-03 + (warning + (G_ "'~a': argument '~a' is deprecated, the transformation \ +won't add kernel arguments other than the minimum necessary in the future.~%") + "nonguix-transformation-nvidia" + "#:s0ix-power-management?") + '("mem_sleep_default=s2idle" + "nvidia.NVreg_EnableS0ixPowerManagement=1")) + '()) + ,(if kernel-mode-setting? + "nvidia_drm.modeset=1" + "nvidia_drm.modeset=0") + ,@(operating-system-user-kernel-arguments os))) (packages (replace-mesa (operating-system-packages os) #:driver driver)) (services -- cgit v1.3