Sync from SUSE:ALP:Source:Standard:1.0 nvidia-open-driver-G06-signed revision a6a2a624f7bbe20ef3890c1e12b96591

This commit is contained in:
Adrian Schröter 2025-01-09 10:44:53 +01:00
parent 20e20ac55c
commit 66a48df233
16 changed files with 877 additions and 19 deletions

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>cuda</package>
</multibuild>

11
aarch64-TW-buildfix.patch Normal file
View File

@ -0,0 +1,11 @@
--- 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,

6
kmp-trigger.sh Normal file
View File

@ -0,0 +1,6 @@
# trigger removal of driver modules with non-existing or wrong
# firmware when (new) firmware gets installed
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

View File

@ -1,3 +1,327 @@
-------------------------------------------------------------------
Sat Jan 4 12:42:00 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>
- set-FOP_UNSIGNED_OFFSET-for-nv_drm_fops.fop_flags.patch
* needed for Kernel 6.12 for 565.57.01 driver; already fixed
for 550.142
--> https://forums.developer.nvidia.com/t/patch-for-565-57-01-linux-kernel-6-12/313260
-------------------------------------------------------------------
Tue Dec 17 23:51:04 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- Update to 550.142 (boo#1234675)
- supersedes 550.135.patch
-------------------------------------------------------------------
Tue Dec 17 11:55:30 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- for SLE Micro 6.x use
'%if 0%{?suse_version} == 1600 && !0%{?is_opensuse}'; SLE16
doesn't set %sle_version and SLE Micro 6.x is already SLE16!
-------------------------------------------------------------------
Wed Dec 11 00:07:03 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- 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 <sndirsch@suse.com>
- obsolete <=560.35.03 -cuda KMPs; mistakenly we released
560.35.03 for SP4 ...
-------------------------------------------------------------------
Wed Dec 4 09:00:04 UTC 2024 - Egbert Eich <eich@suse.com>
- Make sure the correct FW package is installed on non-CUDA.
-------------------------------------------------------------------
Tue Dec 3 12:17:24 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- 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 <sndirsch@suse.com>
- only obsolete 555 CUDA driver/firmware packages
-------------------------------------------------------------------
Sat Nov 30 09:21:37 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- 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 <sndirsch@suse.com>
- For CUDA update version to 565.57.01
-------------------------------------------------------------------
Fri Nov 29 10:02:34 UTC 2024 - Egbert Eich <eich@suse.com>
- 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 <sndirsch@suse.com>
- 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 <sndirsch@suse.com>
- 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 <eich@suse.com>
- Improve handling of conflicts between different flavors
(gfx vs. CUDA) (bsc#1233332).
-------------------------------------------------------------------
Mon Nov 25 12:08:18 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- 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 <sndirsch@suse.com>
- 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 <sndirsch@suse.com>
- Update to 550.127.05 (boo#1232057)
* Fixed a bug which could cause applications using GBM to crash
when running with nvidia-drm.modeset=0.
-------------------------------------------------------------------
Mon Oct 21 11:32:45 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- cuda-flavor
provide also nvidia-open-driver-G06-kmp-$flavor = %version to
workaround broken cuda-drivers
-------------------------------------------------------------------
Fri Oct 18 19:35:16 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- For CUDA update version to 560.35.03
- supersedes kernel-6.10.patch
-------------------------------------------------------------------
Fri Oct 18 13:31:46 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- cuda-flavor
* provide nvidia-open-driver-G06-kmp = %version to workaround
broken cuda-drivers
- nv-prefer-signed-open-driver
* added comments for requirements
-------------------------------------------------------------------
Fri Oct 18 12:28:39 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- latest change hardcoded to 555.42.06; we no longer need this
for 560
-------------------------------------------------------------------
Fri Oct 18 11:49:46 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- nv-prefer-signed-open-driver:
* added specicic versions of cuda-drivers/cuda-drivers-xxx as
preconditions for requiring specific version of
nvidia-compute-G06
-------------------------------------------------------------------
Fri Oct 18 10:30:28 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- nv-prefer-signed-open-driver:
* no longer require a specific version of
nvidia-open-driver-G06-signed-cuda-kmp, so it can select the
correct open driver KMP matching the cuda-runtime version
- cuda-flavor:
* added nvidia-compute-G06 = %version to preconditions for
requiring kernel-firmware-nvidia-gspx-G06, since
nvidia-compute-utils-G06 does not have a version-specific
requires on nvidia-compute-G06
-------------------------------------------------------------------
Wed Oct 16 17:59:46 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- cuda-flavor:
* require kernel-firmware-nvidia-gspx-G06 instead of
kernel-firmware-nvidia-gspx-G06-cuda (which provides also
kernel-firmware-nvidia-gspx-G06)
* trigger removal of driver modules also on
kernel-firmware-nvidia-gspx-G06
-------------------------------------------------------------------
Wed Oct 16 12:44:18 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- no longer hard-require kernel firmware package, but install it
automatically once nvidia-compute-utils-G06 gets installed
- trigger removal of driver modules with non-existing or wrong
firmware when (new) firmware gets installed
-------------------------------------------------------------------
Sat Sep 21 12:02:59 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- Update to 550.120 (boo#1230779)
* Fixed a bug that could cause kernel crashes upon attempting
KMS operations through DRM when nvidia_drm was loaded with
modeset=0.
- aarch64-TW-buildfix.patch
* fixes build on aarch64 with latest TW kernel
-------------------------------------------------------------------
Wed Sep 11 11:15:43 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- CUDA build: removed entries from pci_ids-555.42.06 since this is
doing more harm than benefit (bsc#1230368)
-------------------------------------------------------------------
Mon Sep 9 17:55:56 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- For CUDA (preamble file):
* added: Provides: nvidia-open-driver-G06-signed-cuda-kmp-$flavor = %version
which is needed for 'zypper install <package> = <version>'
* added: Provides/Conflicts: nvidia-open-driver-G06-signed-kmp-$flavor = %version
useful for containers
-------------------------------------------------------------------
Wed Aug 28 11:02:09 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- reverted CUDA update version to 560.x.y due to changes in CUDA
repository with CUDA 12.6/560.x.y drivers
- kernel-6.10.patch:
* fixes build of 555.42.06 against Kernel 6.10
-------------------------------------------------------------------
Sun Aug 25 10:43:01 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- For CUDA update version to 560.35.03
-------------------------------------------------------------------
Mon Aug 12 10:53:10 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- Update to 550.107.02 (boo#1229716)
-------------------------------------------------------------------
Sat Aug 10 12:16:49 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- For CUDA update version to 560.28.03
-------------------------------------------------------------------
Tue Jul 23 09:04:48 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- better summary and description for KMP
-------------------------------------------------------------------
Thu Jul 11 07:36:33 UTC 2024 - Egbert Eich <eich@suse.com>
- Update to version 555.42.06 for CUDA. This tag has become
available in github, now.
-------------------------------------------------------------------
Tue Jul 9 12:57:07 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- Update to 550.100 (boo#1227575)
* Fixed a bug that caused OpenGL triple buffering to behave like
double buffering.
-------------------------------------------------------------------
Mon Jul 8 11:29:07 UTC 2024 - Egbert Eich <eich@suse.com>
- Use macro which is set during build but not when running
`osc service run download_files` to make sure both source versions
are visible for download. This way, only the correct source
tarball will be included in the source package of its respective
flavor but both can be downloaded (updated) simultaniously.
-------------------------------------------------------------------
Fri Jul 5 08:41:55 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- make buildservice happy; all sources need to be mentioned as such
in specfile
-------------------------------------------------------------------
Thu Jul 4 16:29:09 UTC 2024 - Egbert Eich <eich@suse.com>
- To avoid issues with missing dependencies when no CUDA repo
is present make the dependecy to nvidia-compute-G06 conditional.
- CUDA is not available for Tumbleweed, exclude the build of the
cuda flavor.
-------------------------------------------------------------------
Thu Jul 4 14:15:41 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- preamble: let the -cuda flavor KMP require the -cuda flavor
firmware
-------------------------------------------------------------------
Wed Jul 3 15:39:50 UTC 2024 - Egbert Eich <eich@suse.com>
- Add a second flavor for building the kernel module versions
used by CUDA. The kmp targetting CUDA contains '-cuda' in
its name to track its versions separately from the graphics
kmp. (bsc#1227417)
- Provide the meta package nv-prefer-signed-open-driver to
make sure the latest available SUSE-build open driver is
installed - independent of the latest available open driver
version in he CUDA repository.
Rationale:
The package cuda-runtime provides the link between CUDA and
the kernel driver version through a
Requires: cuda-drivers >= %version
This implies that a CUDA version will run withany kernel driver
version equal or higher than a base version.
nvidia-compute-G06 provides the glue layer between CUDA and
a specific version of he kernel driver both by providing
a set of base libraries and by requiring a specific kernel
version. 'cuda-drivers' (provided by nvidia-compute-utils-G06)
requires an unversioned nvidia-compute-G06. With this, the
resolver will install the latest available and applicable
nvidia-compute-G06.
nv-prefer-signed-open-driver then represents the latest available
open driver version and restricts the nvidia-compute-G06 version
to it. (bsc#1227419)
-------------------------------------------------------------------
Tue Jun 4 13:40:41 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- Security Update 550.90.07 (boo#1223356) [CVE-2024-0090,
CVE-2024-0091, CVE-2024-0092]
-------------------------------------------------------------------
Mon Apr 29 08:56:15 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- Update to 550.78
* addresses boo#1223454
-------------------------------------------------------------------
Wed Apr 17 14:24:53 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- Update to 550.76
* addresses boo#1222972
-------------------------------------------------------------------
Tue Mar 19 21:01:46 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- Update to 550.67
- rename pci_ids-unsupported* to pci_ids-supported* files
-------------------------------------------------------------------
Wed Feb 28 17:01:24 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package nvidia-open-driver-G06-signed
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,6 +16,21 @@
#
%define gfx_version 550.142
%define cuda_version 565.57.01
%global flavor @BUILD_FLAVOR@%{?nil}
%if "%{flavor}" == "cuda"
%if 0%{?suse_version} > 1600
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
%define kernel_module_directory /usr/lib/modules
@ -29,14 +44,27 @@
%else
%define compress_modules xz
%endif
Name: nvidia-open-driver-G06-signed
Version: 550.54.14
Name: nvidia-open-driver-G06-signed%{?with_cuda:-cuda}
%if %{with cuda}
Version: %{cuda_version}
%else
Version: %{gfx_version}
%endif
Release: 0
Summary: NVIDIA open kernel module driver for GeForce RTX 2000 series and newer
Summary: NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx) and newer
License: GPL-2.0-only AND MIT
Group: System/Kernel
URL: https://github.com/NVIDIA/open-gpu-kernel-modules/
Source0: 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
# 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
@ -45,12 +73,30 @@ Source5: kmp-postun.sh
Source6: modprobe.nvidia.install
Source7: preamble
Source8: json-to-pci-id-list.py
Source9: pci_ids-unsupported-%{version}
Source10: pci_ids-unsupported
Source9: pci_ids-supported-%{version}
# Generate:
# CUDA_VER=12.5.1; DRIVER_VER=%version; ARCH=...
# mkdir tmp
# wget https://developer.download.nvidia.com/compute/cuda/<cuda_ver>/local_installers/cuda_${CUDA_VER}_${DRIVER_VER}_linux.run -P ./tmp
# sh tmp/cuda_${CUDA_VER}_${DRIVER_VER}_linux.run --extract=$(pwd)/tmp
# cd tmp; sh ./NVIDIA-Linux-$ARCH-$DRIVER_VER.run -x; cd -
# ./json-to-pci-id-list.py --skiplegacy --kernelopen tmp/NVIDIA-Linux-${ARCH}-${DRIVER_VER}/supported-gpus/supported-gpus.json pci_ids-supported-$DRIVER_VER
Source10: pci_ids-supported
Source11: pesign-copy-sources
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++
@ -71,6 +117,12 @@ ExclusiveArch: x86_64 aarch64
%define kmp_template_name /usr/lib/rpm/kernel-module-subpackage
%endif
%(sed -e '/^%%post\>/ r %_sourcedir/kmp-post.sh' -e '/^%%postun\>/ r %_sourcedir/kmp-postun.sh' %kmp_template_name >%_builddir/nvidia-kmp-template)
%if "%{flavor}" == "cuda"
%(echo "%triggerin -p /bin/bash -n %%{-n*}-kmp-%1 -- kernel-firmware-nvidia-gspx-G06-cuda = %{version}" >> %_builddir/nvidia-kmp-template)
%(cat %_sourcedir/kmp-trigger.sh >> %_builddir/nvidia-kmp-template)
%endif
%(echo "%triggerin -p /bin/bash -n %%{-n*}-kmp-%1 -- kernel-firmware-nvidia-gspx-G06 = %{version}" >> %_builddir/nvidia-kmp-template)
%(cat %_sourcedir/kmp-trigger.sh >> %_builddir/nvidia-kmp-template)
%kernel_module_package -n %{name} -t %_builddir/nvidia-kmp-template -f %_sourcedir/kmp-filelist -p %_sourcedir/preamble
%{expand:%(
for f in %{flavors_to_build}; do \
@ -81,6 +133,44 @@ ExclusiveArch: x86_64 aarch64
echo "%files -n %{name}-${f}-devel -f files-${f}"; \
done)}
%package -n nv-prefer-signed-open-driver
%define version_major %(i=%{version}; echo ${i%%%%.*})
Summary: Prefer the signed open driver when installing CUDA
Requires: nvidia-open-driver-G06-signed-cuda-kmp
# This avoids the package being uninstallable when the CUDA repo is unavaliable preventing problems in staging
# Hard code version 555.42.06 as this requires is only needed for this version
# but since this meta package should apply to all versions.
Requires: ( nvidia-compute-G06 = 555.42.06 if ( cuda-drivers = 555.42.06 or cuda-drivers-%version_major = 555.42.06) )
%description -n nv-prefer-signed-open-driver
By installing this package, the signed NVIDIA open driver built by SUSE will be preferred during installation
of CUDA components.
Simply run: `zypper install --no-recommends cuda-runtime-<version> 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.
# 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}
%files -n kernel-firmware-nvidia-gspx-G06%{?with_cuda:-cuda}
%endif
%if %{with cuda}
%files -n nv-prefer-signed-open-driver
%endif
## create hardware supplements for manual builds
%{load:%{SOURCE12}}
@ -90,7 +180,8 @@ ExclusiveArch: x86_64 aarch64
%description
This package provides the open-source NVIDIA kernel module driver
for GeForce RTX 2000 series and newer GPUs.
for GeForce 16 series (GTX 16xx) and newer GPUs, i.e. Turing GPU family
and newer (Turing, Ampere, Ada Lavelace, Hopper, Blackwell, ...).
%prep
%autosetup -p1 -n open-gpu-kernel-modules-%{version}
@ -126,7 +217,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
@ -143,7 +234,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

BIN
open-gpu-kernel-modules-550.142.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

0
pci_ids-565.57.01 Normal file
View File

View File

@ -67,8 +67,17 @@
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
@ -90,8 +99,20 @@
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
@ -145,6 +166,9 @@
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
@ -164,11 +188,13 @@
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
@ -176,25 +202,33 @@
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
0x28B0 NVIDIA RTX 2000 Ada Generation
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

@ -67,8 +67,17 @@
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
@ -90,8 +99,20 @@
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
@ -145,6 +166,9 @@
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
@ -164,11 +188,13 @@
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
@ -176,25 +202,33 @@
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
0x28B0 NVIDIA RTX 2000 Ada Generation
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

238
pci_ids-supported-565.57.01 Normal file
View File

@ -0,0 +1,238 @@
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
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
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
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
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
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
0x2330 NVIDIA H100 80GB HBM3
0x2331 NVIDIA H100 PCIe
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
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
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
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
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

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

View File

@ -1,6 +1,26 @@
Requires: kernel-firmware-nvidia-gspx-G06 = %{-v*}
Requires: perl-Bootloader
Conflicts: nvidia-gfxG06-kmp nvidia-driver-G06-kmp nvidia-gfxG05-kmp
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*}
# workaround for broken cuda-drivers
# 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
# 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*}
%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*}

View File

@ -0,0 +1,92 @@
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[] = {