- 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
This commit is contained in:
Stefan Dirsch 2025-01-30 15:16:15 +00:00 committed by Git OBS Bridge
parent 44144e09f3
commit 00cf774fbd
18 changed files with 48 additions and 511 deletions

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Tue Jan 28 04:18:18 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>
- update non-CUDA variant to 570.86.16
-------------------------------------------------------------------
Mon Jan 27 20:39:55 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>
- 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 <sndirsch@suse.com>

View File

@ -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}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ba581079d4ab2fbd4e77f242974eb3fa4f45b82b14582ae0432d1b273361b395
size 13837793

BIN
open-gpu-kernel-modules-565.57.01.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6349304d8c893f451891ff2ae55dccf385a54512bae576bd4e5ed4531927ee66
size 18648381

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:86c2141be4173a59fbbebf3540ebb95da754ae1ea9d5ab419134ff7d5dfdf0bf
size 12997356

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -1,92 +0,0 @@
From 8ac26d3c66ea88b0f80504bdd1e907658b41609d Mon Sep 17 00:00:00 2001
From: Rahul Rameshbabu <rrameshbabu@nvidia.com>
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
<snip>
[ +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
<snip>
[ +0.000005] Call Trace:
[ +0.000006] <TASK>
[ +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
<snip>
[ +0.000004] ---[ end trace 0000000000000000 ]---
Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
---
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[] = {