From 063fd9a6648c58d205249cb19c6727129e51805d6008ed2a80242fe44c191dac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Wed, 18 Dec 2024 16:16:34 +0100 Subject: [PATCH] Sync from SUSE:SLFO:Main nvidia-open-driver-G06-signed revision 446997653f285bf1c6b6e84efba88f04 --- kmp-trigger.sh | 8 +- nvidia-open-driver-G06-signed.changes | 82 +++++++++++++++++++ nvidia-open-driver-G06-signed.spec | 33 +++++++- open-gpu-kernel-modules-550.127.05.tar.gz | 3 - open-gpu-kernel-modules-550.135.tar.gz | 3 + open-gpu-kernel-modules-560.35.03.tar.gz | 3 - open-gpu-kernel-modules-565.57.01.tar.gz | 3 + pci_ids-550.127.05 => pci_ids-550.135 | 0 pci_ids-560.35.03 => pci_ids-565.57.01 | 0 pci_ids-supported | 1 + ...ed-550.127.05 => pci_ids-supported-550.135 | 1 + ...d-560.35.03 => pci_ids-supported-565.57.01 | 6 ++ persistent-nvidia-id-string.patch | 8 +- preamble | 17 ++-- 14 files changed, 146 insertions(+), 22 deletions(-) delete mode 100644 open-gpu-kernel-modules-550.127.05.tar.gz create mode 100644 open-gpu-kernel-modules-550.135.tar.gz delete mode 100644 open-gpu-kernel-modules-560.35.03.tar.gz create mode 100644 open-gpu-kernel-modules-565.57.01.tar.gz rename pci_ids-550.127.05 => pci_ids-550.135 (100%) rename pci_ids-560.35.03 => pci_ids-565.57.01 (100%) rename pci_ids-supported-550.127.05 => pci_ids-supported-550.135 (99%) rename pci_ids-supported-560.35.03 => pci_ids-supported-565.57.01 (97%) diff --git a/kmp-trigger.sh b/kmp-trigger.sh index d1f3a07..73841b7 100644 --- a/kmp-trigger.sh +++ b/kmp-trigger.sh @@ -1,6 +1,6 @@ # trigger removal of driver modules with non-existing or wrong # firmware when (new) firmware gets installed -test -e /sys/module/nvidia && \ - cat /sys/class/drm/card*/device/vendor | grep -vq 10de && \ - rmmod nvidia_drm nvidia_uvm nvidia_modeset video nvidia &> /dev/null - +if test -e /sys/module/nvidia \ + && cat /sys/class/drm/card*/device/vendor | grep -vq 10de; then + rmmod nvidia_drm nvidia_uvm nvidia_modeset video nvidia &> /dev/null || true +fi diff --git a/nvidia-open-driver-G06-signed.changes b/nvidia-open-driver-G06-signed.changes index 274bfca..5e512af 100644 --- a/nvidia-open-driver-G06-signed.changes +++ b/nvidia-open-driver-G06-signed.changes @@ -1,3 +1,85 @@ +------------------------------------------------------------------- +Wed Dec 11 00:07:03 UTC 2024 - Stefan Dirsch + +- Do not set %{?linux_make_arch} for running make modules/modules-install +- supersedes 550.135.patch + +------------------------------------------------------------------- +Thu Dec 5 09:38:56 UTC 2024 - Stefan Dirsch + +- obsolete <=560.35.03 -cuda KMPs; mistakenly we released + 560.35.03 for SP4 ... + +------------------------------------------------------------------- +Wed Dec 4 09:00:04 UTC 2024 - Egbert Eich + +- Make sure the correct FW package is installed on non-CUDA. + +------------------------------------------------------------------- +Tue Dec 3 12:17:24 UTC 2024 - Stefan Dirsch + +- kmp-trigger.sh: + * avoid to return with exit code != 0 if modules could not be + unloaded for some reason + +------------------------------------------------------------------- +Sat Nov 30 12:30:19 UTC 2024 - Stefan Dirsch + +- only obsolete 555 CUDA driver/firmware packages + +------------------------------------------------------------------- +Sat Nov 30 09:21:37 UTC 2024 - Stefan Dirsch + +- preamble: + no longer need to provide nvidia-open-driver-G06-kmp because + since 565.57.01 to the list of requires of nvidia-compute-G06 + the -signed packages has been added + +------------------------------------------------------------------- +Sat Nov 30 02:18:26 UTC 2024 - Stefan Dirsch + +- For CUDA update version to 565.57.01 + +------------------------------------------------------------------- +Fri Nov 29 10:02:34 UTC 2024 - Egbert Eich + +- Add 'dummy' firmware package on SLE to work around update + issues. On SLE, the firmware is installed directly from + an NVIDIA-hosted repo. + +------------------------------------------------------------------- +Thu Nov 28 12:28:40 UTC 2024 - Stefan Dirsch + +- preamble + * resolve self conflicts of -cuda KMP during update by adding + obsoletes to older versions (boo#1233332) + +------------------------------------------------------------------- +Mon Nov 25 19:16:46 UTC 2024 - Stefan Dirsch + +- fixed my wrong patch 550.135.patch I introduced right below; + it fixed x86_64 build more-or-less accidently but broke aarch64 + build completely ... + +------------------------------------------------------------------- +Mon Nov 25 13:34:20 UTC 2024 - Egbert Eich + +- Improve handling of conflicts between different flavors + (gfx vs. CUDA) (bsc#1233332). + +------------------------------------------------------------------- +Mon Nov 25 12:08:18 UTC 2024 - Stefan Dirsch + +- Update to 550.135 (boo#1233673) +- 550.135.patch: + * fixes wrong logic for checking supported architectures + +------------------------------------------------------------------- +Mon Nov 11 10:32:20 UTC 2024 - Stefan Dirsch + +- kmp-trigger.sh: + * avoid to return with exit code != 0 if no modules are loaded + ------------------------------------------------------------------- Wed Oct 23 02:50:30 UTC 2024 - Stefan Dirsch diff --git a/nvidia-open-driver-G06-signed.spec b/nvidia-open-driver-G06-signed.spec index 7866f4d..b54680e 100644 --- a/nvidia-open-driver-G06-signed.spec +++ b/nvidia-open-driver-G06-signed.spec @@ -16,8 +16,8 @@ # -%define gfx_version 550.127.05 -%define cuda_version 560.35.03 +%define gfx_version 550.135 +%define cuda_version 565.57.01 %global flavor @BUILD_FLAVOR@%{?nil} %if "%{flavor}" == "cuda" @@ -25,6 +25,11 @@ ExclusiveArch: do_not_build %endif %{bcond_without cuda} +%define mykind cuda +%define otherkind gfx +%else +%define mykind gfx +%define otherkind cuda %endif %if %{undefined kernel_module_directory} %if 0%{?suse_version} >= 1550 @@ -139,6 +144,26 @@ By installing this package, the signed NVIDIA open driver built by SUSE will be of CUDA components. Simply run: `zypper install --no-recommends cuda-runtime- nv-prefer-signed-open-driver` +%package -n kernel-firmware-nvidia-gspx-G06%{?with_cuda:-cuda} +Summary: Kernel firmware file for open NVIDIA kernel module driver G06 +Provides: multiversion(kernel) +# Kill version 555 with a 'Conflicts: kernel-firmware-nvidia-gspx-G06' +Obsoletes: kernel-firmware-nvidia-gspx-G06 < 560.35.03 +Obsoletes: kernel-firmware-nvidia-gsp-G06 = 535.86.05 +Obsoletes: kernel-firmware-nvidia-gspx-G06-cuda < 560.35.03 +Requires: (kernel-firmware-nvidia-gspx-G06 = %{version} if (nvidia-compute-utils-G06 = %{version} or nvidia-compute-G06 = %{version} or sle-module-NVIDIA-compute-release)) +%if 0%{?sle_version} >= 150700 +BuildArch: noarch +%endif + +%description -n kernel-firmware-nvidia-gspx-G06%{?with_cuda:-cuda} +This package fetches the versioned kernel firmware file "gsp.bin" for +the OpenSource NVIDIA kernel module driver G06 once it's available. + +%if 0%{?sle_version:1} && %{with cuda} +%files -n kernel-firmware-nvidia-gspx-G06%{?with_cuda:-cuda} +%endif + %if %{with cuda} %files -n nv-prefer-signed-open-driver %endif @@ -188,7 +213,7 @@ for flavor in %{flavors_to_build}; do export SYSSRC=/usr/src/linux fi export SYSOUT=/usr/src/linux-obj/%_target_cpu/$flavor - make %{?_smp_mflags} %{?linux_make_arch} modules + make %{?_smp_mflags} modules popd done @@ -205,7 +230,7 @@ for flavor in %{flavors_to_build}; do export SYSSRC=/usr/src/linux fi export SYSOUT=/usr/src/linux-obj/%_target_cpu/$flavor - make %{?linux_make_arch} modules_install + make modules_install popd done diff --git a/open-gpu-kernel-modules-550.127.05.tar.gz b/open-gpu-kernel-modules-550.127.05.tar.gz deleted file mode 100644 index da5d1e5..0000000 --- a/open-gpu-kernel-modules-550.127.05.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3fcbb2c68d3f9150b931f81f096a5cb41fdfdeed787d6df05249ff636d5981dd -size 13835212 diff --git a/open-gpu-kernel-modules-550.135.tar.gz b/open-gpu-kernel-modules-550.135.tar.gz new file mode 100644 index 0000000..adb7ffd --- /dev/null +++ b/open-gpu-kernel-modules-550.135.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40d19bd2fcbbb839e6a0b3cc210e4b5b9f1c9353a407d548af33a95fddc75e0d +size 13833475 diff --git a/open-gpu-kernel-modules-560.35.03.tar.gz b/open-gpu-kernel-modules-560.35.03.tar.gz deleted file mode 100644 index 850a78a..0000000 --- a/open-gpu-kernel-modules-560.35.03.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a5dfb5e9b051510cfa987a25a2afe58f8746582128a0e79cc2839b2ed2c7bc58 -size 15534656 diff --git a/open-gpu-kernel-modules-565.57.01.tar.gz b/open-gpu-kernel-modules-565.57.01.tar.gz new file mode 100644 index 0000000..6250667 --- /dev/null +++ b/open-gpu-kernel-modules-565.57.01.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e77b90834c151af3e517071baa908494fae0531ee8667ab170ca608eaaade16e +size 15922672 diff --git a/pci_ids-550.127.05 b/pci_ids-550.135 similarity index 100% rename from pci_ids-550.127.05 rename to pci_ids-550.135 diff --git a/pci_ids-560.35.03 b/pci_ids-565.57.01 similarity index 100% rename from pci_ids-560.35.03 rename to pci_ids-565.57.01 diff --git a/pci_ids-supported b/pci_ids-supported index 953b1b1..b1427b1 100644 --- a/pci_ids-supported +++ b/pci_ids-supported @@ -107,6 +107,7 @@ 0x2322 NVIDIA H800 PCIe 0x2324 NVIDIA H800 0x2329 NVIDIA H20 +0x232C NVIDIA H20-3e 0x2330 NVIDIA H100 80GB HBM3 0x2331 NVIDIA H100 PCIe 0x2335 NVIDIA H200 diff --git a/pci_ids-supported-550.127.05 b/pci_ids-supported-550.135 similarity index 99% rename from pci_ids-supported-550.127.05 rename to pci_ids-supported-550.135 index 953b1b1..b1427b1 100644 --- a/pci_ids-supported-550.127.05 +++ b/pci_ids-supported-550.135 @@ -107,6 +107,7 @@ 0x2322 NVIDIA H800 PCIe 0x2324 NVIDIA H800 0x2329 NVIDIA H20 +0x232C NVIDIA H20-3e 0x2330 NVIDIA H100 80GB HBM3 0x2331 NVIDIA H100 PCIe 0x2335 NVIDIA H200 diff --git a/pci_ids-supported-560.35.03 b/pci_ids-supported-565.57.01 similarity index 97% rename from pci_ids-supported-560.35.03 rename to pci_ids-supported-565.57.01 index 350189c..ef91aa5 100644 --- a/pci_ids-supported-560.35.03 +++ b/pci_ids-supported-565.57.01 @@ -1,6 +1,7 @@ 0x1E02 NVIDIA TITAN RTX 0x1E04 NVIDIA GeForce RTX 2080 Ti 0x1E07 NVIDIA GeForce RTX 2080 Ti +0x1E09 NVIDIA CMP 50HX 0x1E30 Quadro RTX 8000 0x1E36 Quadro RTX 6000 0x1E78 Quadro RTX 6000 @@ -28,6 +29,7 @@ 0x1F07 NVIDIA GeForce RTX 2070 0x1F08 NVIDIA GeForce RTX 2060 0x1F0A NVIDIA GeForce GTX 1650 +0x1F0B NVIDIA CMP 40HX 0x1F10 NVIDIA GeForce RTX 2070 with Max-Q Design 0x1F11 NVIDIA GeForce RTX 2060 0x1F12 NVIDIA GeForce RTX 2060 with Max-Q Design @@ -83,6 +85,7 @@ 0x2184 NVIDIA GeForce GTX 1660 0x2187 NVIDIA GeForce GTX 1650 SUPER 0x2188 NVIDIA GeForce GTX 1650 +0x2189 NVIDIA CMP 30HX 0x2191 NVIDIA GeForce GTX 1660 Ti with Max-Q Design 0x2192 NVIDIA GeForce GTX 1650 Ti 0x21C4 NVIDIA GeForce GTX 1660 SUPER @@ -112,7 +115,9 @@ 0x2335 NVIDIA H200 0x2339 NVIDIA H100 0x233A NVIDIA H800 NVL +0x233B NVIDIA H200 NVL 0x2342 NVIDIA GH200 480GB +0x2348 NVIDIA GH200 144G HBM3e 0x2414 NVIDIA GeForce RTX 3060 Ti 0x2420 NVIDIA GeForce RTX 3080 Ti Laptop GPU 0x2438 NVIDIA RTX A5500 Laptop GPU @@ -217,6 +222,7 @@ 0x2805 NVIDIA GeForce RTX 4060 Ti 0x2808 NVIDIA GeForce RTX 4060 0x2820 NVIDIA GeForce RTX 4070 Laptop GPU +0x2822 NVIDIA GeForce RTX 3050 A Laptop GPU 0x2838 NVIDIA RTX 3000 Ada Generation Laptop GPU 0x2860 NVIDIA GeForce RTX 4070 Laptop GPU 0x2882 NVIDIA GeForce RTX 4060 diff --git a/persistent-nvidia-id-string.patch b/persistent-nvidia-id-string.patch index c715d04..b108b92 100644 --- a/persistent-nvidia-id-string.patch +++ b/persistent-nvidia-id-string.patch @@ -2,9 +2,11 @@ utils.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- a/utils.mk -+++ b/utils.mk -@@ -524,7 +524,7 @@ define GENERATE_NVIDSTRING +Index: open-gpu-kernel-modules-550.135/utils.mk +=================================================================== +--- open-gpu-kernel-modules-550.135.orig/utils.mk ++++ open-gpu-kernel-modules-550.135/utils.mk +@@ -544,7 +544,7 @@ define GENERATE_NVIDSTRING # g_nvid_string.c depends on all objects except g_nvid_string.o, and version.mk $(NVIDSTRING): $$(filter-out $$(call BUILD_OBJECT_LIST,$$(NVIDSTRING)), $(3)) $$(VERSION_MK) $(at_if_quiet)$$(MKDIR) $$(dir $$@) diff --git a/preamble b/preamble index 1213ef7..e3e870c 100644 --- a/preamble +++ b/preamble @@ -4,15 +4,22 @@ Requires: group(video) Provides: nvidia-open-driver-G06 = %{-v*} %if %{with cuda} Provides: nvidia-open-driver-G06-signed-cuda-kmp-%1 = %{-v*} +# Provide plain version to simplify installation Provides: nvidia-open-driver-G06-signed-kmp = %{-v*} Provides: nvidia-open-driver-G06-signed-kmp-%1 = %{-v*} -Conflicts: nvidia-open-driver-G06-signed-kmp -Conflicts: nvidia-open-driver-G06-signed-kmp-%1 # workaround for broken cuda-drivers -Provides: nvidia-open-driver-G06-kmp = %{-v*} -Provides: nvidia-open-driver-G06-kmp-%1 = %{-v*} -Requires: (kernel-firmware-nvidia-gspx-G06 = %{-v*} if (nvidia-compute-utils-G06 = %{-v*} or nvidia-compute-G06 = %{-v*} or sle-module-NVIDIA-compute-release)) +# resolve self conflicts of -cuda KMP during update by adding +# obsoletes pre-560/560 version due to its broad conflicts (boo#1233332) +Obsoletes: nvidia-open-driver-G06-signed-cuda-kmp-%1 <= 560.35.03 +Obsoletes: nvidia-open-driver-G06-signed-cuda-kmp <= 560.35.03 +%endif +%if 0%{?sle_version:1} && %{with cuda} +Requires: kernel-firmware-nvidia-gspx-G06-cuda = %{-v*} %else Requires: (kernel-firmware-nvidia-gspx-G06 = %{-v*} if nvidia-compute-utils-G06 = %{-v*}) %endif +Provides: nvidia-open-signed-kmp = %version +Provides: nvidia-open-signed-kmp(%mykind) +Conflicts: nvidia-open-signed-kmp(%otherkind) + Obsoletes: nvidia-open-driver-G06 = %{-v*}