summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.org28
-rw-r--r--nongnu/packages/nvidia.scm138
-rw-r--r--nongnu/packages/patches/nvidia-module-open-fix-linux-6.19.patch130
-rw-r--r--nonguix/transformations.scm13
4 files changed, 11 insertions, 298 deletions
diff --git a/README.org b/README.org
index 9f059bc..16673f5 100644
--- a/README.org
+++ b/README.org
@@ -241,17 +241,17 @@ version to use.
241 241
242Here're GPUs supported by our packaged proprietary drivers. 242Here're GPUs supported by our packaged proprietary drivers.
243 243
244| Code name | Series | nvda-beta | nvda-new-feature | nvda-595 | nvda-590 | nvda-580 | ⚠️ nvda-470 | ⚠️ nvda-390 | Nouveau | 244| Code name | Series | nvda-beta | nvda-new-feature | nvda-595 | nvda-580 | ⚠️ nvda-470 | ⚠️ nvda-390 | Nouveau |
245|--------------+------------------------------------+-----------+------------------+----------+----------+----------+--------------+--------------+---------| 245|--------------+------------------------------------+-----------+------------------+----------+----------+--------------+--------------+---------|
246| [[https://en.wikipedia.org/wiki/Blackwell_(microarchitecture)][Blackwell]] | GeForce 50 series | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | 246| [[https://en.wikipedia.org/wiki/Blackwell_(microarchitecture)][Blackwell]] | GeForce 50 series | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
247| [[https://en.wikipedia.org/wiki/Ada_Lovelace_(microarchitecture)][Ada Lovelace]] | GeForce 40 series | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | 247| [[https://en.wikipedia.org/wiki/Ada_Lovelace_(microarchitecture)][Ada Lovelace]] | GeForce 40 series | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
248| [[https://en.wikipedia.org/wiki/Ampere_(microarchitecture)][Ampere]] | GeForce 30 series | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | 248| [[https://en.wikipedia.org/wiki/Ampere_(microarchitecture)][Ampere]] | GeForce 30 series | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
249| [[https://en.wikipedia.org/wiki/Turing_(microarchitecture)][Turing]] | GeForce 16/20 series | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | 249| [[https://en.wikipedia.org/wiki/Turing_(microarchitecture)][Turing]] | GeForce 16/20 series | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
250| [[https://en.wikipedia.org/wiki/Volta_(microarchitecture)][Volta]] | Titan V | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | 250| [[https://en.wikipedia.org/wiki/Volta_(microarchitecture)][Volta]] | Titan V | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
251| [[https://en.wikipedia.org/wiki/Pascal_(microarchitecture)][Pascal]] | GeForce 10 series | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | 251| [[https://en.wikipedia.org/wiki/Pascal_(microarchitecture)][Pascal]] | GeForce 10 series | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
252| [[https://en.wikipedia.org/wiki/Pascal_(microarchitecture)][Maxwell]] | GeForce 750/900 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | 252| [[https://en.wikipedia.org/wiki/Pascal_(microarchitecture)][Maxwell]] | GeForce 750/900 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
253| [[https://en.wikipedia.org/wiki/Kepler_(microarchitecture)][Kepler]] | GeForce 600/700, GeForce GTX Titan | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | 253| [[https://en.wikipedia.org/wiki/Kepler_(microarchitecture)][Kepler]] | GeForce 600/700, GeForce GTX Titan | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
254| [[https://en.wikipedia.org/wiki/Fermi_(microarchitecture)][Fermi]] | GeForce 400/500 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | 254| [[https://en.wikipedia.org/wiki/Fermi_(microarchitecture)][Fermi]] | GeForce 400/500 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
255 255
256*NOTE*: 256*NOTE*:
257- Open source kernel modules are supported since Turing and required since 257- Open source kernel modules are supported since Turing and required since
@@ -267,7 +267,6 @@ Per-driver supported kernel versions, let us know if you have hardware to test!
267| nvda-beta | ✅️ | ✅️ | ✅️ | ✅️ | ✅️ | ✅️ | 267| nvda-beta | ✅️ | ✅️ | ✅️ | ✅️ | ✅️ | ✅️ |
268| nvda-new-feature | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 268| nvda-new-feature | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
269| nvda-595 | ✅️ | ✅ | ✅ | ✅ | ✅ | ✅ | 269| nvda-595 | ✅️ | ✅ | ✅ | ✅ | ✅ | ✅ |
270| nvda-590 | ✅ | ✅️ | ✅️ | ✅️ | ✅️ | ✅️ |
271| nvda-580 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 270| nvda-580 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
272| nvda-470 | ✅ | ✅️ | ✅️ | ✅️ | ✅️ | ✅️ | 271| nvda-470 | ✅ | ✅️ | ✅️ | ✅️ | ✅️ | ✅️ |
273| nvda-390 | | | | | | | 272| nvda-390 | | | | | | |
@@ -279,7 +278,6 @@ Driver package specifications, for command-line interface usage.
279| nvda-beta | nvda-beta | 278| nvda-beta | nvda-beta |
280| nvda-new-feature | nvda-new-feature | 279| nvda-new-feature | nvda-new-feature |
281| nvda-595 | nvda@595 | 280| nvda-595 | nvda@595 |
282| nvda-590 | nvda@590 |
283| nvda-580 | nvda@580 | 281| nvda-580 | nvda@580 |
284| nvda-470 | nvda@470 | 282| nvda-470 | nvda@470 |
285| nvda-390 | nvda@390 | 283| nvda-390 | nvda@390 |
@@ -480,14 +478,12 @@ of the normal one. Aforementioned application setup is still necessary.
480| ffmpeg/nvidia-beta | ffmpeg-nvidia-beta | 478| ffmpeg/nvidia-beta | ffmpeg-nvidia-beta |
481| ffmpeg/nvidia-new-feature | ffmpeg-nvidia-new-feature | 479| ffmpeg/nvidia-new-feature | ffmpeg-nvidia-new-feature |
482| ffmpeg/nvidia-595 | ffmpeg-nvidia@595 | 480| ffmpeg/nvidia-595 | ffmpeg-nvidia@595 |
483| ffmpeg/nvidia-590 | ffmpeg-nvidia@590 |
484| ffmpeg/nvidia-580 | ffmpeg-nvidia@580 | 481| ffmpeg/nvidia-580 | ffmpeg-nvidia@580 |
485| ffmpeg/nvidia-470 | ffmpeg-nvidia@470 | 482| ffmpeg/nvidia-470 | ffmpeg-nvidia@470 |
486| ffmpeg/nvidia-390 | ffmpeg-nvidia@390 | 483| ffmpeg/nvidia-390 | ffmpeg-nvidia@390 |
487| ffmpeg-6/nvidia-beta | ffmpeg-6-nvidia-beta | 484| ffmpeg-6/nvidia-beta | ffmpeg-6-nvidia-beta |
488| ffmpeg-6/nvidia-new-feature | ffmpeg-6-nvidia-new-feature | 485| ffmpeg-6/nvidia-new-feature | ffmpeg-6-nvidia-new-feature |
489| ffmpeg-6/nvidia-595 | ffmpeg-6-nvidia@595 | 486| ffmpeg-6/nvidia-595 | ffmpeg-6-nvidia@595 |
490| ffmpeg-6/nvidia-590 | ffmpeg-6-nvidia@590 |
491| ffmpeg-6/nvidia-580 | ffmpeg-6-nvidia@580 | 487| ffmpeg-6/nvidia-580 | ffmpeg-6-nvidia@580 |
492| ffmpeg-6/nvidia-470 | ffmpeg-6-nvidia@470 | 488| ffmpeg-6/nvidia-470 | ffmpeg-6-nvidia@470 |
493| ffmpeg-6/nvidia-390 | ffmpeg-6-nvidia@390 | 489| ffmpeg-6/nvidia-390 | ffmpeg-6-nvidia@390 |
@@ -497,7 +493,6 @@ of the normal one. Aforementioned application setup is still necessary.
497| heroic-nvidia-beta | heroic-nvidia-beta | 493| heroic-nvidia-beta | heroic-nvidia-beta |
498| heroic-nvidia-new-feature | heroic-nvidia-new-feature | 494| heroic-nvidia-new-feature | heroic-nvidia-new-feature |
499| heroic-nvidia-595 | heroic-nvidia@595 | 495| heroic-nvidia-595 | heroic-nvidia@595 |
500| heroic-nvidia-590 | heroic-nvidia@590 |
501| heroic-nvidia-580 | heroic-nvidia@580 | 496| heroic-nvidia-580 | heroic-nvidia@580 |
502| heroic-nvidia-470 | heroic-nvidia@470 | 497| heroic-nvidia-470 | heroic-nvidia@470 |
503| heroic-nvidia-390 | heroic-nvidia@390 | 498| heroic-nvidia-390 | heroic-nvidia@390 |
@@ -507,7 +502,6 @@ of the normal one. Aforementioned application setup is still necessary.
507| steam-nvidia-beta | steam-nvidia-beta | 502| steam-nvidia-beta | steam-nvidia-beta |
508| steam-nvidia-new-feature | steam-nvidia-new-feature | 503| steam-nvidia-new-feature | steam-nvidia-new-feature |
509| steam-nvidia-595 | steam-nvidia@595 | 504| steam-nvidia-595 | steam-nvidia@595 |
510| steam-nvidia-590 | steam-nvidia@590 |
511| steam-nvidia-580 | steam-nvidia@580 | 505| steam-nvidia-580 | steam-nvidia@580 |
512| steam-nvidia-470 | steam-nvidia@470 | 506| steam-nvidia-470 | steam-nvidia@470 |
513| steam-nvidia-390 | steam-nvidia@390 | 507| steam-nvidia-390 | steam-nvidia@390 |
diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm
index 0dc0104..0df213c 100644
--- a/nongnu/packages/nvidia.scm
+++ b/nongnu/packages/nvidia.scm
@@ -266,18 +266,6 @@
266 "aarch64" 266 "aarch64"
267 (base32 "1sra6yr5j4lwsjjkmzyal8s1hlx3nhyyxz1nbxv3kj677dig44l9"))) 267 (base32 "1sra6yr5j4lwsjjkmzyal8s1hlx3nhyyxz1nbxv3kj677dig44l9")))
268 268
269(define nvidia-source-590-x86_64-linux
270 (make-nvidia-source
271 "590.48.01"
272 "x86_64"
273 (base32 "12fnddljvgxksil6n3d5a35wwg8kkq82kkglhz63253qjc3giqmr")))
274
275(define nvidia-source-590-aarch64-linux
276 (make-nvidia-source
277 "590.48.01"
278 "aarch64"
279 (base32 "107xpshd3rn6sdcrprd32a7n5crdzarr3y7yv66d3m2nm9zzpv0l")))
280
281(define nvidia-source-595-x86_64-linux 269(define nvidia-source-595-x86_64-linux
282 (make-nvidia-source 270 (make-nvidia-source
283 "595.71.05" 271 "595.71.05"
@@ -746,40 +734,6 @@ mainly used as a dependency of other packages. For user-facing purpose, use
746 (prepend bash-minimal egl-gbm egl-x11 util-linux))) 734 (prepend bash-minimal egl-gbm egl-x11 util-linux)))
747 (synopsis "Proprietary NVIDIA driver (libraries), production branch")))) 735 (synopsis "Proprietary NVIDIA driver (libraries), production branch"))))
748 736
749(define (%nvidia-driver-arguments-590)
750 (substitute-keyword-arguments (%nvidia-driver-arguments-580)
751 ((#:phases phases)
752 #~(modify-phases #$phases
753 (add-after 'create-files 'create-files-590
754 (lambda* (#:key inputs #:allow-other-keys)
755 ;; EGL external platform configuraiton
756 (substitute* "99_nvidia_wayland2.json"
757 (("libnvidia-egl-.*\\.so\\.." all)
758 (search-input-file inputs (in-vicinity "lib" all))))))
759 (add-after 'install 'install-590
760 (lambda args
761 (apply (assoc-ref copy:%standard-phases 'install)
762 #:install-plan
763 '(("99_nvidia_wayland2.json" "share/egl/egl_external_platform.d/"))
764 args)))
765 (add-after 'add-architecture 'add-architecture-590
766 (lambda _
767 (for-each
768 #$(add-architecture-to-filename)
769 '("/share/egl/egl_external_platform.d/99_nvidia_wayland2.json"))))))))
770
771(define-public nvidia-driver-590
772 (binary-package-from-sources
773 `(("x86_64-linux" . ,nvidia-source-590-x86_64-linux)
774 ("aarch64-linux" . ,nvidia-source-590-aarch64-linux))
775 (package
776 (inherit nvidia-driver-580)
777 (arguments (%nvidia-driver-arguments-590))
778 (inputs
779 (modify-inputs inputs
780 (prepend egl-wayland2)))
781 (synopsis "Proprietary NVIDIA driver (libraries), new feature branch"))))
782
783(define (%nvidia-driver-arguments-595) 737(define (%nvidia-driver-arguments-595)
784 (substitute-keyword-arguments (%nvidia-driver-arguments-580) 738 (substitute-keyword-arguments (%nvidia-driver-arguments-580)
785 ((#:phases phases) 739 ((#:phases phases)
@@ -905,15 +859,6 @@ instead.")))
905 (supported-systems '("x86_64-linux" "aarch64-linux")) 859 (supported-systems '("x86_64-linux" "aarch64-linux"))
906 (synopsis "Proprietary NVIDIA driver (GPU System Processor firmware), production branch")))) 860 (synopsis "Proprietary NVIDIA driver (GPU System Processor firmware), production branch"))))
907 861
908(define-public nvidia-firmware-590
909 (binary-package-from-sources
910 `(("x86_64-linux" . ,nvidia-source-590-x86_64-linux)
911 ("aarch64-linux" . ,nvidia-source-590-aarch64-linux))
912 (package
913 (inherit nvidia-firmware-580)
914 (arguments (%nvidia-firmware-arguments (package-version this-package)))
915 (synopsis "Proprietary NVIDIA driver (GPU System Processor firmware), new feature branch"))))
916
917(define-public nvidia-firmware-595 862(define-public nvidia-firmware-595
918 (binary-package-from-sources 863 (binary-package-from-sources
919 `(("x86_64-linux" . ,nvidia-source-595-x86_64-linux) 864 `(("x86_64-linux" . ,nvidia-source-595-x86_64-linux)
@@ -1010,15 +955,6 @@ driver.")))
1010 (arguments (%nvidia-module-arguments)) 955 (arguments (%nvidia-module-arguments))
1011 (synopsis "Proprietary NVIDIA driver (kernel modules), production branch")))) 956 (synopsis "Proprietary NVIDIA driver (kernel modules), production branch"))))
1012 957
1013(define-public nvidia-module-590
1014 (binary-package-from-sources
1015 `(("x86_64-linux" . ,nvidia-source-590-x86_64-linux)
1016 ("aarch64-linux" . ,nvidia-source-590-aarch64-linux))
1017 (package
1018 (inherit nvidia-module-580)
1019 (arguments (%nvidia-module-arguments))
1020 (synopsis "Proprietary NVIDIA driver (kernel modules), new feature branch"))))
1021
1022(define-public nvidia-module-595 958(define-public nvidia-module-595
1023 (binary-package-from-sources 959 (binary-package-from-sources
1024 `(("x86_64-linux" . ,nvidia-source-595-x86_64-linux) 960 `(("x86_64-linux" . ,nvidia-source-595-x86_64-linux)
@@ -1104,27 +1040,6 @@ driver.")))
1104NVIDIA driver.") 1040NVIDIA driver.")
1105 (license license-gnu:gpl2))) 1041 (license license-gnu:gpl2)))
1106 1042
1107(define-public nvidia-module-open-590
1108 (package
1109 (inherit nvidia-module-open-580)
1110 (name "nvidia-module-open")
1111 (version "590.48.01")
1112 (source
1113 (origin
1114 (method git-fetch)
1115 (uri (git-reference
1116 (url "https://github.com/NVIDIA/open-gpu-kernel-modules")
1117 (commit version)))
1118 (file-name (git-file-name name version))
1119 (sha256
1120 (base32
1121 "13izbl0npxc6mxaq7123sj7cqksqwcha8fgsgj2dphdk1dz8fh44"))
1122 (patches
1123 (nongnu-patches "nvidia-module-open-add-ibt-support.patch"
1124 "nvidia-module-open-bsb-dsc-fix.patch"
1125 "nvidia-module-open-fix-linux-6.19.patch"))))
1126 (synopsis "Proprietary NVIDIA driver (open source kernel modules), new feature branch")))
1127
1128(define-public nvidia-module-open-595 1043(define-public nvidia-module-open-595
1129 (package 1044 (package
1130 (inherit nvidia-module-open-580) 1045 (inherit nvidia-module-open-580)
@@ -1257,22 +1172,6 @@ device files are present and configure certain runtime settings in the kernel.")
1257 "127rb7qfvx7gmcwn13232r44fhb2lyamnrx9g07k8z6im3jav0kz")))) 1172 "127rb7qfvx7gmcwn13232r44fhb2lyamnrx9g07k8z6im3jav0kz"))))
1258 (synopsis "Create NVIDIA character device files, production branch"))) 1173 (synopsis "Create NVIDIA character device files, production branch")))
1259 1174
1260(define-public nvidia-modprobe-590
1261 (package
1262 (inherit nvidia-modprobe-580)
1263 (name "nvidia-modprobe")
1264 (version "590.48.01")
1265 (source (origin
1266 (method git-fetch)
1267 (uri (git-reference
1268 (url "https://github.com/NVIDIA/nvidia-modprobe")
1269 (commit version)))
1270 (file-name (git-file-name name version))
1271 (sha256
1272 (base32
1273 "1y6kqhvjfpq0zssjsbkwkav2khsb7x63nxgd1lnvrkg660a7knjn"))))
1274 (synopsis "Create NVIDIA character device files, new feature branch")))
1275
1276(define-public nvidia-modprobe-595 1175(define-public nvidia-modprobe-595
1277 (package 1176 (package
1278 (inherit nvidia-modprobe-580) 1177 (inherit nvidia-modprobe-580)
@@ -1448,23 +1347,6 @@ configuration, application profiles, GPU monitoring and more.")
1448 (snippet '(delete-file-recursively "src/jansson")))) 1347 (snippet '(delete-file-recursively "src/jansson"))))
1449 (synopsis "NVIDIA proprietary driver control panel, production branch"))) 1348 (synopsis "NVIDIA proprietary driver control panel, production branch")))
1450 1349
1451(define-public nvidia-settings-590
1452 (package
1453 (inherit nvidia-settings-580)
1454 (name "nvidia-settings")
1455 (version "590.48.01")
1456 (source
1457 (origin
1458 (method git-fetch)
1459 (uri (git-reference
1460 (url "https://github.com/NVIDIA/nvidia-settings")
1461 (commit version)))
1462 (file-name (git-file-name name version))
1463 (sha256 (base32 "0h9059gkibyiidg5s9cakbg369y9nwfd17vycpsqfswgr18jlsrm"))
1464 (modules '((guix build utils)))
1465 (snippet '(delete-file-recursively "src/jansson"))))
1466 (synopsis "NVIDIA proprietary driver control panel, new feature branch")))
1467
1468(define-public nvidia-settings-595 1350(define-public nvidia-settings-595
1469 (package 1351 (package
1470 (inherit nvidia-settings-580) 1352 (inherit nvidia-settings-580)
@@ -1730,14 +1612,12 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.")
1730(define-nvda-package nvda-390 nvidia-driver-390) 1612(define-nvda-package nvda-390 nvidia-driver-390)
1731(define-nvda-package nvda-470 nvidia-driver-470) 1613(define-nvda-package nvda-470 nvidia-driver-470)
1732(define-nvda-package nvda-580 nvidia-driver-580) 1614(define-nvda-package nvda-580 nvidia-driver-580)
1733(define-nvda-package nvda-590 nvidia-driver-590)
1734(define-nvda-package nvda-595 nvidia-driver-595) 1615(define-nvda-package nvda-595 nvidia-driver-595)
1735(define-nvda-package nvda-new-feature nvidia-driver-new-feature) 1616(define-nvda-package nvda-new-feature nvidia-driver-new-feature)
1736(define-nvda-package nvda-beta nvidia-driver-beta) 1617(define-nvda-package nvda-beta nvidia-driver-beta)
1737(define-nvda-package nvda-user-alias-390 nvidia-driver-390 "nvda") 1618(define-nvda-package nvda-user-alias-390 nvidia-driver-390 "nvda")
1738(define-nvda-package nvda-user-alias-470 nvidia-driver-470 "nvda") 1619(define-nvda-package nvda-user-alias-470 nvidia-driver-470 "nvda")
1739(define-nvda-package nvda-user-alias-580 nvidia-driver-580 "nvda") 1620(define-nvda-package nvda-user-alias-580 nvidia-driver-580 "nvda")
1740(define-nvda-package nvda-user-alias-590 nvidia-driver-590 "nvda")
1741(define-nvda-package nvda-user-alias-595 nvidia-driver-595 "nvda") 1621(define-nvda-package nvda-user-alias-595 nvidia-driver-595 "nvda")
1742(define-nvda-package nvda-user-alias-new-feature nvidia-driver-new-feature "nvda-new-feature") 1622(define-nvda-package nvda-user-alias-new-feature nvidia-driver-new-feature "nvda-new-feature")
1743(define-nvda-package nvda-user-alias-beta nvidia-driver-beta "nvda-beta") 1623(define-nvda-package nvda-user-alias-beta nvidia-driver-beta "nvda-beta")
@@ -1773,8 +1653,6 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.")
1773 steam-container-for nvda-470) 1653 steam-container-for nvda-470)
1774(define-nvidia-container steam-nvidia-580 1654(define-nvidia-container steam-nvidia-580
1775 steam-container-for nvda-580) 1655 steam-container-for nvda-580)
1776(define-nvidia-container steam-nvidia-590
1777 steam-container-for nvda-590)
1778(define-nvidia-container steam-nvidia-595 1656(define-nvidia-container steam-nvidia-595
1779 steam-container-for nvda-595) 1657 steam-container-for nvda-595)
1780(define-nvidia-container steam-nvidia-new-feature 1658(define-nvidia-container steam-nvidia-new-feature
@@ -1792,9 +1670,6 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.")
1792(define-nvidia-container steam-nvidia-user-alias-580 "steam-nvidia" 1670(define-nvidia-container steam-nvidia-user-alias-580 "steam-nvidia"
1793 steam-nvidia-580 1671 steam-nvidia-580
1794 (package-version nvidia-driver-580)) 1672 (package-version nvidia-driver-580))
1795(define-nvidia-container steam-nvidia-user-alias-590 "steam-nvidia"
1796 steam-nvidia-590
1797 (package-version nvidia-driver-590))
1798(define-nvidia-container steam-nvidia-user-alias-595 "steam-nvidia" 1673(define-nvidia-container steam-nvidia-user-alias-595 "steam-nvidia"
1799 steam-nvidia-595 1674 steam-nvidia-595
1800 (package-version nvidia-driver-595)) 1675 (package-version nvidia-driver-595))
@@ -1811,8 +1686,6 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.")
1811 heroic-container-for nvda-470) 1686 heroic-container-for nvda-470)
1812(define-nvidia-container heroic-nvidia-580 1687(define-nvidia-container heroic-nvidia-580
1813 heroic-container-for nvda-580) 1688 heroic-container-for nvda-580)
1814(define-nvidia-container heroic-nvidia-590
1815 heroic-container-for nvda-590)
1816(define-nvidia-container heroic-nvidia-595 1689(define-nvidia-container heroic-nvidia-595
1817 heroic-container-for nvda-595) 1690 heroic-container-for nvda-595)
1818(define-nvidia-container heroic-nvidia-new-feature 1691(define-nvidia-container heroic-nvidia-new-feature
@@ -1830,9 +1703,6 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.")
1830(define-nvidia-container heroic-nvidia-user-alias-580 "heroic-nvidia" 1703(define-nvidia-container heroic-nvidia-user-alias-580 "heroic-nvidia"
1831 heroic-nvidia-580 1704 heroic-nvidia-580
1832 (package-version nvidia-driver-580)) 1705 (package-version nvidia-driver-580))
1833(define-nvidia-container heroic-nvidia-user-alias-590 "heroic-nvidia"
1834 heroic-nvidia-590
1835 (package-version nvidia-driver-590))
1836(define-nvidia-container heroic-nvidia-user-alias-595 "heroic-nvidia" 1706(define-nvidia-container heroic-nvidia-user-alias-595 "heroic-nvidia"
1837 heroic-nvidia-595 1707 heroic-nvidia-595
1838 (package-version nvidia-driver-595)) 1708 (package-version nvidia-driver-595))
@@ -1879,7 +1749,6 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.")
1879(define-ffmpeg-nvidia ffmpeg/nvidia-390 ffmpeg nvda-390) 1749(define-ffmpeg-nvidia ffmpeg/nvidia-390 ffmpeg nvda-390)
1880(define-ffmpeg-nvidia ffmpeg/nvidia-470 ffmpeg nvda-470) 1750(define-ffmpeg-nvidia ffmpeg/nvidia-470 ffmpeg nvda-470)
1881(define-ffmpeg-nvidia ffmpeg/nvidia-580 ffmpeg nvda-580) 1751(define-ffmpeg-nvidia ffmpeg/nvidia-580 ffmpeg nvda-580)
1882(define-ffmpeg-nvidia ffmpeg/nvidia-590 ffmpeg nvda-590)
1883(define-ffmpeg-nvidia ffmpeg/nvidia-595 ffmpeg nvda-595) 1752(define-ffmpeg-nvidia ffmpeg/nvidia-595 ffmpeg nvda-595)
1884(define-ffmpeg-nvidia ffmpeg/nvidia-new-feature ffmpeg nvda-new-feature) 1753(define-ffmpeg-nvidia ffmpeg/nvidia-new-feature ffmpeg nvda-new-feature)
1885(define-ffmpeg-nvidia ffmpeg/nvidia-beta ffmpeg nvda-beta) 1754(define-ffmpeg-nvidia ffmpeg/nvidia-beta ffmpeg nvda-beta)
@@ -1888,7 +1757,6 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.")
1888(define-ffmpeg-nvidia ffmpeg-6/nvidia-390 ffmpeg-6 nvda-390) 1757(define-ffmpeg-nvidia ffmpeg-6/nvidia-390 ffmpeg-6 nvda-390)
1889(define-ffmpeg-nvidia ffmpeg-6/nvidia-470 ffmpeg-6 nvda-470) 1758(define-ffmpeg-nvidia ffmpeg-6/nvidia-470 ffmpeg-6 nvda-470)
1890(define-ffmpeg-nvidia ffmpeg-6/nvidia-580 ffmpeg-6 nvda-580) 1759(define-ffmpeg-nvidia ffmpeg-6/nvidia-580 ffmpeg-6 nvda-580)
1891(define-ffmpeg-nvidia ffmpeg-6/nvidia-590 ffmpeg-6 nvda-590)
1892(define-ffmpeg-nvidia ffmpeg-6/nvidia-595 ffmpeg-6 nvda-595) 1760(define-ffmpeg-nvidia ffmpeg-6/nvidia-595 ffmpeg-6 nvda-595)
1893(define-ffmpeg-nvidia ffmpeg-6/nvidia-new-feature ffmpeg-6 nvda-new-feature) 1761(define-ffmpeg-nvidia ffmpeg-6/nvidia-new-feature ffmpeg-6 nvda-new-feature)
1894(define-ffmpeg-nvidia ffmpeg-6/nvidia-beta ffmpeg-6 nvda-beta) 1762(define-ffmpeg-nvidia ffmpeg-6/nvidia-beta ffmpeg-6 nvda-beta)
@@ -1903,9 +1771,6 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.")
1903(define-ffmpeg-nvidia ffmpeg-nvidia-user-alias-580 "ffmpeg-nvidia" 1771(define-ffmpeg-nvidia ffmpeg-nvidia-user-alias-580 "ffmpeg-nvidia"
1904 ffmpeg/nvidia-580 1772 ffmpeg/nvidia-580
1905 (package-version nvidia-driver-580)) 1773 (package-version nvidia-driver-580))
1906(define-ffmpeg-nvidia ffmpeg-nvidia-user-alias-590 "ffmpeg-nvidia"
1907 ffmpeg/nvidia-590
1908 (package-version nvidia-driver-590))
1909(define-ffmpeg-nvidia ffmpeg-nvidia-user-alias-595 "ffmpeg-nvidia" 1774(define-ffmpeg-nvidia ffmpeg-nvidia-user-alias-595 "ffmpeg-nvidia"
1910 ffmpeg/nvidia-595 1775 ffmpeg/nvidia-595
1911 (package-version nvidia-driver-595)) 1776 (package-version nvidia-driver-595))
@@ -1924,9 +1789,6 @@ support. For dependency of other packages, use @code{nvidia-driver} instead.")
1924(define-ffmpeg-nvidia ffmpeg-6-nvidia-user-alias-580 "ffmpeg-6-nvidia" 1789(define-ffmpeg-nvidia ffmpeg-6-nvidia-user-alias-580 "ffmpeg-6-nvidia"
1925 ffmpeg-6/nvidia-580 1790 ffmpeg-6/nvidia-580
1926 (package-version nvidia-driver-580)) 1791 (package-version nvidia-driver-580))
1927(define-ffmpeg-nvidia ffmpeg-6-nvidia-user-alias-590 "ffmpeg-6-nvidia"
1928 ffmpeg-6/nvidia-590
1929 (package-version nvidia-driver-590))
1930(define-ffmpeg-nvidia ffmpeg-6-nvidia-user-alias-595 "ffmpeg-6-nvidia" 1792(define-ffmpeg-nvidia ffmpeg-6-nvidia-user-alias-595 "ffmpeg-6-nvidia"
1931 ffmpeg-6/nvidia-595 1793 ffmpeg-6/nvidia-595
1932 (package-version nvidia-driver-595)) 1794 (package-version nvidia-driver-595))
diff --git a/nongnu/packages/patches/nvidia-module-open-fix-linux-6.19.patch b/nongnu/packages/patches/nvidia-module-open-fix-linux-6.19.patch
deleted file mode 100644
index 2bca90b..0000000
--- a/nongnu/packages/patches/nvidia-module-open-fix-linux-6.19.patch
+++ /dev/null
@@ -1,130 +0,0 @@
1From c9457ce40a6af2ce74c520564e2d8775f49e3d27 Mon Sep 17 00:00:00 2001
2From: Eric Naim <dnaim@cachyos.org>
3Date: Thu, 18 Dec 2025 12:36:06 +0800
4Subject: [PATCH 3/3] Fix compile for 6.19
5
6Contains:
7- Rename page_free callback -> folio_free callback for 6.19+
8- Adjust zone_device_page_init() call for 6.19; it has one extra argument now
9- 6.19-rc8 introduced yet another argument for zone_device_page_init()
10
11Link: https://github.com/torvalds/linux/commit/12b2285bf3d14372238d36215b73af02ac3bdfc1
12Signed-off-by: Eric Naim <dnaim@cachyos.org>
13---
14 kernel-open/nvidia-uvm/uvm_hmm.c | 4 ++++
15 kernel-open/nvidia-uvm/uvm_pmm_gpu.c | 34 ++++++++++++++++++++++++++++
16 2 files changed, 38 insertions(+)
17
18diff --git a/kernel-open/nvidia-uvm/uvm_hmm.c b/kernel-open/nvidia-uvm/uvm_hmm.c
19index 9b676f971385..22db001384a4 100644
20--- a/kernel-open/nvidia-uvm/uvm_hmm.c
21+++ b/kernel-open/nvidia-uvm/uvm_hmm.c
22@@ -2140,7 +2140,11 @@ static void fill_dst_pfn(uvm_va_block_t *va_block,
23
24 UVM_ASSERT(!page_count(dpage));
25 UVM_ASSERT(!dpage->zone_device_data);
26+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
27+ zone_device_page_init(dpage, page_pgmap(dpage), 0);
28+#else
29 zone_device_page_init(dpage);
30+#endif
31 dpage->zone_device_data = gpu_chunk;
32 atomic64_inc(&va_block->hmm.va_space->hmm.allocated_page_count);
33 }
34diff --git a/kernel-open/nvidia-uvm/uvm_pmm_gpu.c b/kernel-open/nvidia-uvm/uvm_pmm_gpu.c
35index 97ff13dcdd04..98423002776b 100644
36--- a/kernel-open/nvidia-uvm/uvm_pmm_gpu.c
37+++ b/kernel-open/nvidia-uvm/uvm_pmm_gpu.c
38@@ -177,6 +177,8 @@
39 #include "uvm_test.h"
40 #include "uvm_linux.h"
41
42+#include <linux/version.h>
43+
44 #if defined(CONFIG_PCI_P2PDMA) && defined(NV_STRUCT_PAGE_HAS_ZONE_DEVICE_DATA)
45 #include <linux/pci-p2pdma.h>
46 #endif
47@@ -2999,8 +3001,14 @@ static bool uvm_pmm_gpu_check_orphan_pages(uvm_pmm_gpu_t *pmm)
48 return ret;
49 }
50
51+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
52+static void devmem_folio_free(struct folio *folio)
53+{
54+ struct page *page = &folio->page;
55+#else
56 static void devmem_page_free(struct page *page)
57 {
58+#endif
59 uvm_gpu_chunk_t *chunk = uvm_pmm_devmem_page_to_chunk(page);
60 uvm_gpu_t *gpu = uvm_gpu_chunk_get_gpu(chunk);
61
62@@ -3060,7 +3068,11 @@ static vm_fault_t devmem_fault_entry(struct vm_fault *vmf)
63
64 static const struct dev_pagemap_ops uvm_pmm_devmem_ops =
65 {
66+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
67+ .folio_free = devmem_folio_free,
68+#else
69 .page_free = devmem_page_free,
70+#endif
71 .migrate_to_ram = devmem_fault_entry,
72 };
73
74@@ -3148,8 +3160,14 @@ static void device_p2p_page_free_wake(struct nv_kref *ref)
75 wake_up(&p2p_mem->waitq);
76 }
77
78+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
79+static void device_p2p_folio_free(struct folio *folio)
80+{
81+ struct page *page = &folio->page;
82+#else
83 static void device_p2p_page_free(struct page *page)
84 {
85+#endif
86 uvm_device_p2p_mem_t *p2p_mem = page->zone_device_data;
87
88 page->zone_device_data = NULL;
89@@ -3158,14 +3176,26 @@ static void device_p2p_page_free(struct page *page)
90 #endif
91
92 #if UVM_CDMM_PAGES_SUPPORTED()
93+
94+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
95+static void device_coherent_folio_free(struct folio *folio)
96+{
97+ device_p2p_folio_free(folio);
98+}
99+#else
100 static void device_coherent_page_free(struct page *page)
101 {
102 device_p2p_page_free(page);
103 }
104+#endif
105
106 static const struct dev_pagemap_ops uvm_device_coherent_pgmap_ops =
107 {
108+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
109+ .folio_free = device_coherent_folio_free,
110+#else
111 .page_free = device_coherent_page_free,
112+#endif
113 };
114
115 static NV_STATUS uvm_pmm_cdmm_init(uvm_parent_gpu_t *parent_gpu)
116@@ -3302,7 +3332,11 @@ static bool uvm_pmm_gpu_check_orphan_pages(uvm_pmm_gpu_t *pmm)
117
118 static const struct dev_pagemap_ops uvm_device_p2p_pgmap_ops =
119 {
120+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
121+ .folio_free = device_p2p_folio_free,
122+#else
123 .page_free = device_p2p_page_free,
124+#endif
125 };
126
127 void uvm_pmm_gpu_device_p2p_init(uvm_parent_gpu_t *parent_gpu)
128--
1292.52.0
130
diff --git a/nonguix/transformations.scm b/nonguix/transformations.scm
index ec3cdbc..c734c7d 100644
--- a/nonguix/transformations.scm
+++ b/nonguix/transformations.scm
@@ -184,13 +184,6 @@ REMOVE-NVENC-RESTRICTION? (default: #f) applies patches from
184 #:nvfbc "s/\\x85\\xc0\\x0f\\x85\\xd4\\x00\\x00\\x00\\x48/\\x85\\xc0\\x90\\x90\\x90\\x90\\x90\\x90\\x48/g") 184 #:nvfbc "s/\\x85\\xc0\\x0f\\x85\\xd4\\x00\\x00\\x00\\x48/\\x85\\xc0\\x90\\x90\\x90\\x90\\x90\\x90\\x48/g")
185 identity) 185 identity)
186 driver)) 186 driver))
187 (,nvda-590
188 . ,((if remove-nvenc-restriction?
189 (remove-restriction
190 #:nvenc "s/\\xe8\\x41\\x2e\\xfe\\xff\\x41\\x89\\xc6\\x85\\xc0/\\xe8\\x41\\x2e\\xfe\\xff\\x29\\xc0\\x41\\x89\\xc6/g"
191 #:nvfbc "s/\\x85\\xc0\\x0f\\x85\\xd4\\x00\\x00\\x00\\x48/\\x85\\xc0\\x90\\x90\\x90\\x90\\x90\\x90\\x48/g")
192 identity)
193 driver))
194 (,nvda-580 187 (,nvda-580
195 . ,((if remove-nvenc-restriction? 188 . ,((if remove-nvenc-restriction?
196 (remove-restriction 189 (remove-restriction
@@ -222,7 +215,6 @@ REMOVE-NVENC-RESTRICTION? (default: #f) applies patches from
222 `((,nvda-beta . ,nvidia-firmware-beta) 215 `((,nvda-beta . ,nvidia-firmware-beta)
223 (,nvda-new-feature . ,nvidia-firmware-new-feature) 216 (,nvda-new-feature . ,nvidia-firmware-new-feature)
224 (,nvda-595 . ,nvidia-firmware-595) 217 (,nvda-595 . ,nvidia-firmware-595)
225 (,nvda-590 . ,nvidia-firmware-590)
226 (,nvda-580 . ,nvidia-firmware-580) 218 (,nvda-580 . ,nvidia-firmware-580)
227 (,nvda-470 . ,nvidia-firmware-470)) 219 (,nvda-470 . ,nvidia-firmware-470))
228 driver)) 220 driver))
@@ -238,9 +230,6 @@ REMOVE-NVENC-RESTRICTION? (default: #f) applies patches from
238 (,nvda-595 . ,(if open-source-kernel-module? 230 (,nvda-595 . ,(if open-source-kernel-module?
239 nvidia-module-open-595 231 nvidia-module-open-595
240 nvidia-module-595)) 232 nvidia-module-595))
241 (,nvda-590 . ,(if open-source-kernel-module?
242 nvidia-module-open-590
243 nvidia-module-590))
244 (,nvda-580 . ,(if open-source-kernel-module? 233 (,nvda-580 . ,(if open-source-kernel-module?
245 nvidia-module-open-580 234 nvidia-module-open-580
246 nvidia-module-580)) 235 nvidia-module-580))
@@ -253,7 +242,6 @@ REMOVE-NVENC-RESTRICTION? (default: #f) applies patches from
253 `((,nvda-beta . ,nvidia-modprobe-beta) 242 `((,nvda-beta . ,nvidia-modprobe-beta)
254 (,nvda-new-feature . ,nvidia-modprobe-new-feature) 243 (,nvda-new-feature . ,nvidia-modprobe-new-feature)
255 (,nvda-595 . ,nvidia-modprobe-595) 244 (,nvda-595 . ,nvidia-modprobe-595)
256 (,nvda-590 . ,nvidia-modprobe-590)
257 (,nvda-580 . ,nvidia-modprobe-580) 245 (,nvda-580 . ,nvidia-modprobe-580)
258 (,nvda-470 . ,nvidia-modprobe-470) 246 (,nvda-470 . ,nvidia-modprobe-470)
259 (,nvda-390 . ,nvidia-modprobe-390)) 247 (,nvda-390 . ,nvidia-modprobe-390))
@@ -265,7 +253,6 @@ REMOVE-NVENC-RESTRICTION? (default: #f) applies patches from
265 `((,nvda-beta . ,nvidia-settings-beta) 253 `((,nvda-beta . ,nvidia-settings-beta)
266 (,nvda-new-feature . ,nvidia-settings-new-feature) 254 (,nvda-new-feature . ,nvidia-settings-new-feature)
267 (,nvda-595 . ,nvidia-settings-595) 255 (,nvda-595 . ,nvidia-settings-595)
268 (,nvda-590 . ,nvidia-settings-590)
269 (,nvda-580 . ,nvidia-settings-580) 256 (,nvda-580 . ,nvidia-settings-580)
270 (,nvda-470 . ,nvidia-settings-470) 257 (,nvda-470 . ,nvidia-settings-470)
271 (,nvda-390 . ,nvidia-settings-390)) 258 (,nvda-390 . ,nvidia-settings-390))