From 00cf774fbd2424129e03224ca6299e9a1c10a85d8c14617bd856adc5cb2635e0 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Thu, 30 Jan 2025 15:16:15 +0000 Subject: [PATCH] - update non-CUDA variant to 570.86.16 - Update to 565.77 - non-CUDA variant: * get rid of modproee.d and dracut.cd files and udev magic; instead require nvidia-common-G06 * Supplements: switch to really supported devices; not only the initially supported ones without graphical output - update non-CUDA and CUDA variant to 570.86.15 OBS-URL: https://build.opensuse.org/package/show/X11:Drivers:Video:Redesign/nvidia-open-driver-G06-signed?expand=0&rev=179 --- aarch64-TW-buildfix.patch | 11 - kmp-filelist | 14 -- kmp-post.sh | 29 --- kmp-postun.sh | 4 - modprobe.nvidia.install | 42 ---- nvidia-open-driver-G06-signed.changes | 16 ++ nvidia-open-driver-G06-signed.spec | 54 +--- open-gpu-kernel-modules-550.144.03.tar.gz | 3 - open-gpu-kernel-modules-565.57.01.tar.gz | 3 - open-gpu-kernel-modules-570.86.15.tar.gz | 3 + open-gpu-kernel-modules-570.86.16.tar.gz | 3 + pci_ids-550.144.03 | 31 --- pci_ids-565.57.01 => pci_ids-570.86.15 | 0 ...s-supported-565.57.01 => pci_ids-570.86.16 | 6 + pci_ids-supported | 10 + pci_ids-supported-550.144.03 | 234 ------------------ preamble | 4 +- ...NED_OFFSET-for-nv_drm_fops.fop_flags.patch | 92 ------- 18 files changed, 48 insertions(+), 511 deletions(-) delete mode 100644 aarch64-TW-buildfix.patch delete mode 100644 kmp-post.sh delete mode 100644 kmp-postun.sh delete mode 100644 modprobe.nvidia.install delete mode 100644 open-gpu-kernel-modules-550.144.03.tar.gz delete mode 100644 open-gpu-kernel-modules-565.57.01.tar.gz create mode 100644 open-gpu-kernel-modules-570.86.15.tar.gz create mode 100644 open-gpu-kernel-modules-570.86.16.tar.gz delete mode 100644 pci_ids-550.144.03 rename pci_ids-565.57.01 => pci_ids-570.86.15 (100%) rename pci_ids-supported-565.57.01 => pci_ids-570.86.16 (97%) delete mode 100644 pci_ids-supported-550.144.03 delete mode 100644 set-FOP_UNSIGNED_OFFSET-for-nv_drm_fops.fop_flags.patch diff --git a/aarch64-TW-buildfix.patch b/aarch64-TW-buildfix.patch deleted file mode 100644 index 17e9961..0000000 --- a/aarch64-TW-buildfix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/kernel-open/nvidia/nv-vtophys.c.orig 2024-09-19 14:13:38.129627845 +0200 -+++ a/kernel-open/nvidia/nv-vtophys.c 2024-09-19 14:14:35.462847222 +0200 -@@ -29,7 +29,7 @@ - NvU64 NV_API_CALL nv_get_kern_phys_address(NvU64 address) - { - /* direct-mapped kernel address */ -- if (virt_addr_valid(address)) -+ if (virt_addr_valid((const void *) address)) - return __pa(address); - - nv_printf(NV_DBG_ERRORS, diff --git a/kmp-filelist b/kmp-filelist index c0df5b2..5f2eb14 100644 --- a/kmp-filelist +++ b/kmp-filelist @@ -2,17 +2,3 @@ %dir %{kernel_module_directory}/%2-%1 %dir %{kernel_module_directory}/%2-%1/updates %{kernel_module_directory}/%2-%1/updates/nvidia*.ko -%if 0%{?suse_version} >= 1550 -%dir /usr/lib/modprobe.d -%config /usr/lib/modprobe.d/59-nvidia-%1.conf -%config /usr/lib/modprobe.d/61-nvidia-%1.conf -%dir /usr/lib/dracut -%dir /usr/lib/dracut/dracut.conf.d -/usr/lib/dracut/dracut.conf.d/60-nvidia-%1.conf -%else -%dir %{_sysconfdir}/modprobe.d -%config %{_sysconfdir}/modprobe.d/59-nvidia-%1.conf -%config %{_sysconfdir}/modprobe.d/61-nvidia-%1.conf -%dir /etc/dracut.conf.d -/etc/dracut.conf.d/60-nvidia-%1.conf -%endif diff --git a/kmp-post.sh b/kmp-post.sh deleted file mode 100644 index e5a48ac..0000000 --- a/kmp-post.sh +++ /dev/null @@ -1,29 +0,0 @@ -flavor=%1 - -# Create symlinks for udev so these devices will get user ACLs by logind later (bnc#1000625) -mkdir -p /run/udev/static_node-tags/uaccess -mkdir -p /usr/lib/tmpfiles.d -ln -snf /dev/nvidiactl /run/udev/static_node-tags/uaccess/nvidiactl -ln -snf /dev/nvidia-uvm /run/udev/static_node-tags/uaccess/nvidia-uvm -ln -snf /dev/nvidia-uvm-tools /run/udev/static_node-tags/uaccess/nvidia-uvm-tools -ln -snf /dev/nvidia-modeset /run/udev/static_node-tags/uaccess/nvidia-modeset -cat > /usr/lib/tmpfiles.d/nvidia-logind-acl-trick-G06.conf << EOF -L /run/udev/static_node-tags/uaccess/nvidiactl - - - - /dev/nvidiactl -L /run/udev/static_node-tags/uaccess/nvidia-uvm - - - - /dev/nvidia-uvm -L /run/udev/static_node-tags/uaccess/nvidia-uvm-tools - - - - /dev/nvidia-uvm-tools -L /run/udev/static_node-tags/uaccess/nvidia-modeset - - - - /dev/nvidia-modeset -EOF -devid=-1 -for dev in $(ls -d /sys/bus/pci/devices/*); do - vendorid=$(cat $dev/vendor) - if [ "$vendorid" == "0x10de" ]; then - class=$(cat $dev/class) - classid=${class%%00} - if [ "$classid" == "0x0300" -o "$classid" == "0x0302" ]; then - devid=$((devid+1)) - ln -snf /dev/nvidia${devid} /run/udev/static_node-tags/uaccess/nvidia${devid} - echo "L /run/udev/static_node-tags/uaccess/nvidia${devid} - - - - /dev/nvidia${devid}" >> /usr/lib/tmpfiles.d/nvidia-logind-acl-trick-G06.conf - fi - fi -done - diff --git a/kmp-postun.sh b/kmp-postun.sh deleted file mode 100644 index 5e12a52..0000000 --- a/kmp-postun.sh +++ /dev/null @@ -1,4 +0,0 @@ -if [ "$1" = 0 ] ; then - # cleanup of bnc# 1000625 - rm -f /usr/lib/tmpfiles.d/nvidia-logind-acl-trick-G06.conf -fi diff --git a/modprobe.nvidia.install b/modprobe.nvidia.install deleted file mode 100644 index 0b1da48..0000000 --- a/modprobe.nvidia.install +++ /dev/null @@ -1,42 +0,0 @@ -# convert to one line via " awk '{ printf "%s ", $0 }' " script.txt' - -PATH=$PATH:/bin:/usr/bin; -if /sbin/modprobe --ignore-install nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=$(getent group video | cut -d: -f3) NVreg_DeviceFileMode=0660 NVreg_PreserveVideoMemoryAllocations=1; then - if /sbin/modprobe nvidia_uvm; then - if [ ! -c /dev/nvidia-uvm ]; then - mknod -m 660 /dev/nvidia-uvm c $(cat /proc/devices | while read major device; do if [ "$device" == "nvidia-uvm" ]; then echo $major; break; fi ; done) 0; - chown :video /dev/nvidia-uvm; - fi; - if [ ! -c /dev/nvidia-uvm-tools ]; then - mknod -m 660 /dev/nvidia-uvm-tools c $(cat /proc/devices | while read major device; do if [ "$device" == "nvidia-uvm" ]; then echo $major; break; fi ; done) 1; - chown :video /dev/nvidia-uvm-tools; - fi; - fi; - if [ ! -c /dev/nvidiactl ]; then - mknod -m 660 /dev/nvidiactl c 195 255; - chown :video /dev/nvidiactl; - fi; - devid=-1; - for dev in $(ls -d /sys/bus/pci/devices/*); do - vendorid=$(cat $dev/vendor); - if [ "$vendorid" == "0x10de" ]; then - class=$(cat $dev/class); - classid=${class%%00}; - if [ "$classid" == "0x0300" -o "$classid" == "0x0302" ]; then - devid=$((devid+1)); - if [ ! -L /run/udev/static_node-tags/uaccess/nvidia${devid} ]; then - ln -snf /dev/nvidia${devid} /run/udev/static_node-tags/uaccess/nvidia${devid}; - fi; - if [ ! -c /dev/nvidia${devid} ]; then - mknod -m 660 /dev/nvidia${devid} c 195 ${devid}; - chown :video /dev/nvidia${devid}; - fi; - fi; - fi; - done; - /sbin/modprobe nvidia_drm; - if [ ! -c /dev/nvidia-modeset ]; then - mknod -m 660 /dev/nvidia-modeset c 195 254; - chown :video /dev/nvidia-modeset; - fi; -fi diff --git a/nvidia-open-driver-G06-signed.changes b/nvidia-open-driver-G06-signed.changes index 8a4bdee..1fc3fb9 100644 --- a/nvidia-open-driver-G06-signed.changes +++ b/nvidia-open-driver-G06-signed.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Tue Jan 28 04:18:18 UTC 2025 - Stefan Dirsch + +- update non-CUDA variant to 570.86.16 + +------------------------------------------------------------------- +Mon Jan 27 20:39:55 UTC 2025 - Stefan Dirsch + +- Update to 565.77 +- non-CUDA variant: + * get rid of modproee.d and dracut.cd files and udev magic; + instead require nvidia-common-G06 + * Supplements: switch to really supported devices; not only the + initially supported ones without graphical output +- update non-CUDA and CUDA variant to 570.86.15 + ------------------------------------------------------------------- Wed Jan 22 10:28:07 UTC 2025 - Stefan Dirsch diff --git a/nvidia-open-driver-G06-signed.spec b/nvidia-open-driver-G06-signed.spec index 770dfcf..88c3eea 100644 --- a/nvidia-open-driver-G06-signed.spec +++ b/nvidia-open-driver-G06-signed.spec @@ -16,8 +16,8 @@ # -%define gfx_version 550.144.03 -%define cuda_version 565.57.01 +%define gfx_version 570.86.16 +%define cuda_version 570.86.15 %global flavor @BUILD_FLAVOR@%{?nil} %if "%{flavor}" == "cuda" @@ -56,24 +56,20 @@ Summary: NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx License: GPL-2.0-only AND MIT Group: System/Kernel URL: https://github.com/NVIDIA/open-gpu-kernel-modules/ -Source0: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/%{version}.tar.gz#/open-gpu-kernel-modules-%{version}.tar.gz +#Source0: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/%{version}.tar.gz#/open-gpu-kernel-modules-%{version}.tar.gz +Source0: open-gpu-kernel-modules-%{version}.tar.gz # This is defined at build, not for 'osc service run download_files` or # factory_auto. This both sources are seen outside of the build but only # the matching one will be included in the srpm for the respective flavor. %if %{undefined linux_arch} Source16: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/%{cuda_version}.tar.gz#/open-gpu-kernel-modules-%{cuda_version}.tar.gz -Source17: pci_ids-supported-%{cuda_version} Source18: pci_ids-%{cuda_version} %endif Source1: my-find-supplements Source2: pci_ids-%{version} Source3: kmp-filelist -Source4: kmp-post.sh -Source5: kmp-postun.sh -Source6: modprobe.nvidia.install Source7: preamble Source8: json-to-pci-id-list.py -Source9: pci_ids-supported-%{version} # Generate: # CUDA_VER=12.5.1; DRIVER_VER=%version; ARCH=... # mkdir tmp @@ -87,16 +83,6 @@ Source12: pesign-spec-macros Source14: group-source-files.pl Source15: kmp-trigger.sh Patch0: persistent-nvidia-id-string.patch -%if %{with cuda} -Patch1: set-FOP_UNSIGNED_OFFSET-for-nv_drm_fops.fop_flags.patch -%endif -%if "%{flavor}" != "cuda" -%ifarch aarch64 -%if 0%{?suse_version} >= 1600 -Patch2: aarch64-TW-buildfix.patch -%endif -%endif -%endif BuildRequires: %{kernel_module_package_buildreqs} BuildRequires: fdupes BuildRequires: gcc-c++ @@ -193,6 +179,11 @@ mkdir obj pushd %_sourcedir chmod 755 my-find-supplements* +%if %{with cuda} +# make sure it's empty for -cuda variant +rm pci_ids-%{version} +touch pci_ids-%{version} +%endif # symlink the %pci_id_file to the one, that rpmbuild generates, to enable my-find-supplement to succeed properly # boo#1190210 ln -sv pci_ids-%{version} pci_ids-%{version}_k%{kbuildver} @@ -238,33 +229,6 @@ for flavor in %{flavors_to_build}; do popd done -%if 0%{?suse_version} >= 1550 -MODPROBE_DIR=%{buildroot}/usr/lib/modprobe.d -%else -MODPROBE_DIR=%{buildroot}%{_sysconfdir}/modprobe.d -%endif - -mkdir -p $MODPROBE_DIR -for flavor in %flavors_to_build; do - cat > $MODPROBE_DIR/61-nvidia-$flavor.conf << EOF -blacklist nouveau -options nvidia-drm modeset=1 fbdev=1 -EOF - echo -n "install nvidia " > $MODPROBE_DIR/59-nvidia-$flavor.conf - tail -n +3 %_sourcedir/modprobe.nvidia.install | awk '{ printf "%s ", $0 }' >> $MODPROBE_DIR/59-nvidia-$flavor.conf -# otherwise nvidia-uvm is missing in initrd and won't get loaded when nvidia -# module is loaded in initrd; so better let's load all the nvidia modules -# later ... -%if 0%{?suse_version} >= 1550 - mkdir -p %{buildroot}/usr/lib/dracut/dracut.conf.d - cat > %{buildroot}/usr/lib/dracut/dracut.conf.d/60-nvidia-$flavor.conf << EOF -%else - mkdir -p %{buildroot}/etc/dracut.conf.d - cat > %{buildroot}/etc/dracut.conf.d/60-nvidia-$flavor.conf << EOF -%endif -omit_drivers+=" nvidia nvidia-drm nvidia-modeset nvidia-uvm " -EOF -done for flavor in %{flavors_to_build}; do mkdir -p %{buildroot}%{_prefix}/src/kernel-modules/nvidia-%{version}-${flavor} cp -r source/kernel-open/* %{buildroot}%{_prefix}/src/kernel-modules/nvidia-%{version}-${flavor} diff --git a/open-gpu-kernel-modules-550.144.03.tar.gz b/open-gpu-kernel-modules-550.144.03.tar.gz deleted file mode 100644 index 79dd432..0000000 --- a/open-gpu-kernel-modules-550.144.03.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ba581079d4ab2fbd4e77f242974eb3fa4f45b82b14582ae0432d1b273361b395 -size 13837793 diff --git a/open-gpu-kernel-modules-565.57.01.tar.gz b/open-gpu-kernel-modules-565.57.01.tar.gz deleted file mode 100644 index 6250667..0000000 --- a/open-gpu-kernel-modules-565.57.01.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e77b90834c151af3e517071baa908494fae0531ee8667ab170ca608eaaade16e -size 15922672 diff --git a/open-gpu-kernel-modules-570.86.15.tar.gz b/open-gpu-kernel-modules-570.86.15.tar.gz new file mode 100644 index 0000000..da9e197 --- /dev/null +++ b/open-gpu-kernel-modules-570.86.15.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6349304d8c893f451891ff2ae55dccf385a54512bae576bd4e5ed4531927ee66 +size 18648381 diff --git a/open-gpu-kernel-modules-570.86.16.tar.gz b/open-gpu-kernel-modules-570.86.16.tar.gz new file mode 100644 index 0000000..0f38451 --- /dev/null +++ b/open-gpu-kernel-modules-570.86.16.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86c2141be4173a59fbbebf3540ebb95da754ae1ea9d5ab419134ff7d5dfdf0bf +size 12997356 diff --git a/pci_ids-550.144.03 b/pci_ids-550.144.03 deleted file mode 100644 index 890e5c4..0000000 --- a/pci_ids-550.144.03 +++ /dev/null @@ -1,31 +0,0 @@ -0x1E37 Tesla T10 -0x1EB4 NVIDIA T4G -0x1EB8 Tesla T4 -0x1EB9 NVIDIA T4 32GB -0x20B0 NVIDIA A100-PG509-200 -0x20B1 NVIDIA A100-PCIE-40GB -0x20B2 NVIDIA A100-SXM4-80GB -0x20B3 NVIDIA PG506-242 -0x20B5 NVIDIA A100-PCIE-80GB -0x20B6 NVIDIA PG506-230 -0x20B7 NVIDIA A30 -0x20F0 NVIDIA A100-PG506-207 -0x20F1 NVIDIA A100-PCIE-40GB -0x20F2 NVIDIA A100-PG506-217 -0x20F5 NVIDIA A800-80 -0x20F6 NVIDIA A800-40 -0x2235 NVIDIA A40 -0x2236 NVIDIA A10 -0x2237 NVIDIA A10G -0x2321 NVIDIA H100 NVL -0x2322 NVIDIA H800 PCIe -0x2324 NVIDIA H800 -0x233A NVIDIA H800 NVL -0x2330 NVIDIA H100 80GB HBM3 -0x2331 NVIDIA H100 PCIe -0x2339 NVIDIA H100 -0x25B6 NVIDIA A16 -0x26B5 NVIDIA L40 -0x26B8 NVIDIA L40G -0x27B8 NVIDIA L4 - diff --git a/pci_ids-565.57.01 b/pci_ids-570.86.15 similarity index 100% rename from pci_ids-565.57.01 rename to pci_ids-570.86.15 diff --git a/pci_ids-supported-565.57.01 b/pci_ids-570.86.16 similarity index 97% rename from pci_ids-supported-565.57.01 rename to pci_ids-570.86.16 index ef91aa5..65ca5ec 100644 --- a/pci_ids-supported-565.57.01 +++ b/pci_ids-570.86.16 @@ -110,6 +110,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 @@ -228,6 +229,7 @@ 0x2882 NVIDIA GeForce RTX 4060 0x28A0 NVIDIA GeForce RTX 4060 Laptop GPU 0x28A1 NVIDIA GeForce RTX 4050 Laptop GPU +0x28A3 NVIDIA GeForce RTX 3050 A Laptop GPU 0x28B0 NVIDIA RTX 2000E Ada Generation 0x28B8 NVIDIA RTX 2000 Ada Generation Laptop GPU 0x28B9 NVIDIA RTX 1000 Ada Generation Laptop GPU @@ -236,3 +238,7 @@ 0x28E0 NVIDIA GeForce RTX 4060 Laptop GPU 0x28E1 NVIDIA GeForce RTX 4050 Laptop GPU 0x28F8 NVIDIA RTX 2000 Ada Generation Embedded GPU +0x2901 NVIDIA B200 +0x2B85 NVIDIA GeForce RTX 5090 +0x2B87 NVIDIA GeForce RTX 5090 D +0x2C02 NVIDIA GeForce RTX 5080 diff --git a/pci_ids-supported b/pci_ids-supported index 1370112..65ca5ec 100644 --- a/pci_ids-supported +++ b/pci_ids-supported @@ -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 @@ -113,7 +116,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 @@ -185,6 +190,7 @@ 0x25FB NVIDIA RTX A500 Embedded GPU 0x2684 NVIDIA GeForce RTX 4090 0x2685 NVIDIA GeForce RTX 4090 D +0x2689 NVIDIA GeForce RTX 4070 Ti SUPER 0x26B1 NVIDIA RTX 6000 Ada Generation 0x26B2 NVIDIA RTX 5000 Ada Generation 0x26B3 NVIDIA RTX 5880 Ada Generation @@ -232,3 +238,7 @@ 0x28E0 NVIDIA GeForce RTX 4060 Laptop GPU 0x28E1 NVIDIA GeForce RTX 4050 Laptop GPU 0x28F8 NVIDIA RTX 2000 Ada Generation Embedded GPU +0x2901 NVIDIA B200 +0x2B85 NVIDIA GeForce RTX 5090 +0x2B87 NVIDIA GeForce RTX 5090 D +0x2C02 NVIDIA GeForce RTX 5080 diff --git a/pci_ids-supported-550.144.03 b/pci_ids-supported-550.144.03 deleted file mode 100644 index 1370112..0000000 --- a/pci_ids-supported-550.144.03 +++ /dev/null @@ -1,234 +0,0 @@ -0x1E02 NVIDIA TITAN RTX -0x1E04 NVIDIA GeForce RTX 2080 Ti -0x1E07 NVIDIA GeForce RTX 2080 Ti -0x1E30 Quadro RTX 8000 -0x1E36 Quadro RTX 6000 -0x1E78 Quadro RTX 6000 -0x1E81 NVIDIA GeForce RTX 2080 SUPER -0x1E82 NVIDIA GeForce RTX 2080 -0x1E84 NVIDIA GeForce RTX 2070 SUPER -0x1E87 NVIDIA GeForce RTX 2080 -0x1E89 NVIDIA GeForce RTX 2060 -0x1E90 NVIDIA GeForce RTX 2080 with Max-Q Design -0x1E91 NVIDIA GeForce RTX 2070 Super with Max-Q Design -0x1E93 NVIDIA GeForce RTX 2080 Super with Max-Q Design -0x1EB0 Quadro RTX 5000 -0x1EB1 Quadro RTX 4000 -0x1EB5 Quadro RTX 5000 with Max-Q Design -0x1EB6 Quadro RTX 4000 with Max-Q Design -0x1EC2 NVIDIA GeForce RTX 2070 SUPER -0x1EC7 NVIDIA GeForce RTX 2070 SUPER -0x1ED0 NVIDIA GeForce RTX 2080 with Max-Q Design -0x1ED1 NVIDIA GeForce RTX 2070 Super with Max-Q Design -0x1ED3 NVIDIA GeForce RTX 2080 Super with Max-Q Design -0x1EF5 Quadro RTX 5000 -0x1F02 NVIDIA GeForce RTX 2070 -0x1F03 NVIDIA GeForce RTX 2060 -0x1F06 NVIDIA GeForce RTX 2060 SUPER -0x1F07 NVIDIA GeForce RTX 2070 -0x1F08 NVIDIA GeForce RTX 2060 -0x1F0A NVIDIA GeForce GTX 1650 -0x1F10 NVIDIA GeForce RTX 2070 with Max-Q Design -0x1F11 NVIDIA GeForce RTX 2060 -0x1F12 NVIDIA GeForce RTX 2060 with Max-Q Design -0x1F14 NVIDIA GeForce RTX 2070 with Max-Q Design -0x1F15 NVIDIA GeForce RTX 2060 -0x1F36 Quadro RTX 3000 with Max-Q Design -0x1F42 NVIDIA GeForce RTX 2060 SUPER -0x1F47 NVIDIA GeForce RTX 2060 SUPER -0x1F50 NVIDIA GeForce RTX 2070 with Max-Q Design -0x1F51 NVIDIA GeForce RTX 2060 -0x1F54 NVIDIA GeForce RTX 2070 with Max-Q Design -0x1F55 NVIDIA GeForce RTX 2060 -0x1F76 Matrox D-Series D2480 -0x1F82 NVIDIA GeForce GTX 1650 -0x1F83 NVIDIA GeForce GTX 1630 -0x1F91 NVIDIA GeForce GTX 1650 with Max-Q Design -0x1F95 NVIDIA GeForce GTX 1650 Ti with Max-Q Design -0x1F96 NVIDIA GeForce GTX 1650 with Max-Q Design -0x1F97 NVIDIA GeForce MX450 -0x1F98 NVIDIA GeForce MX450 -0x1F99 NVIDIA GeForce GTX 1650 with Max-Q Design -0x1F9C NVIDIA GeForce MX450 -0x1F9D NVIDIA GeForce GTX 1650 with Max-Q Design -0x1F9F NVIDIA GeForce MX550 -0x1FA0 NVIDIA GeForce MX550 -0x1FB0 NVIDIA T1000 -0x1FB1 NVIDIA T600 -0x1FB2 NVIDIA T400 -0x1FB6 NVIDIA T600 Laptop GPU -0x1FB7 NVIDIA T550 Laptop GPU -0x1FB8 Quadro T2000 with Max-Q Design -0x1FB9 Quadro T1000 with Max-Q Design -0x1FBA NVIDIA T600 Laptop GPU -0x1FBB NVIDIA T500 -0x1FBC NVIDIA T1200 Laptop GPU -0x1FDD NVIDIA GeForce GTX 1650 -0x1FF0 NVIDIA T1000 8GB -0x1FF2 NVIDIA T400E -0x1FF9 Quadro T1000 -0x20B0 NVIDIA A100-PG509-200 -0x20B2 NVIDIA PG509-210 -0x20B3 NVIDIA A100-SXM-64GB -0x20B5 NVIDIA A100 80GB PCIe -0x20B6 NVIDIA PG506-232 -0x20B7 NVIDIA A30 -0x20BD NVIDIA A800-SXM4-40GB -0x20F1 NVIDIA A100-PCIE-40GB -0x20F3 NVIDIA A800-SXM4-80GB -0x20F5 NVIDIA A800 80GB PCIe LC -0x20F6 NVIDIA A800 40GB Active -0x20FD NVIDIA AX800 -0x2182 NVIDIA GeForce GTX 1660 Ti -0x2184 NVIDIA GeForce GTX 1660 -0x2187 NVIDIA GeForce GTX 1650 SUPER -0x2188 NVIDIA GeForce GTX 1650 -0x2191 NVIDIA GeForce GTX 1660 Ti with Max-Q Design -0x2192 NVIDIA GeForce GTX 1650 Ti -0x21C4 NVIDIA GeForce GTX 1660 SUPER -0x21D1 NVIDIA GeForce GTX 1660 Ti -0x2203 NVIDIA GeForce RTX 3090 Ti -0x2204 NVIDIA GeForce RTX 3090 -0x2206 NVIDIA GeForce RTX 3080 -0x2207 NVIDIA GeForce RTX 3070 Ti -0x2208 NVIDIA GeForce RTX 3080 Ti -0x220A NVIDIA GeForce RTX 3080 -0x220D NVIDIA CMP 90HX -0x2216 NVIDIA GeForce RTX 3080 -0x2230 NVIDIA RTX A6000 -0x2231 NVIDIA RTX A5000 -0x2232 NVIDIA RTX A4500 -0x2233 NVIDIA RTX A5500 -0x2235 NVIDIA A40 -0x2236 NVIDIA A10 -0x2237 NVIDIA A10G -0x2238 NVIDIA A10M -0x2321 NVIDIA H100 NVL -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 -0x2339 NVIDIA H100 -0x233A NVIDIA H800 NVL -0x2342 NVIDIA GH200 480GB -0x2414 NVIDIA GeForce RTX 3060 Ti -0x2420 NVIDIA GeForce RTX 3080 Ti Laptop GPU -0x2438 NVIDIA RTX A5500 Laptop GPU -0x2460 NVIDIA GeForce RTX 3080 Ti Laptop GPU -0x2482 NVIDIA GeForce RTX 3070 Ti -0x2484 NVIDIA GeForce RTX 3070 -0x2486 NVIDIA GeForce RTX 3060 Ti -0x2487 NVIDIA GeForce RTX 3060 -0x2488 NVIDIA GeForce RTX 3070 -0x2489 NVIDIA GeForce RTX 3060 Ti -0x248A NVIDIA CMP 70HX -0x249C NVIDIA GeForce RTX 3060 Laptop GPU -0x249D NVIDIA GeForce RTX 3070 Laptop GPU -0x24A0 NVIDIA GeForce RTX 3060 Laptop GPU -0x24B0 NVIDIA RTX A4000 -0x24B1 NVIDIA RTX A4000H -0x24B6 NVIDIA RTX A5000 Laptop GPU -0x24B7 NVIDIA RTX A4000 Laptop GPU -0x24B8 NVIDIA RTX A3000 Laptop GPU -0x24B9 NVIDIA RTX A3000 12GB Laptop GPU -0x24BA NVIDIA RTX A4500 Laptop GPU -0x24BB NVIDIA RTX A3000 12GB Laptop GPU -0x24C7 NVIDIA GeForce RTX 3060 -0x24C9 NVIDIA GeForce RTX 3060 Ti -0x24DC NVIDIA GeForce RTX 3080 Laptop GPU -0x24DD NVIDIA GeForce RTX 3070 Laptop GPU -0x24E0 NVIDIA GeForce RTX 3070 Ti Laptop GPU -0x24FA NVIDIA RTX A4500 Embedded GPU -0x2503 NVIDIA GeForce RTX 3060 -0x2504 NVIDIA GeForce RTX 3060 -0x2507 NVIDIA GeForce RTX 3050 -0x2508 NVIDIA GeForce RTX 3050 OEM -0x2520 NVIDIA GeForce RTX 3060 Laptop GPU -0x2521 NVIDIA GeForce RTX 3060 Laptop GPU -0x2523 NVIDIA GeForce RTX 3050 Ti Laptop GPU -0x2531 NVIDIA RTX A2000 -0x2544 NVIDIA GeForce RTX 3060 -0x2560 NVIDIA GeForce RTX 3060 Laptop GPU -0x2563 NVIDIA GeForce RTX 3050 Ti Laptop GPU -0x2571 NVIDIA RTX A2000 12GB -0x2582 NVIDIA GeForce RTX 3050 -0x2584 NVIDIA GeForce RTX 3050 -0x25A0 NVIDIA GeForce RTX 3060 Laptop GPU -0x25A2 NVIDIA GeForce RTX 3060 Laptop GPU -0x25A5 NVIDIA GeForce RTX 3050 Laptop GPU -0x25A6 NVIDIA GeForce MX570 -0x25A7 NVIDIA GeForce RTX 2050 -0x25A9 NVIDIA GeForce RTX 2050 -0x25AA NVIDIA GeForce MX570 A -0x25AB NVIDIA GeForce RTX 3050 4GB Laptop GPU -0x25AC NVIDIA GeForce RTX 3050 6GB Laptop GPU -0x25AD NVIDIA GeForce RTX 2050 -0x25B0 NVIDIA RTX A1000 -0x25B2 NVIDIA RTX A400 -0x25B6 NVIDIA A2 -0x25B8 NVIDIA RTX A2000 Laptop GPU -0x25B9 NVIDIA RTX A1000 Laptop GPU -0x25BA NVIDIA RTX A2000 8GB Laptop GPU -0x25BB NVIDIA RTX A500 Laptop GPU -0x25BC NVIDIA RTX A1000 6GB Laptop GPU -0x25BD NVIDIA RTX A500 Laptop GPU -0x25E0 NVIDIA GeForce RTX 3050 Ti Laptop GPU -0x25E2 NVIDIA GeForce RTX 3050 Laptop GPU -0x25E5 NVIDIA GeForce RTX 3050 Laptop GPU -0x25EC NVIDIA GeForce RTX 3050 6GB Laptop GPU -0x25ED NVIDIA GeForce RTX 2050 -0x25F9 NVIDIA RTX A1000 Embedded GPU -0x25FA NVIDIA RTX A2000 Embedded GPU -0x25FB NVIDIA RTX A500 Embedded GPU -0x2684 NVIDIA GeForce RTX 4090 -0x2685 NVIDIA GeForce RTX 4090 D -0x26B1 NVIDIA RTX 6000 Ada Generation -0x26B2 NVIDIA RTX 5000 Ada Generation -0x26B3 NVIDIA RTX 5880 Ada Generation -0x26B5 NVIDIA L40 -0x26B9 NVIDIA L40S -0x26BA NVIDIA L20 -0x2702 NVIDIA GeForce RTX 4080 SUPER -0x2704 NVIDIA GeForce RTX 4080 -0x2705 NVIDIA GeForce RTX 4070 Ti SUPER -0x2709 NVIDIA GeForce RTX 4070 -0x2717 NVIDIA GeForce RTX 4090 Laptop GPU -0x2730 NVIDIA RTX 5000 Ada Generation Laptop GPU -0x2757 NVIDIA GeForce RTX 4090 Laptop GPU -0x2770 NVIDIA RTX 5000 Ada Generation Embedded GPU -0x2782 NVIDIA GeForce RTX 4070 Ti -0x2783 NVIDIA GeForce RTX 4070 SUPER -0x2786 NVIDIA GeForce RTX 4070 -0x2788 NVIDIA GeForce RTX 4060 Ti -0x27A0 NVIDIA GeForce RTX 4080 Laptop GPU -0x27B0 NVIDIA RTX 4000 SFF Ada Generation -0x27B1 NVIDIA RTX 4500 Ada Generation -0x27B2 NVIDIA RTX 4000 Ada Generation -0x27B6 NVIDIA L2 -0x27B8 NVIDIA L4 -0x27BA NVIDIA RTX 4000 Ada Generation Laptop GPU -0x27BB NVIDIA RTX 3500 Ada Generation Laptop GPU -0x27E0 NVIDIA GeForce RTX 4080 Laptop GPU -0x27FB NVIDIA RTX 3500 Ada Generation Embedded GPU -0x2803 NVIDIA GeForce RTX 4060 Ti -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 -0x28A0 NVIDIA GeForce RTX 4060 Laptop GPU -0x28A1 NVIDIA GeForce RTX 4050 Laptop GPU -0x28A3 NVIDIA GeForce RTX 3050 A Laptop GPU -0x28B0 NVIDIA RTX 2000E Ada Generation -0x28B8 NVIDIA RTX 2000 Ada Generation Laptop GPU -0x28B9 NVIDIA RTX 1000 Ada Generation Laptop GPU -0x28BA NVIDIA RTX 500 Ada Generation Laptop GPU -0x28BB NVIDIA RTX 500 Ada Generation Laptop GPU -0x28E0 NVIDIA GeForce RTX 4060 Laptop GPU -0x28E1 NVIDIA GeForce RTX 4050 Laptop GPU -0x28F8 NVIDIA RTX 2000 Ada Generation Embedded GPU diff --git a/preamble b/preamble index 5123894..7e94bb6 100644 --- a/preamble +++ b/preamble @@ -15,13 +15,11 @@ Obsoletes: nvidia-open-driver-G06-signed-cuda-kmp <= 560.35.03 %endif # SLE16 doesn't set %sle_version; SLE Micro 6.x is already SLE16 !!! %if (0%{?sle_version:1} || (0%{?suse_version} == 1600 && !0%{?is_opensuse})) && %{with cuda} -Requires: kernel-firmware-nvidia-gspx-G06-cuda = %{-v*} %if 0%{?sle_version} == 150400 Conflicts: nvidia-driver-G06-signed-kmp-%1 < 550.135 %endif -%else -Requires: (kernel-firmware-nvidia-gspx-G06 = %{-v*} if nvidia-compute-utils-G06 = %{-v*}) %endif +Requires: (nvidia-common-G06 = %{-v*} if nvidia-compute-utils-G06 = %{-v*}) Provides: nvidia-open-signed-kmp = %version Provides: nvidia-open-signed-kmp(%mykind) Conflicts: nvidia-open-signed-kmp(%otherkind) diff --git a/set-FOP_UNSIGNED_OFFSET-for-nv_drm_fops.fop_flags.patch b/set-FOP_UNSIGNED_OFFSET-for-nv_drm_fops.fop_flags.patch deleted file mode 100644 index b146500..0000000 --- a/set-FOP_UNSIGNED_OFFSET-for-nv_drm_fops.fop_flags.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 8ac26d3c66ea88b0f80504bdd1e907658b41609d Mon Sep 17 00:00:00 2001 -From: Rahul Rameshbabu -Date: Tue, 12 Nov 2024 15:01:16 -0800 -Subject: [PATCH] nvidia-drm: Set FOP_UNSIGNED_OFFSET for nv_drm_fops.fop_flags - if present - -Linux kernel commit 641bb4394f40 ("fs: move FMODE_UNSIGNED_OFFSET to -fop_flags") introduced a new .fop_flags define, FOP_UNSIGNED_OFFSET, for -struct file_operations. A check in drm_open_helper was added to ensure DRM -device drivers mark that all file offsets passed for working with DRM fs -nodes are unsigned values. If a DRM device driver fails to set this static -member, opening DRM device nodes (/dev/dri/card*) will fail. This commit -will land in Linux kernel v6.12. - -To ensure DRM clients will continue to function with kernel v6.12 and -above, set FOP_UNSIGNED_OFFSET for nv_drm_fops.fop_flags if -FOP_UNSIGNED_OFFSET is present in the linux kernel headers being built -against. Without doing so, userspace DRM clients will fail to function. An -example is being unable to launch Wayland compositors. - -KWin logs without this change: - kwin_core: Failed to open /dev/dri/card1 device (Invalid argument) - kwin_wayland_drm: failed to open drm device at "/dev/dri/card1" - kwin_core: Failed to open /dev/dri/card0 device (Invalid argument) - kwin_wayland_drm: failed to open drm device at "/dev/dri/card0" - kwin_wayland_drm: No suitable DRM devices have been found - -Linux kernel warning generated without this change: - [Oct 2 02:15] ------------[ cut here ]------------ - [ +0.000009] WARNING: CPU: 2 PID: 464 at drivers/gpu/drm/drm_file.c:312 drm_open_helper+0x134/0x150 - - [ +0.000108] Unloaded tainted modules: nvidia(OE):1 nvidia_modeset(OE):1 nvidia_drm(OE):1 [last unloaded: ttm] - [ +0.000024] CPU: 2 UID: 0 PID: 464 Comm: systemd-logind Tainted: G OE 6.12.0-rc1-next-20241001-sound+ #10 c8090f98b0209abebde89ba1e4c08c75331eef4d - [ +0.000016] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE - [ +0.000004] Hardware name: System manufacturer PRIME Z390-A/PRIME Z390-A, BIOS 0224 08/14/2018 - [ +0.000005] RIP: 0010:drm_open_helper+0x134/0x150 - - [ +0.000005] Call Trace: - [ +0.000006] - [ +0.000004] ? drm_open_helper+0x134/0x150 - [ +0.000008] ? __warn.cold+0x93/0xf6 - [ +0.000011] ? drm_open_helper+0x134/0x150 - [ +0.000009] ? report_bug+0xff/0x140 - [ +0.000009] ? handle_bug+0x58/0x90 - [ +0.000010] ? exc_invalid_op+0x17/0x70 - [ +0.000010] ? asm_exc_invalid_op+0x1a/0x20 - [ +0.000018] ? drm_open_helper+0x134/0x150 - [ +0.000008] drm_open+0x73/0x110 - [ +0.000007] drm_stub_open+0x9b/0xd0 - [ +0.000009] chrdev_open+0xb0/0x230 - [ +0.000014] ? __pfx_chrdev_open+0x10/0x10 - [ +0.000011] do_dentry_open+0x14c/0x4a0 - [ +0.000013] vfs_open+0x2e/0xe0 - [ +0.000009] path_openat+0x82f/0x13f0 - [ +0.000016] do_filp_open+0xc4/0x170 - [ +0.000020] do_sys_openat2+0xae/0xe0 - [ +0.000010] __x64_sys_openat+0x55/0xa0 - [ +0.000009] do_syscall_64+0x82/0x190 - [ +0.000008] ? do_readlinkat+0xc5/0x180 - [ +0.000008] ? syscall_exit_to_user_mode+0x37/0x1c0 - [ +0.000010] ? do_syscall_64+0x8e/0x190 - [ +0.000007] ? do_sys_openat2+0x9c/0xe0 - [ +0.000009] ? syscall_exit_to_user_mode+0x37/0x1c0 - [ +0.000008] ? do_syscall_64+0x8e/0x190 - [ +0.000007] ? syscall_exit_to_user_mode+0x37/0x1c0 - [ +0.000007] ? do_syscall_64+0x8e/0x190 - [ +0.000006] ? do_syscall_64+0x8e/0x190 - [ +0.000007] entry_SYSCALL_64_after_hwframe+0x76/0x7e - [ +0.000012] RIP: 0033:0x7f90c1cec2e3 - - [ +0.000004] ---[ end trace 0000000000000000 ]--- - -Signed-off-by: Rahul Rameshbabu ---- - kernel-open/nvidia-drm/nvidia-drm-drv.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/kernel-open/nvidia-drm/nvidia-drm-drv.c b/kernel-open/nvidia-drm/nvidia-drm-drv.c -index 8cb942193..16f0d13e1 100644 ---- a/kernel-open/nvidia-drm/nvidia-drm-drv.c -+++ b/kernel-open/nvidia-drm/nvidia-drm-drv.c -@@ -1711,6 +1711,10 @@ static const struct file_operations nv_drm_fops = { - .read = drm_read, - - .llseek = noop_llseek, -+ -+#if defined(FOP_UNSIGNED_OFFSET) -+ .fop_flags = FOP_UNSIGNED_OFFSET, -+#endif - }; - - static const struct drm_ioctl_desc nv_drm_ioctls[] = {