From 06af3598bf577096f65bf772747c32896a14eed5 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 30 Mar 2021 23:01:41 +0100 Subject: [PATCH 01/39] Update to 465.19.01 beta --- sources | 2 +- xorg-x11-drv-nvidia.spec | 56 +++++++++++++++++++++++----------------- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/sources b/sources index 350215a..efa37f2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NVIDIA-Linux-x86_64-460.67.run) = 80fdc023a8ce80e3a103896f28a5564bb43903af6bfc719f755c48eb225e79ec6abf219ab20eb80ada5808ef932ef5fa0fe710c6e0a07dd8a248daff2ba3b898 +SHA512 (NVIDIA-Linux-x86_64-465.19.01.run) = b4ececb6069ec961a4bf6b50c3bb0d7ca94add13e04f9dcceaddc6d3267f6dfc5f020d14e49f37e6c09ec3b47b3f44f0f44620e1ab4d25f7739514a07769a67d diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 919aeb0..75d83a7 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -5,12 +5,14 @@ %global _alternate_dir %{_prefix}/lib/nvidia %global _dracut_conf_d %{_prefix}/lib/dracut/dracut.conf.d -%global _modprobe_d %{_prefix}/lib/modprobe.d/ %global _grubby %{_sbindir}/grubby --update-kernel=ALL +%global _firmwarepath %{_prefix}/lib/firmware %if 0%{?fedora} || 0%{?rhel} > 7 %global _dracutopts rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 %else %global _dracutopts nouveau.modeset=0 rd.driver.blacklist=nouveau nvidia-drm.modeset=1 +%global _modprobedir %{_prefix}/lib/modprobe.d +%global _systemd_util_dir %{_prefix}/lib/systemd %endif %global debug_package %{nil} @@ -19,7 +21,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 460.67 +Version: 465.19.01 Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards @@ -40,14 +42,6 @@ Source15: rhel_nvidia.conf ExclusiveArch: x86_64 i686 -%if 0%{?fedora} -BuildRequires: systemd-rpm-macros -%else -BuildRequires: systemd -%endif -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd # Xorg with PrimaryGPU Requires: Xorg >= 1.19.0-3 @@ -57,6 +51,7 @@ Requires(post): grubby Requires: which Requires: nvidia-settings%{?_isa} = %{?epoch}:%{version} %if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: systemd-rpm-macros # AppStream metadata generation BuildRequires: python3 BuildRequires: libappstream-glib >= 0.6.3 @@ -66,8 +61,12 @@ Suggests: nvidia-xconfig%{?_isa} = %{?epoch}:%{version} Suggests: acpica-tools Suggests: vulkan-tools %else +BuildRequires: systemd Requires: nvidia-xconfig%{?_isa} = %{?epoch}:%{version} %endif +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd Requires: %{_nvidia_serie}-kmod >= %{?epoch}:%{version} Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release} @@ -267,8 +266,8 @@ install -m 0755 -d %{buildroot}%{_datadir}/glvnd/egl_vendor.d/ install -p -m 0644 10_nvidia.json %{buildroot}%{_datadir}/glvnd/egl_vendor.d/10_nvidia.json # Blacklist nouveau, autoload nvidia-uvm module after nvidia module -mkdir -p %{buildroot}%{_modprobe_d} -install -p -m 0644 %{SOURCE11} %{buildroot}%{_modprobe_d} +mkdir -p %{buildroot}%{_modprobedir} +install -p -m 0644 %{SOURCE11} %{buildroot}%{_modprobedir} # UDev rules for nvidia install -m 0755 -d %{buildroot}%{_udevrulesdir} @@ -331,13 +330,13 @@ EOF %if 0%{?fedora} || 0%{?rhel} > 7 # install AppData and add modalias provides -mkdir -p %{buildroot}%{_datadir}/appdata/ -install -pm 0644 %{SOURCE8} %{buildroot}%{_datadir}/appdata/ -fn=%{buildroot}%{_datadir}/appdata/xorg-x11-drv-nvidia.metainfo.xml -%{SOURCE9} README.txt "NVIDIA GEFORCE GPUS" | xargs appstream-util add-provide ${fn} modalias -%{SOURCE9} README.txt "NVIDIA RTX/QUADRO GPUS" | xargs appstream-util add-provide ${fn} modalias -%{SOURCE9} README.txt "NVIDIA NVS GPUS" | xargs appstream-util add-provide ${fn} modalias -%{SOURCE9} README.txt "NVIDIA TESLA GPUS" | xargs appstream-util add-provide ${fn} modalias +mkdir -p %{buildroot}%{_metainfodir}/ +install -pm 0644 %{SOURCE8} %{buildroot}%{_metainfodir}/ +#fn=%{buildroot}%{_datadir}/appdata/xorg-x11-drv-nvidia.metainfo.xml +#%{SOURCE9} README.txt "NVIDIA GEFORCE GPUS" | xargs appstream-util add-provide ${fn} modalias +#%{SOURCE9} README.txt "NVIDIA RTX/QUADRO GPUS" | xargs appstream-util add-provide ${fn} modalias +#%{SOURCE9} README.txt "NVIDIA NVS GPUS" | xargs appstream-util add-provide ${fn} modalias +#%{SOURCE9} README.txt "NVIDIA TESLA GPUS" | xargs appstream-util add-provide ${fn} modalias mkdir -p %{buildroot}%{_datadir}/pixmaps install -pm 0644 nvidia-settings.png %{buildroot}%{_datadir}/pixmaps/%{name}.png %endif @@ -348,8 +347,14 @@ install -p -m 0644 %{SOURCE13} %{buildroot}%{_udevrulesdir} install -p -m 0644 %{SOURCE14} %{buildroot}%{_unitdir} # Systemd units and script for suspending/resuming -install -p -m 0644 nvidia-hibernate.service nvidia-resume.service nvidia-suspend.service %{buildroot}%{_unitdir} -install -p -m 0755 nvidia-sleep.sh %{buildroot}%{_bindir} +mkdir %{buildroot}%{_systemd_util_dir}/system-sleep/ +install -p -m 0644 systemd/system/nvidia-{hibernate,resume,suspend}.service %{buildroot}%{_unitdir} +install -p -m 0644 systemd/system-sleep/nvidia %{buildroot}%{_systemd_util_dir}/system-sleep/ +install -p -m 0755 systemd/nvidia-sleep.sh %{buildroot}%{_bindir} + +# Firmware +mkdir -p %{buildroot}%{_firmwarepath} +install -p -m 0644 firmware/gsp.bin %{buildroot}%{_firmwarepath} %pre if [ "$1" -eq "1" ]; then @@ -411,6 +416,8 @@ fi ||: %doc nvidiapkg/nvidia-application-profiles-%{version}-rc %doc nvidiapkg/html %{_bindir}/nvidia-sleep.sh +%{_firmwarepath}/gsp.bin +%{_systemd_util_dir}/system-sleep/nvidia %{_unitdir}/nvidia-hibernate.service %{_unitdir}/nvidia-resume.service %{_unitdir}/nvidia-suspend.service @@ -426,7 +433,7 @@ fi ||: %{_udevrulesdir}/60-nvidia.rules %{_unitdir}/nvidia-fallback.service %if 0%{?fedora} || 0%{?rhel} > 7 -%{_datadir}/appdata/%{name}.metainfo.xml +%{_metainfodir}/%{name}.metainfo.xml %{_datadir}/pixmaps/%{name}.png %endif %{_dracut_conf_d}/99-nvidia-dracut.conf @@ -515,7 +522,7 @@ fi ||: %{_libdir}/libnvidia-opticalflow.so.1 %{_libdir}/libnvidia-opticalflow.so.%{version} %ifarch x86_64 -%{_modprobe_d}/nvidia-uvm.conf +%{_modprobedir}/nvidia-uvm.conf %{_udevrulesdir}/60-nvidia-uvm.rules %endif @@ -524,6 +531,9 @@ fi ||: %{_libdir}/libnvidia-encode.so %changelog +* Tue Mar 30 2021 Leigh Scott - 3:465.19.01-1 +- Update to 465.19.01 beta + * Fri Mar 19 2021 Leigh Scott - 3:460.67-1 - Update to 460.67 release From d745c95939e3a48b1c05ff4c4880f91b4f5fbdd7 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Thu, 15 Apr 2021 07:09:58 +0100 Subject: [PATCH 02/39] Update to 465.24.02 release --- sources | 2 +- xorg-x11-drv-nvidia.spec | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sources b/sources index efa37f2..9ad2a38 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NVIDIA-Linux-x86_64-465.19.01.run) = b4ececb6069ec961a4bf6b50c3bb0d7ca94add13e04f9dcceaddc6d3267f6dfc5f020d14e49f37e6c09ec3b47b3f44f0f44620e1ab4d25f7739514a07769a67d +SHA512 (NVIDIA-Linux-x86_64-465.24.02.run) = 1beb59554a8fafdd61f4ebe6ffc1b714eb2cf67efe0aa7ddae5b146c9c4d932820f93dd91ec79162b65582364cab8ba9559ebf8f5174814eb670bb522f0e357f diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 75d83a7..18db718 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -21,13 +21,13 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 465.19.01 +Version: 465.24.02 Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted URL: http://www.nvidia.com/ -Source0: https://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run +Source0: https://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run Source5: alternate-install-present Source6: nvidia.conf Source7: 60-nvidia.rules @@ -531,6 +531,9 @@ fi ||: %{_libdir}/libnvidia-encode.so %changelog +* Wed Apr 14 2021 Leigh Scott - 3:465.24.02-1 +- Update to 465.24.02 release + * Tue Mar 30 2021 Leigh Scott - 3:465.19.01-1 - Update to 465.19.01 beta From a0a88e6285076f27debdbfabae02c8d272eb413c Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Thu, 15 Apr 2021 09:28:30 +0100 Subject: [PATCH 03/39] Update AppStream metadata generation --- parse-readme.py | 82 ++++++++++++++++---------------- xorg-x11-drv-nvidia.metainfo.xml | 22 +++++++-- xorg-x11-drv-nvidia.spec | 11 ++--- 3 files changed, 63 insertions(+), 52 deletions(-) diff --git a/parse-readme.py b/parse-readme.py index 0baff3c..3a5d140 100755 --- a/parse-readme.py +++ b/parse-readme.py @@ -1,61 +1,61 @@ #!/usr/bin/python3 # -*- coding: utf-8 -*- # -# Copyright (C) 2016 Richard Hughes +# Copyright (C) 2021 Simone Caronni # Licensed under the GNU General Public License Version or later -from __future__ import print_function import sys def main(): - if len(sys.argv) != 3: - print("usage: %s README.txt \"header to match\"" % sys.argv[0]) + if len(sys.argv) != 2: + print("usage: %s README.txt" % sys.argv[0]) return 1 - # open file f = open(sys.argv[1]) in_section = False in_table = False pids = [] - for line in f.readlines(): - - # find the right data table - if line.find(sys.argv[2]) != -1: - in_section = True - continue - if not in_section: - continue - - # remove Windows and Linux line endings - line = line.replace('\r', '') - line = line.replace('\n', '') - - # end of section - if len(line) > 0 and not line.startswith(' '): - in_section = False - in_table = False - continue - - # empty line - if len(line) == 0: - continue - - # skip the header - if line.startswith(' ---'): - in_table = True - continue - if not in_table: - continue - - # get name - pid = int(line[42:46], 16) - if not pid in pids: - pids.append(pid) - - # output + sections = ["NVIDIA GEFORCE GPUS", "NVIDIA RTX/QUADRO GPUS", "NVIDIA NVS GPUS", "NVIDIA TESLA GPUS", "NVIDIA GRID GPUS"] + for section in sections: + + for line in f.readlines(): + + # Find the right data tables + if line.find(section) != -1: + in_section = True + continue + if not in_section: + continue + + # Remove Windows and Linux line endings + line = line.replace('\r', '') + line = line.replace('\n', '') + + # End of section + if len(line) > 0 and not line.startswith(' '): + in_section = False + in_table = False + continue + + if len(line) == 0: + continue + + # Skip the header + if line.startswith(' ---'): + in_table = True + continue + if not in_table: + continue + + # PCI ID + pid = int(line[50:54], 16) + if not pid in pids: + pids.append(pid) + for pid in pids: vid = 0x10de print("pci:v%08Xd%08Xsv*sd*bc*sc*i*" % (vid, pid)) if __name__ == "__main__": main() + diff --git a/xorg-x11-drv-nvidia.metainfo.xml b/xorg-x11-drv-nvidia.metainfo.xml index 9c8248a..858cc5c 100644 --- a/xorg-x11-drv-nvidia.metainfo.xml +++ b/xorg-x11-drv-nvidia.metainfo.xml @@ -17,20 +17,32 @@ graphics driver supports all modern NVIDIA GPUs.

