diff options
| author | Hilton Chain <hako@ultrarare.space> | 2026-03-25 05:07:27 +0800 |
|---|---|---|
| committer | Hilton Chain <hako@ultrarare.space> | 2026-04-03 21:33:19 +0800 |
| commit | f6f40139198227a8a68b47cd9b30b28b42c62ac2 (patch) | |
| tree | 4acbfd182271733d80365c48d445098ac0105f87 | |
| parent | 642eda518a49c390318fb3495f728f8dd1c6a3f5 (diff) | |
nongnu: Add nvda-595.
* nongnu/packages/nvidia.scm (%nvidia-driver-arguments-595): New procedure.
(nvidia-source-595-x86_64-linux)
(nvidia-source-595-aarch64-linux)
(nvidia-driver-595, nvidia-firmware-595, nvidia-module-595)
(nvidia-module-open-595, nvidia-modprobe-595, nvidia-settings-595)
(nvda-595, nvda-user-alias-595)
(steam-nvidia-595, steam-nvidia-user-alias-595)
(heroic-nvidia-595, heroic-nvidia-user-alias-595)
(ffmpeg/nvidia-595, ffmpeg-6/nvidia-595): New variables.
* nonguix/transformations.scm (nonguix-transformation-nvidia): Support 595 series.
* README.org (NVIDIA graphics card): Add 595 series.
| -rw-r--r-- | README.org | 28 | ||||
| -rw-r--r-- | nongnu/packages/nvidia.scm | 130 | ||||
| -rw-r--r-- | nonguix/transformations.scm | 13 |
3 files changed, 160 insertions, 11 deletions
@@ -241,17 +241,17 @@ version to use. Here're GPUs supported by our packaged proprietary drivers. -| Code name | Series | nvda-beta | nvda-590 | nvda-580 | nvda-470 | nvda-390 | Nouveau | -|--------------+------------------------------------+-----------+----------+----------+----------+----------+---------| -| [[https://en.wikipedia.org/wiki/Blackwell_(microarchitecture)][Blackwell]] | GeForce 50 series | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | -| [[https://en.wikipedia.org/wiki/Ada_Lovelace_(microarchitecture)][Ada Lovelace]] | GeForce 40 series | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | -| [[https://en.wikipedia.org/wiki/Ampere_(microarchitecture)][Ampere]] | GeForce 30 series | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | -| [[https://en.wikipedia.org/wiki/Turing_(microarchitecture)][Turing]] | GeForce 16/20 series | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | -| [[https://en.wikipedia.org/wiki/Volta_(microarchitecture)][Volta]] | Titan V | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | -| [[https://en.wikipedia.org/wiki/Pascal_(microarchitecture)][Pascal]] | GeForce 10 series | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | -| [[https://en.wikipedia.org/wiki/Pascal_(microarchitecture)][Maxwell]] | GeForce 750/900 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | -| [[https://en.wikipedia.org/wiki/Kepler_(microarchitecture)][Kepler]] | GeForce 600/700, GeForce GTX Titan | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | -| [[https://en.wikipedia.org/wiki/Fermi_(microarchitecture)][Fermi]] | GeForce 400/500 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | +| Code name | Series | nvda-beta | nvda-595 | nvda-590 | nvda-580 | nvda-470 | nvda-390 | Nouveau | +|--------------+------------------------------------+-----------+----------+----------+----------+----------+----------+---------| +| [[https://en.wikipedia.org/wiki/Blackwell_(microarchitecture)][Blackwell]] | GeForce 50 series | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | +| [[https://en.wikipedia.org/wiki/Ada_Lovelace_(microarchitecture)][Ada Lovelace]] | GeForce 40 series | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | +| [[https://en.wikipedia.org/wiki/Ampere_(microarchitecture)][Ampere]] | GeForce 30 series | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | +| [[https://en.wikipedia.org/wiki/Turing_(microarchitecture)][Turing]] | GeForce 16/20 series | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | +| [[https://en.wikipedia.org/wiki/Volta_(microarchitecture)][Volta]] | Titan V | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | +| [[https://en.wikipedia.org/wiki/Pascal_(microarchitecture)][Pascal]] | GeForce 10 series | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | +| [[https://en.wikipedia.org/wiki/Pascal_(microarchitecture)][Maxwell]] | GeForce 750/900 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | +| [[https://en.wikipedia.org/wiki/Kepler_(microarchitecture)][Kepler]] | GeForce 600/700, GeForce GTX Titan | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | +| [[https://en.wikipedia.org/wiki/Fermi_(microarchitecture)][Fermi]] | GeForce 400/500 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | *NOTE*: Open source kernel modules are supported since Turing and required since Blackwell. Wayland support for =nvda-470= and =nvda-390= is only available on @@ -263,6 +263,7 @@ The sign ⚠️ means open source kernel modules don't work but close source one | Driver | linux-6.19 | linux-6.18 | linux-6.12 | linux-6.6 | linux-6.1 | |-----------+------------+------------+------------+-----------+-----------| | nvda-beta | ⚠️ | ⚠️ | ✅ | ✅ | ✅ | +| nvda-595 | ⚠️ | ⚠️ | ✅ | ✅ | ✅ | | nvda-590 | ⚠️ | ✅ | ✅ | ✅ | ✅ | | nvda-580 | ✅ | ⚠️ | ✅ | ✅ | ✅ | | nvda-470 | ✅ | ✅ | ✅ | ✅ | ✅ | @@ -273,6 +274,7 @@ Driver package specifications, for command-line interface usage. | Driver | Specification | |-----------+---------------| | nvda-beta | nvda-beta | +| nvda-595 | nvda@595 | | nvda-590 | nvda@590 | | nvda-580 | nvda@580 | | nvda-470 | nvda@470 | @@ -472,6 +474,7 @@ more variants: | Variable | Specification | |--------------------+--------------------| | heroic-nvidia-beta | heroic-nvidia-beta | +| heroic-nvidia-595 | heroic-nvidia@595 | | heroic-nvidia-590 | heroic-nvidia@590 | | heroic-nvidia-580 | heroic-nvidia@580 | | heroic-nvidia-470 | heroic-nvidia@470 | @@ -480,6 +483,7 @@ more variants: | Variable | Specification | |-------------------+-------------------| | steam-nvidia-beta | steam-nvidia-beta | +| steam-nvidia-595 | steam-nvidia@595 | | steam-nvidia-590 | steam-nvidia@590 | | steam-nvidia-580 | steam-nvidia@580 | | steam-nvidia-470 | steam-nvidia@470 | @@ -492,11 +496,13 @@ available to the programming interface: - ffmpeg/nvidia-470 - ffmpeg/nvidia-580 - ffmpeg/nvidia-590 +- ffmpeg/nvidia-595 - ffmpeg/nvidia-beta - ffmpeg-6/nvidia-390 - ffmpeg-6/nvidia-470 - ffmpeg-6/nvidia-580 - ffmpeg-6/nvidia-590 +- ffmpeg-6/nvidia-595 - ffmpeg-6/nvidia-beta ** Substitutes for nonguix diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm index f2fc1b9..1c4fcee 100644 --- a/nongnu/packages/nvidia.scm +++ b/nongnu/packages/nvidia.scm @@ -277,6 +277,18 @@ "aarch64" (base32 "107xpshd3rn6sdcrprd32a7n5crdzarr3y7yv66d3m2nm9zzpv0l"))) +(define nvidia-source-595-x86_64-linux + (make-nvidia-source + "595.58.03" + "x86_64" + (base32 "1y99b0h3cv8panjsz4icf052nf83h7p2l9qlaymw8ckrgfb4y3cc"))) + +(define nvidia-source-595-aarch64-linux + (make-nvidia-source + "595.58.03" + "aarch64" + (base32 "0grx380xy9d7idd6i02lmlf7yl6lcizgi48m10jc8yskillwhg47"))) + (define nvidia-source-beta-x86_64-linux (make-nvidia-source "595.45.04" @@ -628,6 +640,40 @@ mainly used as a dependency of other packages. For user-facing purpose, use (prepend egl-wayland2))) (synopsis "Proprietary NVIDIA driver (libraries), new feature branch")))) +(define (%nvidia-driver-arguments-595) + (substitute-keyword-arguments (%nvidia-driver-arguments-580) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'create-files 'create-files-595 + (lambda* (#:key inputs #:allow-other-keys) + ;; EGL external platform configuraiton + (substitute* "09_nvidia_wayland2.json" + (("libnvidia-egl-.*\\.so\\.." all) + (search-input-file inputs (in-vicinity "lib" all)))))) + (add-after 'install 'install-595 + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("09_nvidia_wayland2.json" "share/egl/egl_external_platform.d/")) + args))) + (add-after 'add-architecture 'add-architecture-595 + (lambda _ + (for-each + #$(add-architecture-to-filename) + '("/share/egl/egl_external_platform.d/09_nvidia_wayland2.json")))))))) + +(define-public nvidia-driver-595 + (binary-package-from-sources + `(("x86_64-linux" . ,nvidia-source-595-x86_64-linux) + ("aarch64-linux" . ,nvidia-source-595-aarch64-linux)) + (package + (inherit nvidia-driver-580) + (arguments (%nvidia-driver-arguments-595)) + (inputs + (modify-inputs inputs + (prepend egl-wayland2))) + (synopsis "Proprietary NVIDIA driver (libraries), production branch")))) + (define (%nvidia-driver-arguments-beta) (substitute-keyword-arguments (%nvidia-driver-arguments-580) ((#:phases phases) @@ -715,6 +761,15 @@ instead."))) (arguments (%nvidia-firmware-arguments (package-version this-package))) (synopsis "Proprietary NVIDIA driver (GPU System Processor firmware), new feature branch")))) +(define-public nvidia-firmware-595 + (binary-package-from-sources + `(("x86_64-linux" . ,nvidia-source-595-x86_64-linux) + ("aarch64-linux" . ,nvidia-source-595-aarch64-linux)) + (package + (inherit nvidia-firmware-580) + (arguments (%nvidia-firmware-arguments (package-version this-package))) + (synopsis "Proprietary NVIDIA driver (GPU System Processor firmware), production branch")))) + (define-public nvidia-firmware-beta (binary-package-from-sources `(("x86_64-linux" . ,nvidia-source-beta-x86_64-linux) @@ -801,6 +856,15 @@ driver."))) (arguments (%nvidia-module-arguments)) (synopsis "Proprietary NVIDIA driver (kernel modules), new feature branch")))) +(define-public nvidia-module-595 + (binary-package-from-sources + `(("x86_64-linux" . ,nvidia-source-595-x86_64-linux) + ("aarch64-linux" . ,nvidia-source-595-aarch64-linux)) + (package + (inherit nvidia-module-580) + (arguments (%nvidia-module-arguments)) + (synopsis "Proprietary NVIDIA driver (kernel modules), production branch")))) + (define-public nvidia-module-beta (binary-package-from-sources `(("x86_64-linux" . ,nvidia-source-beta-x86_64-linux) @@ -881,6 +945,23 @@ NVIDIA driver.") "13izbl0npxc6mxaq7123sj7cqksqwcha8fgsgj2dphdk1dz8fh44")))) (synopsis "Proprietary NVIDIA driver (open source kernel modules), new feature branch"))) +(define-public nvidia-module-open-595 + (package + (inherit nvidia-module-open-580) + (name "nvidia-module-open") + (version "595.58.03") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/NVIDIA/open-gpu-kernel-modules") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zz2297icklbjk4301vahsfkxdznbp48f0yxvf972c8w7p4wkfz8")))) + (synopsis "Proprietary NVIDIA driver (open source kernel modules), production branch"))) + (define-public nvidia-module-open-beta (package (inherit nvidia-module-open-580) @@ -987,6 +1068,22 @@ device files are present and configure certain runtime settings in the kernel.") "1y6kqhvjfpq0zssjsbkwkav2khsb7x63nxgd1lnvrkg660a7knjn")))) (synopsis "Create NVIDIA character device files, new feature branch"))) +(define-public nvidia-modprobe-595 + (package + (inherit nvidia-modprobe-580) + (name "nvidia-modprobe") + (version "595.58.03") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/NVIDIA/nvidia-modprobe") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1l1kjp5kgy4f319205k3l2i3nvvi088baxsz8n3jb799pqjwd2f4")))) + (synopsis "Create NVIDIA character device files, production branch"))) + (define-public nvidia-modprobe-beta (package (inherit nvidia-modprobe-580) @@ -1147,6 +1244,23 @@ configuration, application profiles, GPU monitoring and more.") (snippet '(delete-file-recursively "src/jansson")))) (synopsis "NVIDIA proprietary driver control panel, new feature branch"))) +(define-public nvidia-settings-595 + (package + (inherit nvidia-settings-580) + (name "nvidia-settings") + (version "595.58.03") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/NVIDIA/nvidia-settings") + (commit version))) + (file-name (git-file-name name version)) + (sha256 (base32 "0xqg9rrrynlw8qzhs9ggm1d6jyv36bjx4s028nnkxn759gjcbwns")) + (modules '((guix build utils))) + (snippet '(delete-file-recursively "src/jansson")))) + (synopsis "NVIDIA proprietary driver control panel, production branch"))) + (define-public nvidia-settings-beta (package (inherit nvidia-settings-580) @@ -1293,11 +1407,13 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.") (define-nvda-package nvda-470 nvidia-driver-470) (define-nvda-package nvda-580 nvidia-driver-580) (define-nvda-package nvda-590 nvidia-driver-590) +(define-nvda-package nvda-595 nvidia-driver-595) (define-nvda-package nvda-beta nvidia-driver-beta) (define-nvda-package nvda-user-alias-390 nvidia-driver-390 "nvda") (define-nvda-package nvda-user-alias-470 nvidia-driver-470 "nvda") (define-nvda-package nvda-user-alias-580 nvidia-driver-580 "nvda") (define-nvda-package nvda-user-alias-590 nvidia-driver-590 "nvda") +(define-nvda-package nvda-user-alias-595 nvidia-driver-595 "nvda") (define-nvda-package nvda-user-alias-beta nvidia-driver-beta "nvda-beta") (define-public nvda nvda-580) ;; 2026-03 @@ -1331,6 +1447,8 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.") steam-container-for nvda-580) (define-nvidia-container steam-nvidia-590 steam-container-for nvda-590) +(define-nvidia-container steam-nvidia-595 + steam-container-for nvda-595) (define-nvidia-container steam-nvidia-beta steam-container-for nvda-beta) (define-public steam-nvidia steam-nvidia-580) @@ -1347,6 +1465,9 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.") (define-nvidia-container steam-nvidia-user-alias-590 "steam-nvidia" steam-nvidia-590 (package-version nvidia-driver-590)) +(define-nvidia-container steam-nvidia-user-alias-595 "steam-nvidia" + steam-nvidia-595 + (package-version nvidia-driver-595)) (define-nvidia-container steam-nvidia-user-alias-beta "steam-nvidia-beta" steam-nvidia-beta (package-version nvidia-driver-beta)) @@ -1359,6 +1480,8 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.") heroic-container-for nvda-580) (define-nvidia-container heroic-nvidia-590 heroic-container-for nvda-590) +(define-nvidia-container heroic-nvidia-595 + heroic-container-for nvda-595) (define-nvidia-container heroic-nvidia-beta heroic-container-for nvda-beta) (define-public heroic-nvidia heroic-nvidia-580) @@ -1375,6 +1498,9 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.") (define-nvidia-container heroic-nvidia-user-alias-590 "heroic-nvidia" heroic-nvidia-590 (package-version nvidia-driver-590)) +(define-nvidia-container heroic-nvidia-user-alias-595 "heroic-nvidia" + heroic-nvidia-595 + (package-version nvidia-driver-595)) (define-nvidia-container heroic-nvidia-user-alias-beta "heroic-nvidia-beta" heroic-nvidia-beta (package-version nvidia-driver-beta)) @@ -1432,6 +1558,8 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.") ((replace-nvidia-driver nvda-580) ffmpeg/nvidia)) (define-public ffmpeg/nvidia-590 ((replace-nvidia-driver nvda-590) ffmpeg/nvidia)) +(define-public ffmpeg/nvidia-595 + ((replace-nvidia-driver nvda-595) ffmpeg/nvidia)) (define-public ffmpeg/nvidia-beta ((replace-nvidia-driver nvda-beta) ffmpeg/nvidia)) (define-public ffmpeg-6/nvidia-390 @@ -1442,6 +1570,8 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.") ((replace-nvidia-driver nvda-580) ffmpeg/nvidia)) (define-public ffmpeg-6/nvidia-590 ((replace-nvidia-driver nvda-590) ffmpeg/nvidia)) +(define-public ffmpeg-6/nvidia-595 + ((replace-nvidia-driver nvda-595) ffmpeg/nvidia)) (define-public ffmpeg-6/nvidia-beta ((replace-nvidia-driver nvda-beta) ffmpeg/nvidia)) diff --git a/nonguix/transformations.scm b/nonguix/transformations.scm index 603cfb5..fa7beee 100644 --- a/nonguix/transformations.scm +++ b/nonguix/transformations.scm @@ -167,6 +167,13 @@ REMOVE-NVENC-RESTRICTION? (default: #f) applies patches from #:nvfbc "s/\\x85\\xc0\\x0f\\x85\\xd4\\x00\\x00\\x00\\x48/\\x85\\xc0\\x90\\x90\\x90\\x90\\x90\\x90\\x48/g") identity) driver)) + (,nvda-595 + . ,((if remove-nvenc-restriction? + (remove-restriction + #:nvenc "s/\\xe8\\x51\\x21\\xfe\\xff\\x41\\x89\\xc6\\x85\\xc0/\\xe8\\x51\\x21\\xfe\\xff\\x29\\xc0\\x41\\x89\\xc6/g" + #:nvfbc "s/\\x85\\xc0\\x0f\\x85\\xd4\\x00\\x00\\x00\\x48/\\x85\\xc0\\x90\\x90\\x90\\x90\\x90\\x90\\x48/g") + identity) + driver)) (,nvda-590 . ,((if remove-nvenc-restriction? (remove-restriction @@ -203,6 +210,7 @@ REMOVE-NVENC-RESTRICTION? (default: #f) applies patches from (define %firmware (assoc-ref `((,nvda-beta . ,nvidia-firmware-beta) + (,nvda-595 . ,nvidia-firmware-595) (,nvda-590 . ,nvidia-firmware-590) (,nvda-580 . ,nvidia-firmware-580) (,nvda-470 . ,nvidia-firmware-470)) @@ -213,6 +221,9 @@ REMOVE-NVENC-RESTRICTION? (default: #f) applies patches from `((,nvda-beta . ,(if open-source-kernel-module? nvidia-module-open-beta nvidia-module-beta)) + (,nvda-595 . ,(if open-source-kernel-module? + nvidia-module-open-595 + nvidia-module-595)) (,nvda-590 . ,(if open-source-kernel-module? nvidia-module-open-590 nvidia-module-590)) @@ -226,6 +237,7 @@ REMOVE-NVENC-RESTRICTION? (default: #f) applies patches from (define %modprobe (assoc-ref `((,nvda-beta . ,nvidia-modprobe-beta) + (,nvda-595 . ,nvidia-modprobe-595) (,nvda-590 . ,nvidia-modprobe-590) (,nvda-580 . ,nvidia-modprobe-580) (,nvda-470 . ,nvidia-modprobe-470) @@ -236,6 +248,7 @@ REMOVE-NVENC-RESTRICTION? (default: #f) applies patches from (and configure-xorg? (assoc-ref `((,nvda-beta . ,nvidia-settings-beta) + (,nvda-595 . ,nvidia-settings-595) (,nvda-590 . ,nvidia-settings-590) (,nvda-580 . ,nvidia-settings-580) (,nvda-470 . ,nvidia-settings-470) |
