Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nvidia-open-driver-G06-signed for openSUSE:Factory checked in at 2023-01-30 17:10:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nvidia-open-driver-G06-signed (Old)
and /work/SRC/openSUSE:Factory/.nvidia-open-driver-G06-signed.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nvidia-open-driver-G06-signed"
Mon Jan 30 17:10:14 2023 rev:3 rq:1061900 version:525.85.05
Changes:
--------
--- /work/SRC/openSUSE:Factory/nvidia-open-driver-G06-signed/nvidia-open-driver-G06-signed.changes 2023-01-25 17:51:29.650727522 +0100
+++ /work/SRC/openSUSE:Factory/.nvidia-open-driver-G06-signed.new.32243/nvidia-open-driver-G06-signed.changes 2023-01-30 17:26:53.497671745 +0100
@@ -1,0 +2,12 @@
+Sun Jan 29 16:16:33 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- introduce %hardcode_pci_list macro for hardcoding PCI ID
+ modaliases for Supplements; make it default to *temporarily*
+ workaround boo#1207520
+ * TW: enable only officially supported headless GPUs!
+ * Leap/sle: enable all Turing and Ampere GPUs and set the
+ appropriate modprobe.d option, so we can at least begin
+ testing on sle15-sp5 ...
+- adds pci-table.patch, generati-pci-table.sh
+
+-------------------------------------------------------------------
New:
----
generati-pci-table.sh
pci-table.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nvidia-open-driver-G06-signed.spec ++++++
--- /var/tmp/diff_new_pack.SH96Em/_old 2023-01-30 17:26:54.129675146 +0100
+++ /var/tmp/diff_new_pack.SH96Em/_new 2023-01-30 17:26:54.141675212 +0100
@@ -16,6 +16,8 @@
#
+%define hardcode_pci_list 1
+
%if %{undefined kernel_module_directory}
%if 0%{?usrmerged}
%define kernel_module_directory /usr/lib/modules
@@ -49,8 +51,10 @@
Source10: pci_ids-unsupported
Source11: pesign-copy-sources
Source12: pesign-spec-macros
+Source13: generati-pci-table.sh
Patch0: 0001-Don-t-override-INSTALL_MOD_DIR.patch
Patch2: persistent-nvidia-id-string.patch
+Patch3: pci-table.patch
BuildRequires: %{kernel_module_package_buildreqs}
BuildRequires: gcc-c++
BuildRequires: kernel-source
@@ -71,8 +75,10 @@
%(sed -e '/^%%post\>/ r %_sourcedir/kmp-post.sh' -e '/^%%postun\>/ r %_sourcedir/kmp-postun.sh' %kmp_template_name >%_builddir/nvidia-kmp-template)
%kernel_module_package -n %{name} -t %_builddir/nvidia-kmp-template -f %_sourcedir/kmp-filelist -p %_sourcedir/preamble
-# create hardware supplements for manual builds
+%if ! 0%{hardcode_pci_list}
+## create hardware supplements for manual builds
%{load:%{SOURCE12}}
+%endif
# newer rpmbuilds attach the kernel version and the major part of release to %%pci_id_file of the __kmp_supplements script
# boo#1190210
@@ -86,6 +92,16 @@
%setup -q -n open-gpu-kernel-modules-%{version}
%patch0 -p1
%patch2 -p1
+%if 0%{hardcode_pci_list}
+%patch3 -p0
+pushd kernel-open
+%if 0%{?suse_version} >= 1550
+sh %{SOURCE13} %{SOURCE2}
+%else
+sh %{SOURCE13} %{SOURCE9}
+%endif
+popd
+%endif
set -- *
mkdir source
mv "$@" source/
@@ -148,7 +164,15 @@
blacklist nouveau
options nvidia-drm modeset=1
### Enable support on *all* Turing/Ampere GPUs: Alpha Quality!
+%if 0%{hardcode_pci_list}
+%if 0%{?suse_version} >= 1550
+#options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
+%else
+options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
+%endif
+%else
#options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
+%endif
EOF
echo -n "install nvidia " >> $MODPROBE_DIR/50-nvidia-$flavor.conf
tail -n +3 %_sourcedir/modprobe.nvidia.install | awk '{ printf "%s ", $0 }' >> $MODPROBE_DIR/50-nvidia-$flavor.conf
++++++ generati-pci-table.sh ++++++
#!/bin/sh
if [ $# -ne 1 ]; then
echo "$0 <input_file"
exit 1
fi
input=$1
cat > nvidia/nv_pci_table_list.h <<EOF
EOF
cat > nvidia/nv_module_pci_table_list.h <<EOF
EOF
for did in $(cat $input | cut -d " " -f1 ); do
echo $did
cat >> nvidia/nv_pci_table_list.h <<EOF
{
.vendor = PCI_VENDOR_ID_NVIDIA,
.device = $did,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.class = (PCI_CLASS_DISPLAY_VGA << 8),
.class_mask = ~0
},
{
.vendor = PCI_VENDOR_ID_NVIDIA,
.device = $did,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.class = (PCI_CLASS_DISPLAY_3D << 8),
.class_mask = ~0
},
EOF
cat >> nvidia/nv_module_pci_table_list.h <<EOF
{
.vendor = PCI_VENDOR_ID_NVIDIA,
.device = $did,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.class = (PCI_CLASS_DISPLAY_VGA << 8),
.class_mask = ~0
},
{
.vendor = PCI_VENDOR_ID_NVIDIA,
.device = $did,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.class = (PCI_CLASS_DISPLAY_3D << 8),
.class_mask = ~0
},
{
.vendor = PCI_VENDOR_ID_NVIDIA,
.device = $did,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.class = (PCI_CLASS_BRIDGE_OTHER << 8),
.class_mask = ~0
},
EOF
done
cp nvidia/nv_pci_table_list.h nvidia-drm/nv_pci_table_list.h
cp nvidia/nv_module_pci_table_list.h nvidia-drm/nv_module_pci_table_list.h
++++++ pci-table.patch ++++++
diff -u -r kernel-open.orig/nvidia/nv-pci-table.c kernel-open/nvidia/nv-pci-table.c
--- kernel-open.orig/nvidia/nv-pci-table.c 2023-01-29 14:48:55.126713000 +0100
+++ kernel-open/nvidia/nv-pci-table.c 2023-01-29 14:56:28.901959000 +0100
@@ -28,51 +28,13 @@
/* Devices supported by RM */
struct pci_device_id nv_pci_table[] = {
- {
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = PCI_ANY_ID,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .class = (PCI_CLASS_DISPLAY_VGA << 8),
- .class_mask = ~0
- },
- {
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = PCI_ANY_ID,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .class = (PCI_CLASS_DISPLAY_3D << 8),
- .class_mask = ~0
- },
+#include "nv_pci_table_list.h"
{ }
};
/* Devices supported by all drivers in nvidia.ko */
struct pci_device_id nv_module_device_table[] = {
- {
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = PCI_ANY_ID,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .class = (PCI_CLASS_DISPLAY_VGA << 8),
- .class_mask = ~0
- },
- {
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = PCI_ANY_ID,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .class = (PCI_CLASS_DISPLAY_3D << 8),
- .class_mask = ~0
- },
- {
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = PCI_ANY_ID,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .class = (PCI_CLASS_BRIDGE_OTHER << 8),
- .class_mask = ~0
- },
+#include "nv_module_pci_table_list.h"
{ }
};
diff -u -r kernel-open.orig/nvidia-drm/nv-pci-table.c kernel-open/nvidia-drm/nv-pci-table.c
--- kernel-open.orig/nvidia-drm/nv-pci-table.c 2023-01-29 14:48:51.032916000 +0100
+++ kernel-open/nvidia-drm/nv-pci-table.c 2023-01-29 14:53:47.242620000 +0100
@@ -28,51 +28,13 @@
/* Devices supported by RM */
struct pci_device_id nv_pci_table[] = {
- {
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = PCI_ANY_ID,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .class = (PCI_CLASS_DISPLAY_VGA << 8),
- .class_mask = ~0
- },
- {
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = PCI_ANY_ID,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .class = (PCI_CLASS_DISPLAY_3D << 8),
- .class_mask = ~0
- },
+#include "nv_pci_table_list.h"
{ }
};
/* Devices supported by all drivers in nvidia.ko */
struct pci_device_id nv_module_device_table[] = {
- {
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = PCI_ANY_ID,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .class = (PCI_CLASS_DISPLAY_VGA << 8),
- .class_mask = ~0
- },
- {
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = PCI_ANY_ID,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .class = (PCI_CLASS_DISPLAY_3D << 8),
- .class_mask = ~0
- },
- {
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = PCI_ANY_ID,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .class = (PCI_CLASS_BRIDGE_OTHER << 8),
- .class_mask = ~0
- },
+#include "nv_module_pci_table_list.h"
{ }
};