- http://www.nvidia.com/ /usr/share/pixmaps/xorg-x11-drv-nvidia.png CC0-1.0 LicenseRef-proprietary:NVIDIA NVIDIA Corporation - NVIDIA - driver - GeForce CUDA + GeForce + NVIDIA + OpenGL Quadro + Tesla + Video Vulkan - OpenGL + av1 + avc + driver + h264 + h265 + hevc + jpeg + mpeg2 + vaapi + vc-1 + vp8 + vp9 https://bugzilla.rpmfusion.org xorg-x11-drv-nvidia-owner@rpmfusion.org diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 18db718..1b92612 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -22,7 +22,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 465.24.02 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -332,11 +332,7 @@ EOF # install AppData and add modalias provides mkdir -p %{buildroot}%{_metainfodir}/ install -pm 0644 %{SOURCE8} %{buildroot}%{_metainfodir}/ -#fn=%{buildroot}%{_datadir}/appdata/xorg-x11-drv-nvidia.metainfo.xml -#%{SOURCE9} README.txt "NVIDIA GEFORCE GPUS" | xargs appstream-util add-provide ${fn} modalias -#%{SOURCE9} README.txt "NVIDIA RTX/QUADRO GPUS" | xargs appstream-util add-provide ${fn} modalias -#%{SOURCE9} README.txt "NVIDIA NVS GPUS" | xargs appstream-util add-provide ${fn} modalias -#%{SOURCE9} README.txt "NVIDIA TESLA GPUS" | xargs appstream-util add-provide ${fn} modalias +%{SOURCE9} README.txt | xargs appstream-util add-provide %{buildroot}%{_metainfodir}/xorg-x11-drv-nvidia.metainfo.xml modalias mkdir -p %{buildroot}%{_datadir}/pixmaps install -pm 0644 nvidia-settings.png %{buildroot}%{_datadir}/pixmaps/%{name}.png %endif @@ -531,6 +527,9 @@ fi ||: %{_libdir}/libnvidia-encode.so %changelog +* Thu Apr 15 2021 Leigh Scott - 3:465.24.02-2 +- Update AppStream metadata generation + * Wed Apr 14 2021 Leigh Scott - 3:465.24.02-1 - Update to 465.24.02 release From 49dc6ef208706da65bed2c0f8358ec2fe2afe3e8 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Wed, 21 Apr 2021 11:01:14 +0100 Subject: [PATCH 04/39] Fix firmware path --- xorg-x11-drv-nvidia.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 1b92612..372ebc3 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -6,7 +6,7 @@ %global _dracut_conf_d %{_prefix}/lib/dracut/dracut.conf.d %global _grubby %{_sbindir}/grubby --update-kernel=ALL -%global _firmwarepath %{_prefix}/lib/firmware +%global _firmwarepath %{_prefix}/lib/firmware/nvidia/%{version}/ %if 0%{?fedora} || 0%{?rhel} > 7 %global _dracutopts rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 %else @@ -22,7 +22,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 465.24.02 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -527,6 +527,9 @@ fi ||: %{_libdir}/libnvidia-encode.so %changelog +* Wed Apr 21 2021 Leigh Scott - 3:465.24.02-3 +- Fix firmware path + * Thu Apr 15 2021 Leigh Scott - 3:465.24.02-2 - Update AppStream metadata generation From e69bb0843ab682e2d74c8b51d4a5e5aa3954dfa2 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Wed, 21 Apr 2021 12:50:30 +0100 Subject: [PATCH 05/39] Fix firmware directory ownership --- xorg-x11-drv-nvidia.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 372ebc3..3e4c15f 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -6,7 +6,7 @@ %global _dracut_conf_d %{_prefix}/lib/dracut/dracut.conf.d %global _grubby %{_sbindir}/grubby --update-kernel=ALL -%global _firmwarepath %{_prefix}/lib/firmware/nvidia/%{version}/ +%global _firmwarepath %{_prefix}/lib/firmware %if 0%{?fedora} || 0%{?rhel} > 7 %global _dracutopts rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 %else @@ -22,7 +22,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 465.24.02 -Release: 3%{?dist} +Release: 4%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -349,8 +349,8 @@ install -p -m 0644 systemd/system-sleep/nvidia %{buildroot}%{_systemd_util_dir}/ install -p -m 0755 systemd/nvidia-sleep.sh %{buildroot}%{_bindir} # Firmware -mkdir -p %{buildroot}%{_firmwarepath} -install -p -m 0644 firmware/gsp.bin %{buildroot}%{_firmwarepath} +mkdir -p %{buildroot}%{_firmwarepath}/nvidia/%{version}/ +install -p -m 0644 firmware/gsp.bin %{buildroot}%{_firmwarepath}/nvidia/%{version}/ %pre if [ "$1" -eq "1" ]; then @@ -412,7 +412,7 @@ fi ||: %doc nvidiapkg/nvidia-application-profiles-%{version}-rc %doc nvidiapkg/html %{_bindir}/nvidia-sleep.sh -%{_firmwarepath}/gsp.bin +%{_firmwarepath} %{_systemd_util_dir}/system-sleep/nvidia %{_unitdir}/nvidia-hibernate.service %{_unitdir}/nvidia-resume.service @@ -527,6 +527,9 @@ fi ||: %{_libdir}/libnvidia-encode.so %changelog +* Wed Apr 21 2021 Leigh Scott - 3:465.24.02-4 +- Fix firmware directory ownership + * Wed Apr 21 2021 Leigh Scott - 3:465.24.02-3 - Fix firmware path From 3c7bb5b666739a34a1fd3e17d4c405820f48b162 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Thu, 29 Apr 2021 17:11:28 +0100 Subject: [PATCH 06/39] Update to 465.27 release --- sources | 2 +- xorg-x11-drv-nvidia.spec | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 9ad2a38..d7e9685 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NVIDIA-Linux-x86_64-465.24.02.run) = 1beb59554a8fafdd61f4ebe6ffc1b714eb2cf67efe0aa7ddae5b146c9c4d932820f93dd91ec79162b65582364cab8ba9559ebf8f5174814eb670bb522f0e357f +SHA512 (NVIDIA-Linux-x86_64-465.27.run) = 1d43f436b1305faa2981de6ebfa0916d10127005b6cb765ab6bf0d1e75529ec1eab973d0de6e3ebb39678d2b3f80f2ac9a661ed0c4690d8a823ac7822135cdb2 diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 3e4c15f..51d0112 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -21,8 +21,8 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 465.24.02 -Release: 4%{?dist} +Version: 465.27 +Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -527,6 +527,9 @@ fi ||: %{_libdir}/libnvidia-encode.so %changelog +* Thu Apr 29 2021 Leigh Scott - 3:465.27-1 +- Update to 465.27 release + * Wed Apr 21 2021 Leigh Scott - 3:465.24.02-4 - Fix firmware directory ownership From 2b983c1f1e7f2fff211685c6e8222190444e4b99 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Fri, 21 May 2021 15:39:10 +0100 Subject: [PATCH 07/39] Update to 465.31 release --- sources | 2 +- xorg-x11-drv-nvidia.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sources b/sources index d7e9685..379b579 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NVIDIA-Linux-x86_64-465.27.run) = 1d43f436b1305faa2981de6ebfa0916d10127005b6cb765ab6bf0d1e75529ec1eab973d0de6e3ebb39678d2b3f80f2ac9a661ed0c4690d8a823ac7822135cdb2 +SHA512 (NVIDIA-Linux-x86_64-465.31.run) = 3ea65eda463320d0e2301e45daa5a725bd07f664ab117053f106b981801ae314faef320304f4b87dd8eb8868f9f86478b23fbca51d27ddc3968a5f5300e8cbf9 diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 51d0112..a86cbb5 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -21,7 +21,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 465.27 +Version: 465.31 Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards @@ -527,6 +527,9 @@ fi ||: %{_libdir}/libnvidia-encode.so %changelog +* Fri May 21 2021 Leigh Scott - 3:465.31-1 +- Update to 465.31 release + * Thu Apr 29 2021 Leigh Scott - 3:465.27-1 - Update to 465.27 release From a49a78a3cb5e016f41c925fb070b0e284e8676d2 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 22 Jun 2021 18:29:41 +0100 Subject: [PATCH 08/39] Update to 470.42.01 beta --- sources | 2 +- xorg-x11-drv-nvidia.spec | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 379b579..90e7bc4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NVIDIA-Linux-x86_64-465.31.run) = 3ea65eda463320d0e2301e45daa5a725bd07f664ab117053f106b981801ae314faef320304f4b87dd8eb8868f9f86478b23fbca51d27ddc3968a5f5300e8cbf9 +SHA512 (NVIDIA-Linux-x86_64-470.42.01.run) = f933e249b9e0b043283ba164d56bd235240a34098e4ab9d1070809e17f8c2cd24d7319217c02c2417414f4c811216181d7ab8842755cd0d25b00ee51de70b2cc diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index a86cbb5..802230f 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -7,6 +7,7 @@ %global _dracut_conf_d %{_prefix}/lib/dracut/dracut.conf.d %global _grubby %{_sbindir}/grubby --update-kernel=ALL %global _firmwarepath %{_prefix}/lib/firmware +%global _winedir %{_libdir}/wine/x86_64-windows %if 0%{?fedora} || 0%{?rhel} > 7 %global _dracutopts rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 %else @@ -21,7 +22,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 465.31 +Version: 470.42.01 Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards @@ -210,6 +211,7 @@ cp -a \ libnvidia-cbl.so.%{version} \ libnvidia-cfg.so.%{version} \ libnvidia-ngx.so.%{version} \ + libnvidia-nvvm.so.4.0.0 \ libnvidia-rtcore.so.%{version} \ libnvoptix.so.%{version} \ %endif @@ -248,6 +250,10 @@ popd %endif %ifarch x86_64 +# Install additional cuda lib, ldconfig generates wrong .so name. +ln -sf libnvidia-nvvm.so.4.0.0 %{buildroot}%{_libdir}/libnvidia-nvvm.so.4.0 +ln -sf libnvidia-nvvm.so.4 %{buildroot}%{_libdir}/libnvidia-nvvm.so + # Vulkan config install -m 0755 -d %{buildroot}%{_datadir}/vulkan/{icd.d,implicit_layer.d}/ install -p -m 0644 nvidia_icd.json %{buildroot}%{_datadir}/vulkan/icd.d/ @@ -321,6 +327,10 @@ mkdir -p %{buildroot}%{_sysconfdir}/nvidia mkdir -p %{buildroot}%{_datadir}/nvidia-kmod-%{version} tar Jcf %{buildroot}%{_datadir}/nvidia-kmod-%{version}/nvidia-kmod-%{version}-x86_64.tar.xz kernel +#Install wine dll +mkdir -p %{buildroot}%{_winedir} +install -p -m 0644 _nvngx.dll nvngx.dll %{buildroot}%{_winedir} + #RPM Macros support mkdir -p %{buildroot}%{rpmmacrodir} cat > %{buildroot}%{rpmmacrodir}/macros.%{name}-kmodsrc<< EOF @@ -474,6 +484,8 @@ fi ||: %{_libdir}/libnvidia-rtcore.so.%{version} %{_libdir}/libnvoptix.so.1 %{_libdir}/libnvoptix.so.%{version} +%{_winedir}/_nvngx.dll +%{_winedir}/nvngx.dll %endif %{_libdir}/libnvidia-eglcore.so.%{version} %{_libdir}/libnvidia-fbc.so.1 @@ -518,6 +530,8 @@ fi ||: %{_libdir}/libnvidia-opticalflow.so.1 %{_libdir}/libnvidia-opticalflow.so.%{version} %ifarch x86_64 +%{_libdir}/libnvidia-nvvm.so.4.* +%{_libdir}/libnvvm.so.4 %{_modprobedir}/nvidia-uvm.conf %{_udevrulesdir}/60-nvidia-uvm.rules %endif @@ -525,8 +539,12 @@ fi ||: %files devel %{_libdir}/libnvcuvid.so %{_libdir}/libnvidia-encode.so +%{_libdir}/libnvidia-nvvm.so %changelog +* Tue Jun 22 2021 Leigh Scott - 3:470.42.01-1 +- Update to 470.42.01 beta + * Fri May 21 2021 Leigh Scott - 3:465.31-1 - Update to 465.31 release From dac9868833a8f7a5fab9dd518289b0c3e34dafb8 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 22 Jun 2021 18:43:00 +0100 Subject: [PATCH 09/39] fix --- xorg-x11-drv-nvidia.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 802230f..f625d78 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -539,7 +539,9 @@ fi ||: %files devel %{_libdir}/libnvcuvid.so %{_libdir}/libnvidia-encode.so +%ifarch x86_64 %{_libdir}/libnvidia-nvvm.so +%endif %changelog * Tue Jun 22 2021 Leigh Scott - 3:470.42.01-1 From d19dd14abc46485bb608cef8af872c35985be43a Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Wed, 23 Jun 2021 10:44:43 +0100 Subject: [PATCH 10/39] Own directory --- xorg-x11-drv-nvidia.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index f625d78..12c5500 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -484,8 +484,7 @@ fi ||: %{_libdir}/libnvidia-rtcore.so.%{version} %{_libdir}/libnvoptix.so.1 %{_libdir}/libnvoptix.so.%{version} -%{_winedir}/_nvngx.dll -%{_winedir}/nvngx.dll +%{_winedir}/ %endif %{_libdir}/libnvidia-eglcore.so.%{version} %{_libdir}/libnvidia-fbc.so.1 From 7604ce7afc4ccf13b2ff59461d0d2622fe885b13 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 6 Jul 2021 13:57:44 +0100 Subject: [PATCH 11/39] Install dll to correct directory --- xorg-x11-drv-nvidia.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 12c5500..8b83717 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -7,7 +7,7 @@ %global _dracut_conf_d %{_prefix}/lib/dracut/dracut.conf.d %global _grubby %{_sbindir}/grubby --update-kernel=ALL %global _firmwarepath %{_prefix}/lib/firmware -%global _winedir %{_libdir}/wine/x86_64-windows +%global _winedir %{_libdir}/nvidia/wine %if 0%{?fedora} || 0%{?rhel} > 7 %global _dracutopts rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 %else @@ -23,7 +23,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 470.42.01 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -543,6 +543,9 @@ fi ||: %endif %changelog +* Tue Jul 06 2021 Leigh Scott - 3:470.42.01-2 +- Install dll to correct directory + * Tue Jun 22 2021 Leigh Scott - 3:470.42.01-1 - Update to 470.42.01 beta From 36e0ee62635b783744d3eb2269bc751369743d5a Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Mon, 19 Jul 2021 16:55:07 +0100 Subject: [PATCH 12/39] Update to 470.57.02 release --- sources | 2 +- xorg-x11-drv-nvidia.spec | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 90e7bc4..003546c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NVIDIA-Linux-x86_64-470.42.01.run) = f933e249b9e0b043283ba164d56bd235240a34098e4ab9d1070809e17f8c2cd24d7319217c02c2417414f4c811216181d7ab8842755cd0d25b00ee51de70b2cc +SHA512 (NVIDIA-Linux-x86_64-470.57.02.run) = 7123ee05aa0cc94c4cf1f0717daf85b116f0200b8f78f9322ea847db70e56386a065e0085959f27cbf0a8f9befe6fc7a0145d1bf2a28616df9bc8b5effd812f8 diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 8b83717..d30a5aa 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -22,8 +22,8 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 470.42.01 -Release: 2%{?dist} +Version: 470.57.02 +Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -543,6 +543,9 @@ fi ||: %endif %changelog +* Mon Jul 19 2021 Leigh Scott - 3:470.57.02-1 +- Update to 470.57.02 release + * Tue Jul 06 2021 Leigh Scott - 3:470.42.01-2 - Install dll to correct directory From 97658520e3e4c36617c0e926932ae1aaf162cc57 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Fri, 30 Jul 2021 10:08:43 +0100 Subject: [PATCH 13/39] Add power management option (NVreg_PreserveVideoMemoryAllocations) --- nvidia-power-management.conf | 1 + xorg-x11-drv-nvidia.spec | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 nvidia-power-management.conf diff --git a/nvidia-power-management.conf b/nvidia-power-management.conf new file mode 100644 index 0000000..10cbf7d --- /dev/null +++ b/nvidia-power-management.conf @@ -0,0 +1 @@ +options nvidia NVreg_PreserveVideoMemoryAllocations=1 diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index d30a5aa..a2968fa 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -23,7 +23,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 470.57.02 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -40,6 +40,7 @@ Source12: 99-nvidia-dracut.conf Source13: 10-nvidia.rules Source14: nvidia-fallback.service Source15: rhel_nvidia.conf +Source16: nvidia-power-management.conf ExclusiveArch: x86_64 i686 @@ -274,6 +275,7 @@ install -p -m 0644 10_nvidia.json %{buildroot}%{_datadir}/glvnd/egl_vendor.d/10_ # Blacklist nouveau, autoload nvidia-uvm module after nvidia module mkdir -p %{buildroot}%{_modprobedir} install -p -m 0644 %{SOURCE11} %{buildroot}%{_modprobedir} +install -p -m 0644 %{SOURCE16} %{buildroot}%{_modprobedir} # UDev rules for nvidia install -m 0755 -d %{buildroot}%{_udevrulesdir} @@ -450,6 +452,7 @@ fi ||: #/no_multilib %dir %{_datadir}/nvidia %{_datadir}/nvidia/nvidia-application-profiles-* +%{_modprobedir}/nvidia-power-management.conf %files kmodsrc %dir %{_datadir}/nvidia-kmod-%{version} @@ -543,6 +546,9 @@ fi ||: %endif %changelog +* Tue Jul 20 2021 Olivier Fourdan - 3:470.57.02-2 +- Add power management option (NVreg_PreserveVideoMemoryAllocations) + * Mon Jul 19 2021 Leigh Scott - 3:470.57.02-1 - Update to 470.57.02 release From f86957486dd46ea190b3cff746b59d9d7a26abc1 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 10 Aug 2021 18:32:20 +0100 Subject: [PATCH 14/39] Update to 470.63.01 release --- sources | 2 +- xorg-x11-drv-nvidia.spec | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 003546c..5ac1534 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NVIDIA-Linux-x86_64-470.57.02.run) = 7123ee05aa0cc94c4cf1f0717daf85b116f0200b8f78f9322ea847db70e56386a065e0085959f27cbf0a8f9befe6fc7a0145d1bf2a28616df9bc8b5effd812f8 +SHA512 (NVIDIA-Linux-x86_64-470.63.01.run) = d3dadf93df86e5462ecb4ae6a04f03b05bf1450ad91e8c2aa73e838ddc9aa11b4e926fc32714d32bd7c606498fee5a54c77d5e40ecc08a039d3e9c2d331ad454 diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index a2968fa..bd38942 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -22,8 +22,8 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 470.57.02 -Release: 2%{?dist} +Version: 470.63.01 +Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -546,6 +546,9 @@ fi ||: %endif %changelog +* Tue Aug 10 2021 Leigh Scott - 3:470.63.01-1 +- Update to 470.63.01 release + * Tue Jul 20 2021 Olivier Fourdan - 3:470.57.02-2 - Add power management option (NVreg_PreserveVideoMemoryAllocations) From c4b375f03b64b7caf787d68e054e7dd2dee7635d Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Mon, 23 Aug 2021 13:13:58 +0100 Subject: [PATCH 15/39] Move power management files to sub-package --- xorg-x11-drv-nvidia.spec | 60 ++++++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index bd38942..17ed865 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -23,7 +23,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 470.63.01 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -66,9 +66,6 @@ Suggests: vulkan-tools BuildRequires: systemd Requires: nvidia-xconfig%{?_isa} = %{?epoch}:%{version} %endif -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd Requires: %{_nvidia_serie}-kmod >= %{?epoch}:%{version} Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release} @@ -180,6 +177,17 @@ Requires: mesa-libGLES%{?_isa} >= 13.0.3-3 %description libs This package provides the shared libraries for %{name}. +%package power +Summary: Advanced power management +Requires: %{name} = %{?epoch}:%{version} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +BuildArch: noarch + +%description power +Advanced power management, preserve memory allocation on suspend/resume. + %prep %setup -q -c -T sh %{SOURCE0} \ @@ -372,9 +380,6 @@ if [ "$1" -eq "1" ]; then fi %post -%systemd_post nvidia-hibernate.service -%systemd_post nvidia-resume.service -%systemd_post nvidia-suspend.service if [ "$1" -eq "1" ]; then %{_grubby} --remove-args='nomodeset' --args='%{_dracutopts}' &>/dev/null sed -i -e 's/GRUB_CMDLINE_LINUX="/GRUB_CMDLINE_LINUX="%{_dracutopts} /g' /etc/default/grub @@ -402,9 +407,6 @@ fi %ldconfig_scriptlets cuda-libs %preun -%systemd_preun nvidia-hibernate.service -%systemd_preun nvidia-resume.service -%systemd_preun nvidia-suspend.service if [ "$1" -eq "0" ]; then %{_grubby} --remove-args='%{_dracutopts}' &>/dev/null sed -i -e 's/%{_dracutopts} //g' /etc/default/grub @@ -412,10 +414,6 @@ if [ "$1" -eq "0" ]; then [ -f %{_sysconfdir}/X11/xorg.conf ] && mv %{_sysconfdir}/X11/xorg.conf %{_sysconfdir}/X11/xorg.conf.nvidia_uninstalled &>/dev/null fi ||: -%postun -%systemd_postun nvidia-hibernate.service -%systemd_postun nvidia-resume.service -%systemd_postun nvidia-suspend.service %files %license nvidiapkg/LICENSE @@ -423,12 +421,7 @@ fi ||: %doc nvidiapkg/README.txt %doc nvidiapkg/nvidia-application-profiles-%{version}-rc %doc nvidiapkg/html -%{_bindir}/nvidia-sleep.sh %{_firmwarepath} -%{_systemd_util_dir}/system-sleep/nvidia -%{_unitdir}/nvidia-hibernate.service -%{_unitdir}/nvidia-resume.service -%{_unitdir}/nvidia-suspend.service %dir %{_alternate_dir} %{_alternate_dir}/alternate-install-present %{_datadir}/glvnd/egl_vendor.d/10_nvidia.json @@ -452,7 +445,6 @@ fi ||: #/no_multilib %dir %{_datadir}/nvidia %{_datadir}/nvidia/nvidia-application-profiles-* -%{_modprobedir}/nvidia-power-management.conf %files kmodsrc %dir %{_datadir}/nvidia-kmod-%{version} @@ -545,7 +537,35 @@ fi ||: %{_libdir}/libnvidia-nvvm.so %endif +%ifarch x86_64 +%post power +%systemd_post nvidia-hibernate.service +%systemd_post nvidia-resume.service +%systemd_post nvidia-suspend.service + +%preun power +%systemd_preun nvidia-hibernate.service +%systemd_preun nvidia-resume.service +%systemd_preun nvidia-suspend.service + +%postun power +%systemd_postun nvidia-hibernate.service +%systemd_postun nvidia-resume.service +%systemd_postun nvidia-suspend.service + +%files power +%config %{_modprobedir}/nvidia-power-management.conf +%{_bindir}/nvidia-sleep.sh +%{_systemd_util_dir}/system-sleep/nvidia +%{_unitdir}/nvidia-hibernate.service +%{_unitdir}/nvidia-resume.service +%{_unitdir}/nvidia-suspend.service +%endif + %changelog +* Mon Aug 23 2021 Leigh Scott - 3:470.63.01-2 +- Move power management files to sub-package + * Tue Aug 10 2021 Leigh Scott - 3:470.63.01-1 - Update to 470.63.01 release From b09bda060caeb39b8097539424bcb1602969c0c4 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Mon, 23 Aug 2021 14:04:51 +0100 Subject: [PATCH 16/39] Add NVreg_TemporaryFilePath --- nvidia-power-management.conf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nvidia-power-management.conf b/nvidia-power-management.conf index 10cbf7d..ece5137 100644 --- a/nvidia-power-management.conf +++ b/nvidia-power-management.conf @@ -1 +1,7 @@ +# +# Save and restore all video memory allocations. options nvidia NVreg_PreserveVideoMemoryAllocations=1 +# +# The destination should not be using tmpfs, so we prefer +# /var/tmp instead of /tmp +options nvidia NVreg_TemporaryFilePath=/var/tmp From a25eaecee34a24687186c8c9e9ff73fa4d6bdbd9 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 24 Aug 2021 10:21:51 +0100 Subject: [PATCH 17/39] Mash can't handle noach package --- xorg-x11-drv-nvidia.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 17ed865..bce7856 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -23,7 +23,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 470.63.01 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -183,7 +183,8 @@ Requires: %{name} = %{?epoch}:%{version} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -BuildArch: noarch +# Mash can't handle noach package +#BuildArch: noarch %description power Advanced power management, preserve memory allocation on suspend/resume. @@ -563,6 +564,9 @@ fi ||: %endif %changelog +* Tue Aug 24 2021 Leigh Scott - 3:470.63.01-3 +- Mash can't handle noach package + * Mon Aug 23 2021 Leigh Scott - 3:470.63.01-2 - Move power management files to sub-package From 3c5d595c5c6609d6e8ae0ee601c4e7fb1d6ce095 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Wed, 25 Aug 2021 12:18:24 +0100 Subject: [PATCH 18/39] Add isa to new sub-package --- xorg-x11-drv-nvidia.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index bce7856..8a309f2 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -179,7 +179,7 @@ This package provides the shared libraries for %{name}. %package power Summary: Advanced power management -Requires: %{name} = %{?epoch}:%{version} +Requires: %{name}%{?_isa} = %{?epoch}:%{version} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd From 8caaf2a4b4231dc4f5fd3891306c80c127fa6291 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sun, 29 Aug 2021 11:56:26 +0100 Subject: [PATCH 19/39] Use nvvm linking listed in manifest file --- xorg-x11-drv-nvidia.spec | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 8a309f2..3a41d98 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -18,7 +18,7 @@ %global debug_package %{nil} %global __strip /bin/true - +%global __brp_ldconfig %{nil} Name: xorg-x11-drv-nvidia Epoch: 3 @@ -261,8 +261,9 @@ popd %ifarch x86_64 # Install additional cuda lib, ldconfig generates wrong .so name. -ln -sf libnvidia-nvvm.so.4.0.0 %{buildroot}%{_libdir}/libnvidia-nvvm.so.4.0 -ln -sf libnvidia-nvvm.so.4 %{buildroot}%{_libdir}/libnvidia-nvvm.so +rm -f %{buildroot}%{_libdir}/libnvvm.so.4 +ln -sf libnvidia-nvvm.so.4.0.0 %{buildroot}%{_libdir}/libnvidia-nvvm.so.4 +ln -sf libnvidia-nvvm.so.4 %{buildroot}%{_libdir}/libnvidia-nvvm.so # Vulkan config install -m 0755 -d %{buildroot}%{_datadir}/vulkan/{icd.d,implicit_layer.d}/ @@ -525,8 +526,8 @@ fi ||: %{_libdir}/libnvidia-opticalflow.so.1 %{_libdir}/libnvidia-opticalflow.so.%{version} %ifarch x86_64 -%{_libdir}/libnvidia-nvvm.so.4.* -%{_libdir}/libnvvm.so.4 +%{_libdir}/libnvidia-nvvm.so +%{_libdir}/libnvidia-nvvm.so.4* %{_modprobedir}/nvidia-uvm.conf %{_udevrulesdir}/60-nvidia-uvm.rules %endif @@ -534,9 +535,6 @@ fi ||: %files devel %{_libdir}/libnvcuvid.so %{_libdir}/libnvidia-encode.so -%ifarch x86_64 -%{_libdir}/libnvidia-nvvm.so -%endif %ifarch x86_64 %post power From bb63c6fa82b430933c2aa22d20d276486b4aed97 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Fri, 10 Sep 2021 13:09:04 +0100 Subject: [PATCH 20/39] Fix perm --- xorg-x11-drv-nvidia.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 3a41d98..43aeaa1 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -367,7 +367,7 @@ install -p -m 0644 %{SOURCE14} %{buildroot}%{_unitdir} # Systemd units and script for suspending/resuming mkdir %{buildroot}%{_systemd_util_dir}/system-sleep/ install -p -m 0644 systemd/system/nvidia-{hibernate,resume,suspend}.service %{buildroot}%{_unitdir} -install -p -m 0644 systemd/system-sleep/nvidia %{buildroot}%{_systemd_util_dir}/system-sleep/ +install -p -m 0755 systemd/system-sleep/nvidia %{buildroot}%{_systemd_util_dir}/system-sleep/ install -p -m 0755 systemd/nvidia-sleep.sh %{buildroot}%{_bindir} # Firmware From 01e05bb9d0a301a426c2d5965e86519224617111 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Fri, 10 Sep 2021 14:04:34 +0100 Subject: [PATCH 21/39] Add systemd preset to power sub-package --- 70-nvidia.preset | 8 ++++++++ xorg-x11-drv-nvidia.spec | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 70-nvidia.preset diff --git a/70-nvidia.preset b/70-nvidia.preset new file mode 100644 index 0000000..56f61b1 --- /dev/null +++ b/70-nvidia.preset @@ -0,0 +1,8 @@ +# Enable complete power management. From: +# file:///usr/share/doc/nvidia-driver/html/powermanagement.html + +enable nvidia-suspend.service +enable nvidia-hibernate.service + +# Resume is triggered by nvidia-sleep.sh: +disable nvidia-resume.service diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 43aeaa1..deaed9f 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -41,6 +41,7 @@ Source13: 10-nvidia.rules Source14: nvidia-fallback.service Source15: rhel_nvidia.conf Source16: nvidia-power-management.conf +Source17: 70-nvidia.preset ExclusiveArch: x86_64 i686 @@ -365,7 +366,8 @@ install -p -m 0644 %{SOURCE13} %{buildroot}%{_udevrulesdir} install -p -m 0644 %{SOURCE14} %{buildroot}%{_unitdir} # Systemd units and script for suspending/resuming -mkdir %{buildroot}%{_systemd_util_dir}/system-sleep/ +mkdir %{buildroot}%{_systemd_util_dir}/system-{sleep,preset}/ +install -p -m 0644 %{SOURCE17} %{buildroot}%{_systemd_util_dir}/system-preset/ install -p -m 0644 systemd/system/nvidia-{hibernate,resume,suspend}.service %{buildroot}%{_unitdir} install -p -m 0755 systemd/system-sleep/nvidia %{buildroot}%{_systemd_util_dir}/system-sleep/ install -p -m 0755 systemd/nvidia-sleep.sh %{buildroot}%{_bindir} @@ -555,6 +557,7 @@ fi ||: %files power %config %{_modprobedir}/nvidia-power-management.conf %{_bindir}/nvidia-sleep.sh +%{_systemd_util_dir}/system-preset/70-nvidia.preset %{_systemd_util_dir}/system-sleep/nvidia %{_unitdir}/nvidia-hibernate.service %{_unitdir}/nvidia-resume.service From a12bff663ae4aa18c8757a6d5d3c10bc56393736 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 21 Sep 2021 00:12:48 +0100 Subject: [PATCH 22/39] Update to 470.74 release --- sources | 2 +- xorg-x11-drv-nvidia.spec | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 5ac1534..9db00b3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NVIDIA-Linux-x86_64-470.63.01.run) = d3dadf93df86e5462ecb4ae6a04f03b05bf1450ad91e8c2aa73e838ddc9aa11b4e926fc32714d32bd7c606498fee5a54c77d5e40ecc08a039d3e9c2d331ad454 +SHA512 (NVIDIA-Linux-x86_64-470.74.run) = 21e4290d98bbbf09eed7be32df8743f0adf728f9e88869afb02fc1d0f0be87cf42af2d4f04322a76d68a1704ef044e83cd403377e60af917ff3ec0a04985801a diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index deaed9f..454af99 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -22,8 +22,8 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 470.63.01 -Release: 3%{?dist} +Version: 470.74 +Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -565,6 +565,9 @@ fi ||: %endif %changelog +* Mon Sep 20 2021 Leigh Scott - 3:470.74-1 +- Update to 470.74 release + * Tue Aug 24 2021 Leigh Scott - 3:470.63.01-3 - Mash can't handle noach package From cea6fe82d5d5e51a7f3a1fe6edd79771f55cb456 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Thu, 14 Oct 2021 16:58:30 +0100 Subject: [PATCH 23/39] Update to 495.29.05 beta --- sources | 2 +- xorg-x11-drv-nvidia.spec | 29 ++++++++++++++++++++--------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/sources b/sources index 9db00b3..2013d1a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NVIDIA-Linux-x86_64-470.74.run) = 21e4290d98bbbf09eed7be32df8743f0adf728f9e88869afb02fc1d0f0be87cf42af2d4f04322a76d68a1704ef044e83cd403377e60af917ff3ec0a04985801a +SHA512 (NVIDIA-Linux-x86_64-495.29.05.run) = bcdb4a52217d98f656d2daad32b4112fe5bda362d8aeb6fd8dda17474a95e5914385823c19dacc71fc1fe2c4327d8f5beb267e6083aed54dd66f7abdae6f5cc1 diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 454af99..af447d5 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -22,7 +22,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 470.74 +Version: 495.29.05 Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards @@ -63,6 +63,9 @@ Suggests: nvidia-xconfig%{?_isa} = %{?epoch}:%{version} # nvidia-bug-report.sh requires needed to provide extra info Suggests: acpica-tools Suggests: vulkan-tools +%ifarch x86_64 +Suggests: %{name}-power%{?_isa} = %{?epoch}:%{version}-%{release} +%endif %else BuildRequires: systemd Requires: nvidia-xconfig%{?_isa} = %{?epoch}:%{version} @@ -219,12 +222,13 @@ cp -a \ libnvcuvid.so.%{version} \ libnvidia-allocator.so.%{version} \ %ifarch x86_64 - libnvidia-cbl.so.%{version} \ libnvidia-cfg.so.%{version} \ libnvidia-ngx.so.%{version} \ libnvidia-nvvm.so.4.0.0 \ libnvidia-rtcore.so.%{version} \ libnvoptix.so.%{version} \ + libnvidia-vulkan-producer.so.%{version} \ + libnvidia-egl-gbm.so.1.1.0 \ %endif libnvidia-eglcore.so.%{version} \ libnvidia-encode.so.%{version} \ @@ -232,7 +236,6 @@ cp -a \ libnvidia-glcore.so.%{version} \ libnvidia-glsi.so.%{version} \ libnvidia-glvkspirv.so.%{version} \ - libnvidia-ifr.so.%{version} \ libnvidia-ml.so.%{version} \ libnvidia-opticalflow.so.%{version} \ libnvidia-ptxjitcompiler.so.%{version} \ @@ -264,7 +267,11 @@ popd # Install additional cuda lib, ldconfig generates wrong .so name. rm -f %{buildroot}%{_libdir}/libnvvm.so.4 ln -sf libnvidia-nvvm.so.4.0.0 %{buildroot}%{_libdir}/libnvidia-nvvm.so.4 -ln -sf libnvidia-nvvm.so.4 %{buildroot}%{_libdir}/libnvidia-nvvm.so +ln -sf libnvidia-nvvm.so.4 %{buildroot}%{_libdir}/libnvidia-nvvm.so + +# GBM config +install -m 0755 -d %{buildroot}%{_datadir}/egl/egl_external_platform.d/ +install -p -m 0644 15_nvidia_gbm.json %{buildroot}%{_datadir}/egl/egl_external_platform.d/ # Vulkan config install -m 0755 -d %{buildroot}%{_datadir}/vulkan/{icd.d,implicit_layer.d}/ @@ -351,7 +358,7 @@ cat > %{buildroot}%{rpmmacrodir}/macros.%{name}-kmodsrc<< EOF %nvidia_kmodsrc_version %{version} EOF -%if 0%{?fedora} || 0%{?rhel} > 7 +%if 0%{?fedora} > 36|| 0%{?rhel} > 7 # install AppData and add modalias provides mkdir -p %{buildroot}%{_metainfodir}/ install -pm 0644 %{SOURCE8} %{buildroot}%{_metainfodir}/ @@ -437,7 +444,7 @@ fi ||: %{_udevrulesdir}/10-nvidia.rules %{_udevrulesdir}/60-nvidia.rules %{_unitdir}/nvidia-fallback.service -%if 0%{?fedora} || 0%{?rhel} > 7 +%if 0%{?fedora} > 36|| 0%{?rhel} > 7 %{_metainfodir}/%{name}.metainfo.xml %{_datadir}/pixmaps/%{name}.png %endif @@ -474,15 +481,18 @@ fi ||: %{_libdir}/libnvidia-allocator.so.%{version} %ifarch x86_64 %{_datadir}/vulkan/implicit_layer.d/nvidia_layers.json +%{_datadir}/egl/egl_external_platform.d/15_nvidia_gbm.json %{_datadir}/vulkan/icd.d/nvidia_icd.json -%{_libdir}/libnvidia-cbl.so.%{version} %{_libdir}/libnvidia-cfg.so.1 %{_libdir}/libnvidia-cfg.so.%{version} +%{_libdir}/libnvidia-egl-gbm.so.1 +%{_libdir}/libnvidia-egl-gbm.so.1.1.0 %{_libdir}/libnvidia-ngx.so.1 %{_libdir}/libnvidia-ngx.so.%{version} %{_libdir}/libnvidia-rtcore.so.%{version} %{_libdir}/libnvoptix.so.1 %{_libdir}/libnvoptix.so.%{version} +%{_libdir}/libnvidia-vulkan-producer.so.495.29.05 %{_winedir}/ %endif %{_libdir}/libnvidia-eglcore.so.%{version} @@ -491,8 +501,6 @@ fi ||: %{_libdir}/libnvidia-glcore.so.%{version} %{_libdir}/libnvidia-glsi.so.%{version} %{_libdir}/libnvidia-glvkspirv.so.%{version} -%{_libdir}/libnvidia-ifr.so.1 -%{_libdir}/libnvidia-ifr.so.%{version} %{_libdir}/libnvidia-tls.so.%{version} %{_libdir}/vdpau/libvdpau_nvidia.so.1 %{_libdir}/vdpau/libvdpau_nvidia.so.%{version} @@ -565,6 +573,9 @@ fi ||: %endif %changelog +* Thu Oct 14 2021 Leigh Scott - 3:495.29.05-1 +- Update to 495.29.05 beta + * Mon Sep 20 2021 Leigh Scott - 3:470.74-1 - Update to 470.74 release From 11c112e11bc6fc1658d4022c7091ab40541a935e Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Thu, 14 Oct 2021 17:13:23 +0100 Subject: [PATCH 24/39] fix --- xorg-x11-drv-nvidia.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index af447d5..ae2489e 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -492,7 +492,7 @@ fi ||: %{_libdir}/libnvidia-rtcore.so.%{version} %{_libdir}/libnvoptix.so.1 %{_libdir}/libnvoptix.so.%{version} -%{_libdir}/libnvidia-vulkan-producer.so.495.29.05 +%{_libdir}/libnvidia-vulkan-producer.so.%{version} %{_winedir}/ %endif %{_libdir}/libnvidia-eglcore.so.%{version} From 4983c37523b77ceba785e62d6b27603b858814e6 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Thu, 14 Oct 2021 22:01:35 +0100 Subject: [PATCH 25/39] Add nvidia-drm_gbm.so symlink --- xorg-x11-drv-nvidia.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index ae2489e..fb3d802 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -23,7 +23,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 495.29.05 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -259,6 +259,9 @@ done install -D -p -m 0755 libvdpau_nvidia.so.%{version} %{buildroot}%{_libdir}/vdpau/libvdpau_nvidia.so.%{version} ln -sf libvdpau_nvidia.so.%{version} %{buildroot}%{_libdir}/vdpau/libvdpau_nvidia.so.1 +# GBM symlink +ln -sf libnvidia-allocator.so.1 %{buildroot}%{_libdir}/nvidia-drm_gbm.so + %ifarch i686 popd %endif @@ -479,6 +482,7 @@ fi ||: %{_libdir}/libGLX_nvidia.so.%{version} %{_libdir}/libnvidia-allocator.so.1 %{_libdir}/libnvidia-allocator.so.%{version} +%{_libdir}/nvidia-drm_gbm.so %ifarch x86_64 %{_datadir}/vulkan/implicit_layer.d/nvidia_layers.json %{_datadir}/egl/egl_external_platform.d/15_nvidia_gbm.json @@ -573,6 +577,9 @@ fi ||: %endif %changelog +* Thu Oct 14 2021 Leigh Scott - 3:495.29.05-2 +- Add nvidia-drm_gbm.so symlink + * Thu Oct 14 2021 Leigh Scott - 3:495.29.05-1 - Update to 495.29.05 beta From b959420af0bb3d4fba0cada5c2fa1ef67ecd8f54 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sat, 16 Oct 2021 13:53:35 +0100 Subject: [PATCH 26/39] Raise egl-wayland version and use correct nvidia-drm_gbm.so directory --- xorg-x11-drv-nvidia.spec | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index fb3d802..8a5e547 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -23,7 +23,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 495.29.05 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -163,19 +163,18 @@ Requires: libglvnd-gles%{?_isa} >= 0.2 Requires: libglvnd-glx%{?_isa} >= 0.2 Requires: libglvnd-opengl%{?_isa} >= 0.2 %if 0%{?fedora} || 0%{?rhel} > 7 -Requires: egl-wayland%{?_isa} >= 1.0.0 Requires: vulkan-loader%{?_isa} %ifarch x86_64 # Boolean dependencies are only fedora and el8 +Requires: egl-wayland%{?_isa} >= 1.1.9 Requires: (%{name}-libs(x86-32) = %{?epoch}:%{version}-%{release} if mesa-libGL(x86-32)) %endif %else Requires: vulkan-filesystem -Requires: egl-wayland >= 1.0.0 %endif -Requires: mesa-libEGL%{?_isa} >= 13.0.3-3 -Requires: mesa-libGL%{?_isa} >= 13.0.3-3 -Requires: mesa-libGLES%{?_isa} >= 13.0.3-3 +Requires: mesa-libEGL%{?_isa} >= 21.2.0 +Requires: mesa-libGL%{?_isa} >= 21.2.0 +Requires: mesa-libGLES%{?_isa} >= 21.2.0 %description libs @@ -260,7 +259,8 @@ install -D -p -m 0755 libvdpau_nvidia.so.%{version} %{buildroot}%{_libdir}/vdpau ln -sf libvdpau_nvidia.so.%{version} %{buildroot}%{_libdir}/vdpau/libvdpau_nvidia.so.1 # GBM symlink -ln -sf libnvidia-allocator.so.1 %{buildroot}%{_libdir}/nvidia-drm_gbm.so +mkdir %{buildroot}%{_libdir}/gbm/ +ln -sf ../libnvidia-allocator.so.1 %{buildroot}%{_libdir}/gbm/nvidia-drm_gbm.so %ifarch i686 popd @@ -482,7 +482,7 @@ fi ||: %{_libdir}/libGLX_nvidia.so.%{version} %{_libdir}/libnvidia-allocator.so.1 %{_libdir}/libnvidia-allocator.so.%{version} -%{_libdir}/nvidia-drm_gbm.so +%{_libdir}/gbm/ %ifarch x86_64 %{_datadir}/vulkan/implicit_layer.d/nvidia_layers.json %{_datadir}/egl/egl_external_platform.d/15_nvidia_gbm.json @@ -577,6 +577,10 @@ fi ||: %endif %changelog +* Sat Oct 16 2021 Leigh Scott - 3:495.29.05-3 +- Fix symlink directory for nvidia-drm_gbm.so +- Increase egl-wayland requires to 1.1.9 + * Thu Oct 14 2021 Leigh Scott - 3:495.29.05-2 - Add nvidia-drm_gbm.so symlink From cbfb0c5ddeebf7631027f4c0aff8935e139ab3f9 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sat, 16 Oct 2021 21:46:29 +0100 Subject: [PATCH 27/39] 15_nvidia_gbm.json moved to egl-wayland --- xorg-x11-drv-nvidia.spec | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 8a5e547..f397991 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -23,7 +23,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 495.29.05 -Release: 3%{?dist} +Release: 4%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -166,7 +166,7 @@ Requires: libglvnd-opengl%{?_isa} >= 0.2 Requires: vulkan-loader%{?_isa} %ifarch x86_64 # Boolean dependencies are only fedora and el8 -Requires: egl-wayland%{?_isa} >= 1.1.9 +Requires: egl-wayland%{?_isa} >= 1.1.9-2 Requires: (%{name}-libs(x86-32) = %{?epoch}:%{version}-%{release} if mesa-libGL(x86-32)) %endif %else @@ -259,8 +259,8 @@ install -D -p -m 0755 libvdpau_nvidia.so.%{version} %{buildroot}%{_libdir}/vdpau ln -sf libvdpau_nvidia.so.%{version} %{buildroot}%{_libdir}/vdpau/libvdpau_nvidia.so.1 # GBM symlink -mkdir %{buildroot}%{_libdir}/gbm/ -ln -sf ../libnvidia-allocator.so.1 %{buildroot}%{_libdir}/gbm/nvidia-drm_gbm.so +install -m 0755 -d %{buildroot}%{_libdir}/gbm/ +ln -sf ../libnvidia-allocator.so.%{version} %{buildroot}%{_libdir}/gbm/nvidia-drm_gbm.so %ifarch i686 popd @@ -272,10 +272,6 @@ rm -f %{buildroot}%{_libdir}/libnvvm.so.4 ln -sf libnvidia-nvvm.so.4.0.0 %{buildroot}%{_libdir}/libnvidia-nvvm.so.4 ln -sf libnvidia-nvvm.so.4 %{buildroot}%{_libdir}/libnvidia-nvvm.so -# GBM config -install -m 0755 -d %{buildroot}%{_datadir}/egl/egl_external_platform.d/ -install -p -m 0644 15_nvidia_gbm.json %{buildroot}%{_datadir}/egl/egl_external_platform.d/ - # Vulkan config install -m 0755 -d %{buildroot}%{_datadir}/vulkan/{icd.d,implicit_layer.d}/ install -p -m 0644 nvidia_icd.json %{buildroot}%{_datadir}/vulkan/icd.d/ @@ -485,7 +481,6 @@ fi ||: %{_libdir}/gbm/ %ifarch x86_64 %{_datadir}/vulkan/implicit_layer.d/nvidia_layers.json -%{_datadir}/egl/egl_external_platform.d/15_nvidia_gbm.json %{_datadir}/vulkan/icd.d/nvidia_icd.json %{_libdir}/libnvidia-cfg.so.1 %{_libdir}/libnvidia-cfg.so.%{version} @@ -577,6 +572,9 @@ fi ||: %endif %changelog +* Sat Oct 16 2021 Leigh Scott - 3:495.29.05-4 +- 15_nvidia_gbm.json moved to egl-wayland + * Sat Oct 16 2021 Leigh Scott - 3:495.29.05-3 - Fix symlink directory for nvidia-drm_gbm.so - Increase egl-wayland requires to 1.1.9 From 0346882fac396b8a5e4b617f230bdca2454ed33a Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 26 Oct 2021 18:57:10 +0100 Subject: [PATCH 28/39] Update to 495.44 release --- sources | 2 +- xorg-x11-drv-nvidia.spec | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 2013d1a..0ded111 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NVIDIA-Linux-x86_64-495.29.05.run) = bcdb4a52217d98f656d2daad32b4112fe5bda362d8aeb6fd8dda17474a95e5914385823c19dacc71fc1fe2c4327d8f5beb267e6083aed54dd66f7abdae6f5cc1 +SHA512 (NVIDIA-Linux-x86_64-495.44.run) = bc9054e6028ba172906e6eb9a0b8f5cfc3ae74d57f3e95e0f9057879e3af07a4b19479e80d81e948872bc47bbd674f77f5f81d4debd2e2c3ce45058cd9211802 diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index f397991..0a2475e 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -22,8 +22,8 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 495.29.05 -Release: 4%{?dist} +Version: 495.44 +Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -572,6 +572,9 @@ fi ||: %endif %changelog +* Tue Oct 26 2021 Leigh Scott - 3:495.44-1 +- Update to 495.44 release + * Sat Oct 16 2021 Leigh Scott - 3:495.29.05-4 - 15_nvidia_gbm.json moved to egl-wayland From ff76a0fbf4808e942c9043bcae19b95f36de0349 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 28 Oct 2021 21:42:48 +0200 Subject: [PATCH 29/39] Drop mesa version enforcing --- xorg-x11-drv-nvidia.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 0a2475e..e9223ca 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -172,9 +172,9 @@ Requires: (%{name}-libs(x86-32) = %{?epoch}:%{version}-%{release} if mesa %else Requires: vulkan-filesystem %endif -Requires: mesa-libEGL%{?_isa} >= 21.2.0 -Requires: mesa-libGL%{?_isa} >= 21.2.0 -Requires: mesa-libGLES%{?_isa} >= 21.2.0 +Requires: mesa-libEGL%{?_isa} +Requires: mesa-libGL%{?_isa} +Requires: mesa-libGLES%{?_isa} %description libs From 04297e141991005ede0e0db71b14349ff255102e Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 28 Oct 2021 21:47:34 +0200 Subject: [PATCH 30/39] Update egl-wayland deps --- xorg-x11-drv-nvidia.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index e9223ca..3fb1bf8 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -165,8 +165,9 @@ Requires: libglvnd-opengl%{?_isa} >= 0.2 %if 0%{?fedora} || 0%{?rhel} > 7 Requires: vulkan-loader%{?_isa} %ifarch x86_64 +# Fedora 35 has early XWayland support using recent egl-wayland +Requires: egl-wayland%{?_isa} %{?fc35: >= 1.1.9-2} # Boolean dependencies are only fedora and el8 -Requires: egl-wayland%{?_isa} >= 1.1.9-2 Requires: (%{name}-libs(x86-32) = %{?epoch}:%{version}-%{release} if mesa-libGL(x86-32)) %endif %else From 9ae1e64582a3bc2c5aa610af09bb5989b062b7c9 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 28 Oct 2021 22:13:58 +0200 Subject: [PATCH 31/39] Update changelog --- xorg-x11-drv-nvidia.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 3fb1bf8..92b1311 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -23,7 +23,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 495.44 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -573,6 +573,10 @@ fi ||: %endif %changelog +* Thu Oct 28 2021 Nicolas Chauvet - 3:495.44-2 +- Update egl-wayland deps +- Drop mesa version enforcing + * Tue Oct 26 2021 Leigh Scott - 3:495.44-1 - Update to 495.44 release From e6dba2ecc124bcf2e9b0bec0a2127a76a485b45f Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sat, 30 Oct 2021 20:48:06 +0100 Subject: [PATCH 32/39] fix systemd macro for el8 --- xorg-x11-drv-nvidia.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 92b1311..d237c4a 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -13,6 +13,8 @@ %else %global _dracutopts nouveau.modeset=0 rd.driver.blacklist=nouveau nvidia-drm.modeset=1 %global _modprobedir %{_prefix}/lib/modprobe.d +%endif +%if 0%{?rhel} %global _systemd_util_dir %{_prefix}/lib/systemd %endif From 3d7ab8c2eb9b5dd0928bb29c7f8d51338821ccd0 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Mon, 1 Nov 2021 13:54:11 +0000 Subject: [PATCH 33/39] Edit description --- xorg-x11-drv-nvidia.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index d237c4a..2d07057 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -88,7 +88,7 @@ Conflicts: xorg-x11-drv-nvidia-390xx %description This package provides the most recent NVIDIA display driver which allows for hardware accelerated rendering with current NVIDIA chipsets series. -GF8x, GF9x, and GT2xx GPUs NOT supported by this release. +Fermi and Kelper GPUs NOT supported by this release. For the full product support list, please consult the release notes http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/README/index.html From 8b88d958f28cb28f0fcfef8581adfae565212135 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Mon, 1 Nov 2021 22:47:18 +0000 Subject: [PATCH 34/39] Add libnvidia-vulkan-producer symlink --- xorg-x11-drv-nvidia.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 2d07057..df6435e 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -82,7 +82,7 @@ Conflicts: xorg-x11-drv-nvidia-340xx Conflicts: xorg-x11-drv-nvidia-390xx %global __provides_exclude ^(lib.*GL.*\\.so.*)$ -%global __requires_exclude ^libglxserver_nvidia.so|^(lib.*GL.*\\.so.*)$ +%global __requires_exclude ^libnvidia-vulkan-producer.so|^libglxserver_nvidia.so|^(lib.*GL.*\\.so.*)$ %description @@ -253,7 +253,7 @@ cp -af \ ldconfig -vn %{buildroot}%{_libdir}/ # Libraries you can link against -for lib in libcuda libnvcuvid libnvidia-encode; do +for lib in libcuda libnvcuvid libnvidia-encode libnvidia-vulkan-producer; do ln -sf $lib.so.%{version} %{buildroot}%{_libdir}/$lib.so done @@ -495,6 +495,7 @@ fi ||: %{_libdir}/libnvoptix.so.1 %{_libdir}/libnvoptix.so.%{version} %{_libdir}/libnvidia-vulkan-producer.so.%{version} +%{_libdir}/libnvidia-vulkan-producer.so %{_winedir}/ %endif %{_libdir}/libnvidia-eglcore.so.%{version} From ee49008b1175bbc0ce46101efc171097bcce84cc Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Mon, 1 Nov 2021 22:48:40 +0000 Subject: [PATCH 35/39] Update changelog --- xorg-x11-drv-nvidia.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index df6435e..48afcd5 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -25,7 +25,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 495.44 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -576,6 +576,9 @@ fi ||: %endif %changelog +* Mon Nov 01 2021 Leigh Scott - 3:495.44-3 +- Add libnvidia-vulkan-producer symlink + * Thu Oct 28 2021 Nicolas Chauvet - 3:495.44-2 - Update egl-wayland deps - Drop mesa version enforcing From abef2cfedbe24aa12b0ca4086b15511faad5cb36 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Mon, 1 Nov 2021 23:16:10 +0000 Subject: [PATCH 36/39] fix --- xorg-x11-drv-nvidia.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 48afcd5..2c62651 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -253,7 +253,7 @@ cp -af \ ldconfig -vn %{buildroot}%{_libdir}/ # Libraries you can link against -for lib in libcuda libnvcuvid libnvidia-encode libnvidia-vulkan-producer; do +for lib in libcuda libnvcuvid libnvidia-encode; do ln -sf $lib.so.%{version} %{buildroot}%{_libdir}/$lib.so done @@ -275,10 +275,11 @@ rm -f %{buildroot}%{_libdir}/libnvvm.so.4 ln -sf libnvidia-nvvm.so.4.0.0 %{buildroot}%{_libdir}/libnvidia-nvvm.so.4 ln -sf libnvidia-nvvm.so.4 %{buildroot}%{_libdir}/libnvidia-nvvm.so -# Vulkan config +# Vulkan config and symlink install -m 0755 -d %{buildroot}%{_datadir}/vulkan/{icd.d,implicit_layer.d}/ install -p -m 0644 nvidia_icd.json %{buildroot}%{_datadir}/vulkan/icd.d/ install -p -m 0644 nvidia_layers.json %{buildroot}%{_datadir}/vulkan/implicit_layer.d/ +ln -sf libnvidia-vulkan-producer.so.%{version} %{buildroot}%{_libdir}/libnvidia-vulkan-producer.so # X DDX driver and GLX extension install -p -D -m 0755 libglxserver_nvidia.so.%{version} %{buildroot}%{_libdir}/xorg/modules/extensions/libglxserver_nvidia.so From 4f964f108c87ce35236eb042c94e3a4db98a3383 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 2 Nov 2021 15:34:58 +0000 Subject: [PATCH 37/39] Fix appdata --- parse-readme.py | 2 +- xorg-x11-drv-nvidia.spec | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/parse-readme.py b/parse-readme.py index 3a5d140..acaf0d5 100755 --- a/parse-readme.py +++ b/parse-readme.py @@ -15,7 +15,7 @@ def main(): in_section = False in_table = False pids = [] - sections = ["NVIDIA GEFORCE GPUS", "NVIDIA RTX/QUADRO GPUS", "NVIDIA NVS GPUS", "NVIDIA TESLA GPUS", "NVIDIA GRID GPUS"] + sections = ["CURRENT NVIDIA GPUS"] for section in sections: for line in f.readlines(): diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 2c62651..1923abf 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -25,7 +25,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 495.44 -Release: 3%{?dist} +Release: 4%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -361,7 +361,7 @@ cat > %{buildroot}%{rpmmacrodir}/macros.%{name}-kmodsrc<< EOF %nvidia_kmodsrc_version %{version} EOF -%if 0%{?fedora} > 36|| 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 # install AppData and add modalias provides mkdir -p %{buildroot}%{_metainfodir}/ install -pm 0644 %{SOURCE8} %{buildroot}%{_metainfodir}/ @@ -447,7 +447,7 @@ fi ||: %{_udevrulesdir}/10-nvidia.rules %{_udevrulesdir}/60-nvidia.rules %{_unitdir}/nvidia-fallback.service -%if 0%{?fedora} > 36|| 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %{_metainfodir}/%{name}.metainfo.xml %{_datadir}/pixmaps/%{name}.png %endif @@ -577,6 +577,9 @@ fi ||: %endif %changelog +* Tue Nov 02 2021 Leigh Scott - 3:495.44-4 +- Fix appdata + * Mon Nov 01 2021 Leigh Scott - 3:495.44-3 - Add libnvidia-vulkan-producer symlink From 0101b1ce851e059ba9c2587611d550795920caa1 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Wed, 3 Nov 2021 20:39:53 +0000 Subject: [PATCH 38/39] Use supported-gpus.json to generate appdata --- parse-readme.py | 61 ---------------------------------------- parse-supported-gpus.py | 32 +++++++++++++++++++++ xorg-x11-drv-nvidia.spec | 7 ++--- 3 files changed, 35 insertions(+), 65 deletions(-) delete mode 100755 parse-readme.py create mode 100755 parse-supported-gpus.py diff --git a/parse-readme.py b/parse-readme.py deleted file mode 100755 index acaf0d5..0000000 --- a/parse-readme.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/python3 -# -*- coding: utf-8 -*- -# -# Copyright (C) 2021 Simone Caronni -# Licensed under the GNU General Public License Version or later - -import sys - -def main(): - if len(sys.argv) != 2: - print("usage: %s README.txt" % sys.argv[0]) - return 1 - - f = open(sys.argv[1]) - in_section = False - in_table = False - pids = [] - sections = ["CURRENT NVIDIA GPUS"] - for section in sections: - - for line in f.readlines(): - - # Find the right data tables - if line.find(section) != -1: - in_section = True - continue - if not in_section: - continue - - # Remove Windows and Linux line endings - line = line.replace('\r', '') - line = line.replace('\n', '') - - # End of section - if len(line) > 0 and not line.startswith(' '): - in_section = False - in_table = False - continue - - if len(line) == 0: - continue - - # Skip the header - if line.startswith(' ---'): - in_table = True - continue - if not in_table: - continue - - # PCI ID - pid = int(line[50:54], 16) - if not pid in pids: - pids.append(pid) - - for pid in pids: - vid = 0x10de - print("pci:v%08Xd%08Xsv*sd*bc*sc*i*" % (vid, pid)) - -if __name__ == "__main__": - main() - diff --git a/parse-supported-gpus.py b/parse-supported-gpus.py new file mode 100755 index 0000000..94ac6b1 --- /dev/null +++ b/parse-supported-gpus.py @@ -0,0 +1,32 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- +# +# Copyright (C) 2021 Simone Caronni +# Licensed under the GNU General Public License Version or later + +import json +import sys + +def main(): + if len(sys.argv) != 2: + print("usage: %s supported-gpus.json" % sys.argv[0]) + return 1 + + f = open(sys.argv[1]) + gpus_raw = json.load(f) + legacy = 'legacybranch' + devids = [] + + for product in gpus_raw["chips"]: + + if legacy not in product.keys(): + + devid = int(product["devid"], 16) + if not devid in devids: + devids.append(devid) + + for devid in devids: + print("pci:v000010DEd%08Xsv*sd*bc*sc*i*" % (devid)) + +if __name__ == "__main__": + main() diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 1923abf..b162dfc 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -35,7 +35,7 @@ Source5: alternate-install-present Source6: nvidia.conf Source7: 60-nvidia.rules Source8: xorg-x11-drv-nvidia.metainfo.xml -Source9: parse-readme.py +Source9: parse-supported-gpus.py Source10: 60-nvidia-uvm.rules Source11: nvidia-uvm.conf Source12: 99-nvidia-dracut.conf @@ -363,9 +363,8 @@ EOF %if 0%{?fedora} || 0%{?rhel} > 7 # install AppData and add modalias provides -mkdir -p %{buildroot}%{_metainfodir}/ -install -pm 0644 %{SOURCE8} %{buildroot}%{_metainfodir}/ -%{SOURCE9} README.txt | xargs appstream-util add-provide %{buildroot}%{_metainfodir}/xorg-x11-drv-nvidia.metainfo.xml modalias +install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_metainfodir}/xorg-x11-drv-nvidia.metainfo.xml +%{SOURCE9} supported-gpus/supported-gpus.json | xargs appstream-util add-provide %{buildroot}%{_metainfodir}/xorg-x11-drv-nvidia.metainfo.xml modalias mkdir -p %{buildroot}%{_datadir}/pixmaps install -pm 0644 nvidia-settings.png %{buildroot}%{_datadir}/pixmaps/%{name}.png %endif From 7e16bf4c521e1ac13ec3970a1be775672fd779d2 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Wed, 17 Nov 2021 15:24:59 +0000 Subject: [PATCH 39/39] Add stupid unversioned symlink (rfbz#6144) --- xorg-x11-drv-nvidia.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index b162dfc..1ed5373 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -253,7 +253,7 @@ cp -af \ ldconfig -vn %{buildroot}%{_libdir}/ # Libraries you can link against -for lib in libcuda libnvcuvid libnvidia-encode; do +for lib in libcuda libnvcuvid libnvidia-encode libnvidia-ml; do ln -sf $lib.so.%{version} %{buildroot}%{_libdir}/$lib.so done @@ -529,6 +529,7 @@ fi ||: %{_libdir}/libnvcuvid.so.%{version} %{_libdir}/libnvidia-encode.so.1 %{_libdir}/libnvidia-encode.so.%{version} +%{_libdir}/libnvidia-ml.so %{_libdir}/libnvidia-ml.so.1 %{_libdir}/libnvidia-ml.so.%{version} %{_libdir}/libnvidia-ptxjitcompiler.so.1