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 <sndir...@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" { } };