From be2de79d7b73842d26f00635e5aa6bccc0ed59dadc24b099f9b52322fe00e8dc Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 4 Jan 2023 14:15:05 +0000 Subject: [PATCH] - renamed package to nvidia-open-driver-G06-signed due to package redesign OBS-URL: https://build.opensuse.org/package/show/X11:Drivers:Video:Redesign/nvidia-open-driver-G06-signed?expand=0&rev=1 --- .gitattributes | 23 ++ .gitignore | 1 + 0001-Don-t-override-INSTALL_MOD_DIR.patch | 25 ++ json-to-pci-id-list.py | 53 +++++ kmp-filelist | 16 ++ kmp-post.sh | 47 ++++ kmp-postun.sh | 8 + modprobe.nvidia.install | 39 ++++ my-find-supplements | 45 ++++ nvidia-open-driver-G06-signed.changes | 264 ++++++++++++++++++++++ nvidia-open-driver-G06-signed.spec | 164 ++++++++++++++ open-gpu-kernel-modules-525.60.11.tar.gz | 3 + pci_ids-525.60.11 | 18 ++ pci_ids-unsupported | 149 ++++++++++++ pci_ids-unsupported-525.60.11 | 149 ++++++++++++ persistent-nvidia-id-string.patch | 15 ++ preamble | 3 + 17 files changed, 1022 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-Don-t-override-INSTALL_MOD_DIR.patch create mode 100644 json-to-pci-id-list.py create mode 100644 kmp-filelist create mode 100644 kmp-post.sh create mode 100644 kmp-postun.sh create mode 100644 modprobe.nvidia.install create mode 100644 my-find-supplements create mode 100644 nvidia-open-driver-G06-signed.changes create mode 100644 nvidia-open-driver-G06-signed.spec create mode 100644 open-gpu-kernel-modules-525.60.11.tar.gz create mode 100644 pci_ids-525.60.11 create mode 100644 pci_ids-unsupported create mode 100644 pci_ids-unsupported-525.60.11 create mode 100644 persistent-nvidia-id-string.patch create mode 100644 preamble diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-Don-t-override-INSTALL_MOD_DIR.patch b/0001-Don-t-override-INSTALL_MOD_DIR.patch new file mode 100644 index 0000000..c65086d --- /dev/null +++ b/0001-Don-t-override-INSTALL_MOD_DIR.patch @@ -0,0 +1,25 @@ +From 2382801d11b73d8107c7f13747ebc76921f8d8ea Mon Sep 17 00:00:00 2001 +From: Patrik Jakobsson +Date: Fri, 13 May 2022 11:10:34 +0200 +Subject: [PATCH] Don't override INSTALL_MOD_DIR + +Signed-off-by: Patrik Jakobsson +--- + kernel-open/Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/kernel-open/Makefile b/kernel-open/Makefile +index e0ed5e9..9f54630 100644 +--- a/kernel-open/Makefile ++++ b/kernel-open/Makefile +@@ -74,7 +74,6 @@ else + KBUILD_PARAMS += NV_KERNEL_SOURCES=$(KERNEL_SOURCES) + KBUILD_PARAMS += NV_KERNEL_OUTPUT=$(KERNEL_OUTPUT) + KBUILD_PARAMS += NV_KERNEL_MODULES="$(NV_KERNEL_MODULES)" +- KBUILD_PARAMS += INSTALL_MOD_DIR=kernel/drivers/video + KBUILD_PARAMS += NV_SPECTRE_V2=$(SPECTRE_V2_RETPOLINE) + + .PHONY: modules module clean clean_conftest modules_install +-- +2.36.1 + diff --git a/json-to-pci-id-list.py b/json-to-pci-id-list.py new file mode 100644 index 0000000..f9ae15b --- /dev/null +++ b/json-to-pci-id-list.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 + # Copyright (c) 2022 Tamara Schmitz . + # + # This program is free software: you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation, version 3. + # + # This program is distributed in the hope that it will be useful, but + # WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program. If not, see . + # + +import argparse +import json + +# arg parsing +parser = argparse.ArgumentParser(description="Parse an NVIDIA supported devices\ + JSON and convert it to a pci id list.") +parser.add_argument("INPUT_JSON", + help="The JSON file to be parsed", + type=argparse.FileType('r') + ) +parser.add_argument("OUTPUT_PCI_ID_LIST", + help="The output file to save to", + type=argparse.FileType('w') + ) +parser.add_argument("--skiplegacy", help="Skip GPUs that are in a legacy branch", + action="store_true") +parser.add_argument("--kernelopen", help="Only select GPUs that are supported by\ + the Open GPU kernel modules", + action="store_true") +args = parser.parse_args() + +# json parsing +json = json.load(args.INPUT_JSON) +pci_id_list = {} +for chip in json["chips"]: + if args.skiplegacy and "legacybranch" in chip: + continue + if args.kernelopen and \ + ("features" not in chip or "kernelopen" not in chip["features"]): + continue + if "devid" in chip and "name" in chip: + pci_id_list[chip["devid"]] = chip["name"] + +# write to file +for devid, name in sorted(pci_id_list.items(), key=lambda i: i[0]): + # there are no duplicates since a dictionary's key is unique + args.OUTPUT_PCI_ID_LIST.write("%s %s\n" % (devid, name)) diff --git a/kmp-filelist b/kmp-filelist new file mode 100644 index 0000000..3147796 --- /dev/null +++ b/kmp-filelist @@ -0,0 +1,16 @@ +%defattr (-,root,root) +%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/50-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/50-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 new file mode 100644 index 0000000..b3214f0 --- /dev/null +++ b/kmp-post.sh @@ -0,0 +1,47 @@ +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 + +# groups are now dynamic +%if 0%{?suse_version} >= 1550 +if [ -f /usr/lib/modprobe.d/50-nvidia-$flavor.conf ]; then +%else +if [ -f /etc/modprobe.d/50-nvidia-$flavor.conf ]; then +%endif + VIDEOGID=`getent group video | cut -d: -f3` +%if 0%{?suse_version} >= 1550 + sed -i "s/33/$VIDEOGID/" /usr/lib/modprobe.d/50-nvidia-$flavor.conf +%else + sed -i "s/33/$VIDEOGID/" /etc/modprobe.d/50-nvidia-$flavor.conf +%endif +fi + +# Workaround needed on TW for simpledrm (boo#1201392) +%if 0%{?suse_version} >= 1550 +pbl --add-option nosimplefb=1 --config +%endif diff --git a/kmp-postun.sh b/kmp-postun.sh new file mode 100644 index 0000000..8ee2e2d --- /dev/null +++ b/kmp-postun.sh @@ -0,0 +1,8 @@ +if [ "$1" = 0 ] ; then + # cleanup of bnc# 1000625 + rm -f /usr/lib/tmpfiles.d/nvidia-logind-acl-trick-G06.conf + # remove TW Workaround for simpledrm during uninstall (boo#1201392) + %if 0%{?suse_version} >= 1550 + pbl --del-option nosimplefb=1 --config + %endif +fi diff --git a/modprobe.nvidia.install b/modprobe.nvidia.install new file mode 100644 index 0000000..4b70ed8 --- /dev/null +++ b/modprobe.nvidia.install @@ -0,0 +1,39 @@ +# convert to one line via " awk '{ printf "%s ", $0 }' " script.txt' + +PATH=$PATH:/bin:/usr/bin; +if /sbin/modprobe --ignore-install nvidia; 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 [ ! -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/my-find-supplements b/my-find-supplements new file mode 100644 index 0000000..3854412 --- /dev/null +++ b/my-find-supplements @@ -0,0 +1,45 @@ +#!/bin/bash + +PCI_ID_FILE=$1 +shift + +tmp=$(mktemp) +trap 'rm -f "$tmp"' EXIT + +/usr/lib/rpm/find-supplements.ksyms "$@" >"$tmp" +# the system script currently only generates modalias(...) lines, but allow +# other dependencies just in case +grep -v '^modalias(' "$tmp" + +# determine the kernel flavor +krel=$(sed -rn 's/modalias\(([^:]*):.*/\1/p; T; q' "$tmp") +if test -z "$krel"; then + exit +fi + +# Tumbleweed +# pci_ids-390.144_k5.14.0_1.legacy --> pci_ids-390.144.legacy +# pci_ids-390.144_k5.14.0_1.new --> pci_ids-390.144.new +# pci_ids-390.144_k5.14.0_1 --> pci_ids-390.144 +# Leap/SLES +# pci_ids-390.144.legacy (no changes) +# pci_ids-390.144.new (no changes) +# pci_ids-390.144 (no changes) + +legacy=0 +new=0 +echo $PCI_ID_FILE | grep -q legacy && legacy=1 +echo $PCI_ID_FILE | grep -q new && new=1 + +PCI_ID_FILE=$(echo $PCI_ID_FILE | sed -e 's/_k.*//g' -e 's/.legacy//g' -e 's/.new//g') + +if [ $legacy -eq 1 ]; then + PCI_ID_FILE=$PCI_ID_FILE.legacy +elif [ $new -eq 1 ]; then + PCI_ID_FILE=$PCI_ID_FILE.new +fi + +# and create our own list of modalias supplements +for id in $(cat ${PCI_ID_FILE} | cut -d " " -f 1|sed 's/0x//g'); do + echo "modalias(${krel}:pci:v000010DEd0000${id}sv*sd*bc03sc0[02]i00*)" +done diff --git a/nvidia-open-driver-G06-signed.changes b/nvidia-open-driver-G06-signed.changes new file mode 100644 index 0000000..fa42f45 --- /dev/null +++ b/nvidia-open-driver-G06-signed.changes @@ -0,0 +1,264 @@ +------------------------------------------------------------------- +Wed Jan 4 13:56:56 UTC 2023 - Stefan Dirsch + +- renamed package to nvidia-open-driver-G06-signed due to package + redesign + +------------------------------------------------------------------- +Mon Nov 28 23:08:21 UTC 2022 - Stefan Dirsch + +- Update to version 525.60.11 + +------------------------------------------------------------------- +Wed Nov 23 13:37:07 UTC 2022 - Stefan Dirsch + +- set NVreg_PreserveVideoMemoryAllocations kernel option now + needed for GNOME Wayland (gdm) since + commit 51181871e9db716546e9593216220389de0d8b03 + Author: Ray Strode + Date: Fri Mar 4 14:11:03 2022 -0500 + + data: Disable wayland on nvidia if suspend is broken + +------------------------------------------------------------------- +Mon Nov 14 10:25:51 UTC 2022 - Stefan Dirsch + +- added /etc/dracut.conf.d/60-nvidia-$flavor.conf in order to + omit nvidia modules in initrd, which apparently were added + automatically - apart from nvidia-uvm module; related to + boo#1173733 + +------------------------------------------------------------------- +Fri Nov 11 14:32:14 UTC 2022 - Stefan Dirsch + +- Update to 525.53 + * GSP firmware is now distributed as multiple firmware files: + this release has gsp_tu10x.bin and gsp_ad10x.bin replacing + gsp.bin from previous releases. + + Each file is named after a GPU architecture and supports + GPUs from one or more architectures. This allows GSP + firmware to better leverage each architecture's + capabilities. + + The .run installer will continue to install firmware to + /lib/firmware/nvidia/ and the nvidia.ko kernel + module will load the appropriate firmware for each GPU at + runtime. + * Add support for IBT (indirect branch tracking) on supported + platforms, #256 by @rnd-ash + * Return EINVAL when [failing to] allocating memory, + #280 by @YusufKhan-gamedev + * Fix various typos in nvidia/src/kernel, #16 by + @alexisgeoffrey + * Added support for rotation in X11, Quadro Sync, Stereo, + and YUV 4:2:0 on Turing. + +------------------------------------------------------------------- +Tue Oct 18 14:08:49 UTC 2022 - Stefan Dirsch + +- (build-)require perl-Bootloader due to pbl usage in %post(-un) + +------------------------------------------------------------------- +Tue Oct 18 13:58:19 UTC 2022 - Stefan Dirsch + +- kmp-post.sh/kmp-postun.sh: + * add/remove nosimplefb=1 kernel option in order to fix Linux + console on TW kernel, which comes with simpledrm support + +------------------------------------------------------------------- +Sat Oct 8 09:47:11 UTC 2022 - Stefan Dirsch + +- Update to 515.76 + * Improved compatibility with new Linux kernel releases + * Fixed possible excessive GPU power draw on an idle X11 or + Wayland desktop when driving high resolutions or refresh rates + +------------------------------------------------------------------- +Wed Aug 3 10:52:41 UTC 2022 - Stefan Dirsch + +- added pci_ids-unsupported -> pci_ids-unsupported-515.65.01 + symlink to which I can refer from blog + +------------------------------------------------------------------- +Tue Aug 2 16:04:37 UTC 2022 - Stefan Dirsch + +- Update to 515.65.01 + * Collection of minor fixes to issues, #6 by @Joshua-Ashton + * Remove unnecessary use of acpi_bus_get_device(). + +------------------------------------------------------------------- +Tue Jul 19 16:27:15 UTC 2022 - Callum Farmer + +- Force CC to gcc to avoid compiler differs warnings + +------------------------------------------------------------------- +Tue Jul 19 14:23:40 UTC 2022 - Stefan Dirsch + +- json-to-pci-id-list.py + * added new Python script by Tamara Schmitz which is being used + now to parse supported-gpus.json in order to create the PCI ID + list 'pci_ids-unsupported-' + +------------------------------------------------------------------- +Mon Jul 18 13:57:20 UTC 2022 - Stefan Dirsch + +- pci_ids-unsupported-515.57 + * currently unsupported devices (Turing and later, which needs + NVreg_OpenRmEnableUnsupportedGpus=1 kernel option; Alpha Quality!) + +------------------------------------------------------------------- +Thu Jul 14 10:54:27 UTC 2022 - Stefan Dirsch + +- define %kernel_module_directory macro on older distros in order + to fix build on Leap 15.3(GA)/sle 15 SP3(GA) + +------------------------------------------------------------------- +Thu Jun 30 21:44:04 UTC 2022 - Stefan Dirsch + +- update to 515.57 + * Backtick is deprecated, #273 by @arch-user-france1 + +------------------------------------------------------------------- +Fri Jun 17 10:19:13 UTC 2022 - Callum Farmer + +- Revert last change and use default CA [pesign-obs-integration + and kernel-source docs are incorrect] + +------------------------------------------------------------------- +Thu Jun 16 12:31:41 UTC 2022 - Callum Farmer + +- Create uefi cert package + +------------------------------------------------------------------- +Wed Jun 15 21:48:58 UTC 2022 - Callum Farmer + +- Sign the kernel modules and compress them + +------------------------------------------------------------------- +Wed Jun 15 11:15:46 UTC 2022 - Stefan Dirsch + +- don't buildrequire azure on aarch64; no such kernel flavor + available on aarch64 + +------------------------------------------------------------------- +Thu Jun 9 13:12:16 UTC 2022 - Stefan Dirsch + +- move cuda-drivers = %version provide to nvidia-computeG0X, which + then again requires nvidia-gfxG0X-kmp or nvidia-open-gfxG0X-kmp + respectively + +------------------------------------------------------------------- +Wed Jun 8 15:20:11 UTC 2022 - Stefan Dirsch + +- preamble: provide cuda-drivers = %version, so you can just + install 'cuda' meta package to install CUDA stack + (cuda --> cuda-11-7 --> cuda-runtime-11-7 --> cuda-drivers >= 515.43.04) + from https://developer.download.nvidia.com/compute/cuda/repos/opensuse15/x86_64/ + +------------------------------------------------------------------- +Tue Jun 7 09:44:30 UTC 2022 - Stefan Dirsch + +- preamble: added Conflicts to nvidia-gfxG06-kmp + +------------------------------------------------------------------- +Tue May 31 17:54:59 UTC 2022 - Stefan Dirsch + +- update to 515.48.07 + * List of compatible GPUs in README.md. + * Fix various README capitalizations, #8 by @lx-is + * Automatically tag bug report issues, #15 by @thebeanogamer + * Improve conftest.sh Script, #37 by @Nitepone + * Update HTTP link to HTTPS, #101 by @alcaparra + * moved array sanity check to before the array access, #117 by @RealAstolfo + * Fixed some typos, #122 by @FEDOyt + * Fixed capitalization, #123 by @keroeslux + * Fix typos in NVDEC Engine Descriptor, #126 from @TrickyDmitriy + * Extranous apostrohpes in a makefile script [sic], #14 by @kiroma + * HDMI no audio @ 4K above 60Hz, #75 by @adolfotregosa + * dp_configcaps.cpp:405: array index sanity check in wrong place?, #110 by @dcb314 + * NVRM kgspInitRm_IMPL: missing NVDEC0 engine, cannot initialize GSP-RM, #116 by @kfazz + * ERROR: modpost: "backlight_device_register" [...nvidia-modeset.ko] undefined, #135 by @sndirsch + * aarch64 build fails, #151 by @frezbo +- supersedes backlight-workaround.patch + +------------------------------------------------------------------- +Thu May 19 21:33:33 UTC 2022 - Callum Farmer + +- Set mno-outline-atomics to fix libgcc issues on aarch64 + +------------------------------------------------------------------- +Thu May 19 12:27:36 UTC 2022 - Stefan Dirsch + +- preamble: require kernel-firmware-nvidia-gsp package for nvidia's + versioned "gsp.bin" fimrware + +------------------------------------------------------------------- +Thu May 19 08:21:02 UTC 2022 - Stefan Dirsch + +- enable build also for aarch64 + +------------------------------------------------------------------- +Thu May 19 08:02:16 UTC 2022 - Stefan Dirsch + +- improved summary and description + +------------------------------------------------------------------- +Thu May 19 03:05:12 UTC 2022 - Stefan Dirsch + +- modprobe.nvidia.install + * install script when the "nvidia" module is being loaded; needed + for creating devices +- specfile + * filled modprobe.d config file (options and install script) + +------------------------------------------------------------------- +Thu May 19 02:15:53 UTC 2022 - Stefan Dirsch + +- kmp-post.sh/kmp-postun.sh + * additional code for %post/%postun scriptlets to create nvidia + devices +- specfile: adjust %kernel_module_package macro appropriately + +------------------------------------------------------------------- +Tue May 17 19:35:33 UTC 2022 - Stefan Dirsch + +- added kmp-filelist +- adding an empty modprobe.d config file (to be filled later) + +------------------------------------------------------------------- +Tue May 17 18:41:36 UTC 2022 - Stefan Dirsch + +- added hardware supplements + * added my-find-supplements, pci_ids-515.43.04 + * changes in specfile to generate the hardware supplements from + pci_ids-515.43.04 via my-find-supplements + +------------------------------------------------------------------- +Tue May 17 14:08:21 UTC 2022 - Takashi Iwai + +- Set SYSSRC and SYSOUT for building with proper kernel source tree + for each flavor +- Exclusive build for x86_64 +- backlight-workaround.patch: + workaround for a build failure with azure flavor +- persistent-nvidia-id-string.patch: + make persistent nvidia id string for reproducible builds + +------------------------------------------------------------------- +Fri May 13 14:47:59 UTC 2022 - Stefan Dirsch + +- switched to a known license to fix build: MIT/GPLv2 --> GPL-2.0 and MIT + +------------------------------------------------------------------- +Fri May 13 13:29:44 UTC 2022 - Patrik Jakobsson + +- 0001-Don-t-override-INSTALL_MOD_DIR.patch + * Make sure INSTALL_MOD_DIR from our spec-file is honoured +- Make the default flavor build. Not sure how to get other flavors to build. + +------------------------------------------------------------------- +Thu May 12 09:51:40 UTC 2022 - Stefan Dirsch + +- created package + * build still fails completely + * more things are missing + diff --git a/nvidia-open-driver-G06-signed.spec b/nvidia-open-driver-G06-signed.spec new file mode 100644 index 0000000..739f929 --- /dev/null +++ b/nvidia-open-driver-G06-signed.spec @@ -0,0 +1,164 @@ +# +# spec file for package nvidia-Open-gfxG06 +# +# Copyright (c) 2022 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + +%if %{undefined kernel_module_directory} +%if 0%{?usrmerged} +%define kernel_module_directory /usr/lib/modules +%else +%define kernel_module_directory /lib/modules +%endif +%endif + +%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400 +%define compress_modules zstd +%else +%define compress_modules xz +%endif +Name: nvidia-open-driver-G06-signed +Version: 525.60.11 +Release: 0 +Summary: NVIDIA open kernel module driver for GeForce RTX 2000 series and newer +License: GPL-2.0 and MIT +Group: System/Kernel +URL: https://github.com/NVIDIA/open-gpu-kernel-modules/ +Source0: open-gpu-kernel-modules-%{version}.tar.gz +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 +Patch0: 0001-Don-t-override-INSTALL_MOD_DIR.patch +Patch2: persistent-nvidia-id-string.patch +BuildRequires: %{kernel_module_package_buildreqs} +BuildRequires: gcc-c++ +BuildRequires: kernel-source +BuildRequires: kernel-syms +BuildRequires: perl-Bootloader +BuildRequires: pesign-obs-integration +BuildRequires: zstd +%ifnarch aarch64 +%if 0%{?sle_version} >= 120400 && !0%{?is_opensuse} +BuildRequires: kernel-syms-azure +%endif +%endif +ExclusiveArch: x86_64 aarch64 + +%if 0%{!?kmp_template_name:1} +%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) +%kernel_module_package -n %{name} -t %_builddir/nvidia-kmp-template -f %_sourcedir/kmp-filelist -p %_sourcedir/preamble + +# create hardware supplements +%define __kmp_supplements %_sourcedir/my-find-supplements %_sourcedir/pci_ids-%{version} + +# newer rpmbuilds attach the kernel version and the major part of release to %%pci_id_file of the __kmp_supplements script +# boo#1190210 +%define kbuildver %(rpm -q --queryformat '%%{VERSION}_%%{RELEASE}' kernel-syms | sed -n 's/\\(.*\\)\\.[0-9]\\{1,\\}/\\1/p') + +%description +This package provides the open-source NVIDIA kernel module driver +for GeForce RTX 2000 series and newer GPUs. + +%prep +%setup -q -n open-gpu-kernel-modules-%{version} +%patch0 -p1 +%patch2 -p1 +set -- * +mkdir source +mv "$@" source/ +mkdir obj + +pushd %_sourcedir +chmod 755 my-find-supplements* +# 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} +popd + +%build +%ifarch aarch64 +# -Wall is upstream default +export CFLAGS="-Wall -mno-outline-atomics" +%endif +# kernel was compiled using a different compiler +export CC=gcc +for flavor in %{flavors_to_build}; do + rm -rf obj/$flavor + cp -r source obj/$flavor + pushd obj/$flavor + if [ -d /usr/src/linux-$flavor ]; then + export SYSSRC=/usr/src/linux-$flavor + else + export SYSSRC=/usr/src/linux + fi + export SYSOUT=/usr/src/linux-obj/%_target_cpu/$flavor + make %{?_smp_mflags} %{?linux_make_arch} modules + popd +done + +%install +export BRP_PESIGN_FILES="*.ko" +export BRP_PESIGN_COMPRESS_MODULE=%{compress_modules} +export INSTALL_MOD_PATH=%{buildroot} +export INSTALL_MOD_DIR=updates +for flavor in %{flavors_to_build}; do + pushd obj/$flavor + if [ -d /usr/src/linux-$flavor ]; then + export SYSSRC=/usr/src/linux-$flavor + else + export SYSSRC=/usr/src/linux + fi + export SYSOUT=/usr/src/linux-obj/%_target_cpu/$flavor + make %{?linux_make_arch} modules_install + 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/50-nvidia-$flavor.conf << EOF +blacklist nouveau +options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=33 NVreg_DeviceFileMode=0660 NVreg_PreserveVideoMemoryAllocations=1 +options nvidia-drm modeset=1 +### Enable support on *all* Turing/Ampere GPUs: Alpha Quality! +#options nvidia NVreg_OpenRmEnableUnsupportedGpus=1 +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 +# 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 + diff --git a/open-gpu-kernel-modules-525.60.11.tar.gz b/open-gpu-kernel-modules-525.60.11.tar.gz new file mode 100644 index 0000000..6cffbf8 --- /dev/null +++ b/open-gpu-kernel-modules-525.60.11.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a30f7eab5ce5978634a44c7e256269e369442cd739db2f8dfdc72f1a3af2f4b +size 10252555 diff --git a/pci_ids-525.60.11 b/pci_ids-525.60.11 new file mode 100644 index 0000000..aa6b434 --- /dev/null +++ b/pci_ids-525.60.11 @@ -0,0 +1,18 @@ +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 +0x2235 NVIDIA A40 +0x2236 NVIDIA A10 +0x2237 NVIDIA A10G +0x25B6 NVIDIA A16 diff --git a/pci_ids-unsupported b/pci_ids-unsupported new file mode 100644 index 0000000..2e2ed17 --- /dev/null +++ b/pci_ids-unsupported @@ -0,0 +1,149 @@ +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 T400 4GB +0x1FF9 Quadro T1000 +0x20F3 NVIDIA A800-SXM4-80GB +0x20F5 NVIDIA A800 80GB PCIe LC +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 +0x2238 NVIDIA A10M +0x2331 NVIDIA H100 PCIe +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 +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 +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 +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 +0x25E0 NVIDIA GeForce RTX 3050 Ti Laptop GPU +0x25E2 NVIDIA GeForce RTX 3050 Laptop GPU +0x25E5 NVIDIA GeForce RTX 3050 Laptop GPU +0x25F9 NVIDIA RTX A1000 Embedded GPU +0x25FA NVIDIA RTX A2000 Embedded GPU +0x25FB NVIDIA RTX A500 Embedded GPU diff --git a/pci_ids-unsupported-525.60.11 b/pci_ids-unsupported-525.60.11 new file mode 100644 index 0000000..2e2ed17 --- /dev/null +++ b/pci_ids-unsupported-525.60.11 @@ -0,0 +1,149 @@ +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 T400 4GB +0x1FF9 Quadro T1000 +0x20F3 NVIDIA A800-SXM4-80GB +0x20F5 NVIDIA A800 80GB PCIe LC +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 +0x2238 NVIDIA A10M +0x2331 NVIDIA H100 PCIe +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 +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 +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 +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 +0x25E0 NVIDIA GeForce RTX 3050 Ti Laptop GPU +0x25E2 NVIDIA GeForce RTX 3050 Laptop GPU +0x25E5 NVIDIA GeForce RTX 3050 Laptop GPU +0x25F9 NVIDIA RTX A1000 Embedded GPU +0x25FA NVIDIA RTX A2000 Embedded GPU +0x25FB NVIDIA RTX A500 Embedded GPU diff --git a/persistent-nvidia-id-string.patch b/persistent-nvidia-id-string.patch new file mode 100644 index 0000000..c715d04 --- /dev/null +++ b/persistent-nvidia-id-string.patch @@ -0,0 +1,15 @@ +--- + utils.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/utils.mk ++++ b/utils.mk +@@ -524,7 +524,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 $$@) +- $(at_if_quiet)$$(ECHO) "const char $(1)[] = \"nvidia id: NVIDIA $$(strip $(2)) for $$(TARGET_ARCH) $$(NVIDIA_VERSION) $$(NVIDSTRING_BUILD_TYPE_STRING) (`$$(WHOAMI)`@$$(HOSTNAME)) `$$(DATE)`\";" > $$@ ++ $(at_if_quiet)$$(ECHO) "const char $(1)[] = \"nvidia id: NVIDIA $$(strip $(2)) for $$(TARGET_ARCH) $$(NVIDIA_VERSION) $$(NVIDSTRING_BUILD_TYPE_STRING) (abuild@host) `$$(DATE) -d @$$(SOURCE_DATE_EPOCH)`\";" > $$@ + $(at_if_quiet)$$(ECHO) "const char *const p$$(strip $(1)) = $(1) + 11;" >> $$@; + endef + diff --git a/preamble b/preamble new file mode 100644 index 0000000..957794e --- /dev/null +++ b/preamble @@ -0,0 +1,3 @@ +Requires: kernel-firmware-nvidia-gsp = %{-v*} +Requires: perl-Bootloader +Conflicts: nvidia-gfxG06-kmp