summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2026-03-25 05:07:27 +0800
committerHilton Chain <hako@ultrarare.space>2026-04-03 21:33:19 +0800
commitf6f40139198227a8a68b47cd9b30b28b42c62ac2 (patch)
tree4acbfd182271733d80365c48d445098ac0105f87
parent642eda518a49c390318fb3495f728f8dd1c6a3f5 (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.org28
-rw-r--r--nongnu/packages/nvidia.scm130
-rw-r--r--nonguix/transformations.scm13
3 files changed, 160 insertions, 11 deletions
diff --git a/README.org b/README.org
index b766c03..8c9240b 100644
--- a/README.org
+++ b/README.org
@@ -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)