Merge branch 'update-nvidia' into 'master'

Draft: nongnu: nvidia-driver: Update to 565.77.

See merge request nonguix/nonguix!588
This commit is contained in:
Hilton Chain 2025-01-15 12:20:48 +00:00
commit 47f766a173
2 changed files with 27 additions and 34 deletions

View File

@ -89,6 +89,9 @@
"libnvidia-egl-gbm\\.so\\." "libnvidia-egl-gbm\\.so\\."
;; egl-wayland ;; egl-wayland
"libnvidia-egl-wayland\\.so\\." "libnvidia-egl-wayland\\.so\\."
;; egl-x11
"libnvidia-egl-xcb\\.so\\."
"libnvidia-egl-xlib\\.so\\."
;; libglvnd ;; libglvnd
"libEGL\\.so\\." "libEGL\\.so\\."
"libGL\\.so\\." "libGL\\.so\\."
@ -221,9 +224,9 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
(define-public nvidia-driver (define-public nvidia-driver
(package (package
(name "nvidia-driver") (name "nvidia-driver")
(version "550.142") (version "565.77")
(source (nvidia-source (source (nvidia-source
version "18cj2zmrzljd7nc4bmrc9l11pq092pd7nsxnad9djhjby254kmbd")) version "0z0lncf3q4ndf16k928vpjrzvc9xgg8h494qcvbk9kvbqi1afyha"))
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
(list #:modules '((guix build copy-build-system) (list #:modules '((guix build copy-build-system)
@ -240,13 +243,14 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
"lib/" #:include-regexp ("^./[^/]+\\.so")) "lib/" #:include-regexp ("^./[^/]+\\.so"))
("." "lib/nvidia/wine/" #:include-regexp ("_?nvngx\\.dll$")) ("." "lib/nvidia/wine/" #:include-regexp ("_?nvngx\\.dll$"))
("." "share/nvidia/" #:include-regexp ("nvidia-application-profiles")) ("." "share/nvidia/" #:include-regexp ("nvidia-application-profiles"))
("." "share/egl/egl_external_platform.d/" #:include-regexp ("(gbm|wayland)\\.json")) ("." "share/egl/egl_external_platform.d/" #:include-regexp ("(gbm|wayland|xcb|xlib)\\.json$"))
("10_nvidia.json" "share/glvnd/egl_vendor.d/") ("10_nvidia.json" "share/glvnd/egl_vendor.d/")
("90-nvidia.rules" "lib/udev/rules.d/") ("90-nvidia.rules" "lib/udev/rules.d/")
("nvidia-drm-outputclass.conf" "share/X11/xorg.conf.d/") ("nvidia-drm-outputclass.conf" "share/X11/xorg.conf.d/")
("nvidia-dbus.conf" "share/dbus-1/system.d/") ("nvidia-dbus.conf" "share/dbus-1/system.d/")
("nvidia.icd" "etc/OpenCL/vendors/") ("nvidia.icd" "etc/OpenCL/vendors/")
("nvidia_icd.json" "share/vulkan/icd.d/") ("nvidia_icd.json" "share/vulkan/icd.d/")
("nvidia_icd_vksc.json" "etc/vulkansc/icd.d/")
("nvidia_layers.json" "share/vulkan/implicit_layer.d/")) ("nvidia_layers.json" "share/vulkan/implicit_layer.d/"))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
@ -258,8 +262,10 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; EGL external platform configuraiton ;; EGL external platform configuraiton
(substitute* '("10_nvidia_wayland.json" (substitute* '("10_nvidia_wayland.json"
"15_nvidia_gbm.json") "15_nvidia_gbm.json"
(("libnvidia-egl-(wayland|gbm)\\.so\\.." all) "20_nvidia_xcb.json"
"20_nvidia_xlib.json")
(("libnvidia-egl-(wayland|gbm|xcb|xlib)\\.so\\.." all)
(search-input-file inputs (string-append "lib/" all)))) (search-input-file inputs (string-append "lib/" all))))
;; EGL vendor ICD configuration ;; EGL vendor ICD configuration
@ -278,6 +284,11 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
(("libGLX_nvidia\\.so\\.." all) (("libGLX_nvidia\\.so\\.." all)
(string-append #$output "/lib/" all))) (string-append #$output "/lib/" all)))
;; VulkanSC ICD configuration
(substitute* "nvidia_icd_vksc.json"
(("libnvidia-vksc-core\\.so\\.." all)
(string-append #$output "/lib/" all)))
;; Add udev rules ;; Add udev rules
(symlink #$%nvidia-udev-rules "90-nvidia.rules"))) (symlink #$%nvidia-udev-rules "90-nvidia.rules")))
(add-after 'install 'add-architecture-to-filename (add-after 'install 'add-architecture-to-filename
@ -301,6 +312,8 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
'("/etc/OpenCL/vendors/nvidia.icd" '("/etc/OpenCL/vendors/nvidia.icd"
"/share/egl/egl_external_platform.d/10_nvidia_wayland.json" "/share/egl/egl_external_platform.d/10_nvidia_wayland.json"
"/share/egl/egl_external_platform.d/15_nvidia_gbm.json" "/share/egl/egl_external_platform.d/15_nvidia_gbm.json"
"/share/egl/egl_external_platform.d/20_nvidia_xcb.json"
"/share/egl/egl_external_platform.d/20_nvidia_xlib.json"
"/share/glvnd/egl_vendor.d/10_nvidia.json" "/share/glvnd/egl_vendor.d/10_nvidia.json"
"/share/vulkan/icd.d/nvidia_icd.json" "/share/vulkan/icd.d/nvidia_icd.json"
"/share/vulkan/implicit_layer.d/nvidia_layers.json")))) "/share/vulkan/implicit_layer.d/nvidia_layers.json"))))
@ -352,6 +365,7 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
(install-file manual mandir)))) (install-file manual mandir))))
'("nvidia-cuda-mps-control" '("nvidia-cuda-mps-control"
"nvidia-cuda-mps-server" "nvidia-cuda-mps-server"
"nvidia-pcc"
"nvidia-smi"))))) "nvidia-smi")))))
(add-before 'patch-elf 'relocate-libraries (add-before 'patch-elf 'relocate-libraries
(lambda _ (lambda _
@ -421,6 +435,7 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
(inputs (inputs
(list egl-gbm (list egl-gbm
egl-wayland egl-wayland
egl-x11
`(,gcc "lib") `(,gcc "lib")
glibc glibc
mesa-for-nvda mesa-for-nvda
@ -443,27 +458,7 @@ mainly used as a dependency of other packages. For user-facing purpose, use
(name "nvidia-driver-beta") (name "nvidia-driver-beta")
(version "565.57.01") (version "565.57.01")
(source (nvidia-source (source (nvidia-source
version "0yic33xx1b3jbgciphlwh6zqfj21vx9439zm0j45wf2yb17fksvf")) version "0yic33xx1b3jbgciphlwh6zqfj21vx9439zm0j45wf2yb17fksvf"))))
(arguments
(substitute-keyword-arguments (package-arguments nvidia-driver)
((#:install-plan plan)
#~(cons '("nvidia_icd_vksc.json" "etc/vulkansc/icd.d/")
#$plan))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'create-misc-files 'create-misc-files-for-beta
(lambda _
;; VulkanSC ICD configuration
(substitute* "nvidia_icd_vksc.json"
(("libnvidia-vksc-core\\.so\\.." all)
(string-append #$output "/lib/" all)))))
(add-after 'install-commands 'install-commands-for-beta
(lambda _
(when (string-match
"x86_64-linux"
(or #$(%current-target-system) #$(%current-system)))
(install-file "nvidia-pcc"
(string-append #$output "/bin")))))))))))
(define-public nvidia-libs (define-public nvidia-libs
(deprecated-package "nvidia-libs" nvidia-driver)) (deprecated-package "nvidia-libs" nvidia-driver))
@ -627,9 +622,9 @@ add @code{nvidia_drm.modeset=1} to @code{kernel-arguments} as well.")
(define-public nvidia-settings (define-public nvidia-settings
(package (package
(name "nvidia-settings") (name "nvidia-settings")
(version "550.142") (version "565.57.01")
(source (nvidia-settings-source (source (nvidia-settings-source
name version "01i2d2h91izx6937qikml11cxxjafgk326ndw80pgnzcbfaqhkjs")) name version "006my5a69689wkzjcg3k1y35ifmizfyfj4n7f02naxhbgrxq9fqz"))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:tests? #f ;no test suite (list #:tests? #f ;no test suite
@ -674,7 +669,8 @@ add @code{nvidia_drm.modeset=1} to @code{kernel-arguments} as well.")
libxext libxext
libxrandr libxrandr
libxv libxv
libxxf86vm)) libxxf86vm
vulkan-headers))
(synopsis "Nvidia driver control panel") (synopsis "Nvidia driver control panel")
(description (description
"This package provides Nvidia driver control panel for monitor "This package provides Nvidia driver control panel for monitor
@ -689,10 +685,7 @@ configuration, creating application profiles, gpu monitoring and more.")
(version "565.57.01") (version "565.57.01")
(source (nvidia-settings-source (source (nvidia-settings-source
name version name version
"006my5a69689wkzjcg3k1y35ifmizfyfj4n7f02naxhbgrxq9fqz")) "006my5a69689wkzjcg3k1y35ifmizfyfj4n7f02naxhbgrxq9fqz"))))
(inputs
(modify-inputs (package-inputs nvidia-settings)
(prepend vulkan-headers)))))
;;; ;;;

View File

@ -24,7 +24,7 @@
(firmware nvidia-configuration-firmware (firmware nvidia-configuration-firmware
(default nvidia-firmware)) ; file-like (default nvidia-firmware)) ; file-like
(module nvidia-configuration-module (module nvidia-configuration-module
(default nvidia-module))) ; file-like (default nvidia-module-open))) ; file-like
(define (nvidia-shepherd-service config) (define (nvidia-shepherd-service config)
(let* ((nvidia-driver (nvidia-configuration-driver config)) (let* ((nvidia-driver (nvidia-configuration-driver config))