From 4b9ffd678ae2968a5ff7678a73fcedbc512f0dd9 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Fri, 3 Nov 2023 11:59:33 +0000 Subject: [PATCH 1/6] Use nvidia-modprobe instead of udev rules (rfbz#6784) --- 60-nvidia-uvm.rules | 2 -- 60-nvidia.rules | 12 ------------ xorg-x11-drv-nvidia.spec | 23 +++++------------------ 3 files changed, 5 insertions(+), 32 deletions(-) delete mode 100644 60-nvidia-uvm.rules delete mode 100644 60-nvidia.rules diff --git a/60-nvidia-uvm.rules b/60-nvidia-uvm.rules deleted file mode 100644 index 9a8b8a6..0000000 --- a/60-nvidia-uvm.rules +++ /dev/null @@ -1,2 +0,0 @@ -KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'" -KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 1'" diff --git a/60-nvidia.rules b/60-nvidia.rules deleted file mode 100644 index 63eb682..0000000 --- a/60-nvidia.rules +++ /dev/null @@ -1,12 +0,0 @@ -# Make sure device nodes are present even when the DDX is not started for the Wayland/EGLStream case -KERNEL=="nvidia", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'" -KERNEL=="nvidia", RUN+="/usr/bin/bash -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/mknod -Z -m 666 /dev/nvidia$${i} c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) $${i}; done'" -KERNEL=="nvidia_modeset", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'" - -# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind -ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto" -ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto" - -# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind -ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on" -ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on" diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 3cf6328..73be56d 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -27,7 +27,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 545.29.02 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -36,10 +36,8 @@ Source0: https://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVI Source1: https://download.nvidia.com/XFree86/Linux-aarch64/%{version}/NVIDIA-Linux-aarch64-%{version}.run Source5: alternate-install-present Source6: nvidia.conf -Source7: 60-nvidia.rules Source8: xorg-x11-drv-nvidia.metainfo.xml Source9: parse-supported-gpus.py -Source10: 60-nvidia-uvm.rules Source11: nvidia-uvm.conf Source12: 99-nvidia-dracut.conf Source13: 10-nvidia.rules @@ -124,15 +122,10 @@ Summary: CUDA driver for %{name} Requires: %{_nvidia_serie}-kmod >= %{?epoch}:%{version} Requires: %{name}-cuda-libs%{?_isa} = %{?epoch}:%{version}-%{release} Requires: nvidia-persistenced%{?_isa} = %{?epoch}:%{version} -%if 0%{?fedora} || 0%{?rhel} > 7 -Suggests: nvidia-modprobe%{?_isa} = %{?epoch}:%{version} -# Boolean dependencies are only fedora +Requires: nvidia-modprobe%{?_isa} = %{?epoch}:%{version} %ifarch x86_64 Requires: (%{name}-cuda-libs(x86-32) = %{?epoch}:%{version}-%{release} if mesa-libGL(x86-32)) %endif -%else -Requires: nvidia-modprobe%{?_isa} = %{?epoch}:%{version} -%endif Requires: ocl-icd%{?_isa} Requires: opencl-filesystem @@ -319,13 +312,6 @@ 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} -install -p -m 0644 %{SOURCE7} %{buildroot}%{_udevrulesdir} - -# UDev rules for nvidia-uvm -install -p -m 0644 %{SOURCE10} %{buildroot}%{_udevrulesdir} - %ifarch x86_64 # Install dbus config install -m 0755 -d %{buildroot}%{_dbus_systemd_dir} @@ -479,7 +465,6 @@ fi ||: %ghost %{_sysconfdir}/X11/xorg.conf.d/nvidia.conf %{_datadir}/X11/xorg.conf.d/nvidia.conf %{_udevrulesdir}/10-nvidia.rules -%{_udevrulesdir}/60-nvidia.rules %{_unitdir}/nvidia-fallback.service %if 0%{?fedora} || 0%{?rhel} > 7 %{_metainfodir}/%{name}.metainfo.xml @@ -592,7 +577,6 @@ fi ||: %{_libdir}/libcudadebugger.so.1 %{_libdir}/libcudadebugger.so.%{version} %{_modprobedir}/nvidia-uvm.conf -%{_udevrulesdir}/60-nvidia-uvm.rules %endif %files devel @@ -638,6 +622,9 @@ fi ||: %endif %changelog +* Fri Nov 03 2023 Leigh Scott - 3:545.29.02-2 +- Use nvidia-modprobe instead of udev rules (rfbz#6784) + * Tue Oct 31 2023 Leigh Scott - 3:545.29.02-1 - Update to 545.29.02 release From ab1a61b6ab88b74979557cdfb359d3475656aca2 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Fri, 3 Nov 2023 12:35:46 +0000 Subject: [PATCH 2/6] fix --- 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 73be56d..2ac21a1 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -389,7 +389,8 @@ install -pm 0644 nvidia-settings.png %{buildroot}%{_datadir}/pixmaps/%{name}.png %endif # Install nvidia-fallback -mkdir -p %{buildroot}%{_unitdir} +install -m 0755 -d %{buildroot}%{_unitdir} +install -m 0755 -d %{buildroot}%{_udevrulesdir} install -p -m 0644 %{SOURCE13} %{buildroot}%{_udevrulesdir} install -p -m 0644 %{SOURCE14} %{buildroot}%{_unitdir} From 459e7e5be70662d7c94103c39382fcbcd277bf47 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Fri, 3 Nov 2023 13:50:20 +0000 Subject: [PATCH 3/6] Add requires nvidia-modprobe to main package --- 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 2ac21a1..365c49f 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -27,7 +27,7 @@ Name: xorg-x11-drv-nvidia Epoch: 3 Version: 545.29.02 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -56,6 +56,7 @@ Requires(postun): ldconfig Requires(post): grubby Requires: which Requires: nvidia-settings%{?_isa} = %{?epoch}:%{version} +Requires: nvidia-modprobe%{?_isa} = %{?epoch}:%{version} %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: systemd-rpm-macros # AppStream metadata generation @@ -623,6 +624,9 @@ fi ||: %endif %changelog +* Fri Nov 03 2023 Leigh Scott - 3:545.29.02-3 +- Add requires nvidia-modprobe to main package + * Fri Nov 03 2023 Leigh Scott - 3:545.29.02-2 - Use nvidia-modprobe instead of udev rules (rfbz#6784) From 250ad539529d9b09b7378cf197ac170f981b1059 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Fri, 3 Nov 2023 14:02:53 +0000 Subject: [PATCH 4/6] Drop el7 support conditionals --- xorg-x11-drv-nvidia.spec | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 365c49f..d5a934f 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -9,12 +9,7 @@ %global _grubby %{_sbindir}/grubby --update-kernel=ALL %global _firmwarepath %{_prefix}/lib/firmware %global _winedir %{_libdir}/nvidia/wine -%if 0%{?fedora} || 0%{?rhel} > 7 %global _dracutopts rd.driver.blacklist=nouveau modprobe.blacklist=nouveau -%else -%global _dracutopts nouveau.modeset=0 rd.driver.blacklist=nouveau -%global _modprobedir %{_prefix}/lib/modprobe.d -%endif %if 0%{?rhel} %global _systemd_util_dir %{_prefix}/lib/systemd %endif @@ -57,7 +52,6 @@ Requires(post): grubby Requires: which Requires: nvidia-settings%{?_isa} = %{?epoch}:%{version} Requires: nvidia-modprobe%{?_isa} = %{?epoch}:%{version} -%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: systemd-rpm-macros # AppStream metadata generation BuildRequires: python3 @@ -71,10 +65,6 @@ Suggests: vulkan-tools Recommends: %{name}-cuda-libs%{?_isa} = %{?epoch}:%{version}-%{release} Recommends: %{name}-power%{?_isa} = %{?epoch}:%{version}-%{release} %endif -%else -BuildRequires: systemd -Requires: nvidia-xconfig%{?_isa} = %{?epoch}:%{version} -%endif Requires: %{_nvidia_serie}-kmod >= %{?epoch}:%{version} Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release} @@ -165,7 +155,6 @@ Requires: libglvnd-egl%{?_isa} >= 0.2 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: vulkan-loader%{?_isa} %ifarch x86_64 aarch64 # Fedora 35 has early XWayland support using recent egl-wayland @@ -178,9 +167,6 @@ Requires: egl-gbm%{?_isa} Requires: (%{name}-libs(x86-32) = %{?epoch}:%{version}-%{release} if mesa-libGL(x86-32)) %endif %endif -%else -Requires: vulkan-filesystem -%endif Requires: mesa-libEGL%{?_isa} Requires: mesa-libGL%{?_isa} Requires: mesa-libGLES%{?_isa} @@ -381,13 +367,11 @@ cat > %{buildroot}%{rpmmacrodir}/macros.%{name}-kmodsrc<< EOF %nvidia_kmodsrc_version %{version} EOF -%if 0%{?fedora} || 0%{?rhel} > 7 # install AppData and add modalias provides 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 # Install nvidia-fallback install -m 0755 -d %{buildroot}%{_unitdir} @@ -468,10 +452,8 @@ fi ||: %{_datadir}/X11/xorg.conf.d/nvidia.conf %{_udevrulesdir}/10-nvidia.rules %{_unitdir}/nvidia-fallback.service -%if 0%{?fedora} || 0%{?rhel} > 7 %{_metainfodir}/%{name}.metainfo.xml %{_datadir}/pixmaps/%{name}.png -%endif %{_dracut_conf_d}/99-nvidia-dracut.conf %{_bindir}/nvidia-bug-report.sh # Xorg libs that do not need to be multilib From da039eea6bb4425b5ef7b92c80077f04bc3f4584 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Fri, 3 Nov 2023 18:21:57 +0000 Subject: [PATCH 5/6] Readd nvidia power management udev rules --- 80-nvidia-pm.rules | 7 +++++++ xorg-x11-drv-nvidia.spec | 10 +++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 80-nvidia-pm.rules diff --git a/80-nvidia-pm.rules b/80-nvidia-pm.rules new file mode 100644 index 0000000..ba3cefe --- /dev/null +++ b/80-nvidia-pm.rules @@ -0,0 +1,7 @@ +# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind +ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto" +ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto" + +# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind +ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on" +ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on" diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index d5a934f..14b707d 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: 545.29.02 -Release: 3%{?dist} +Release: 4%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -31,6 +31,7 @@ Source0: https://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVI Source1: https://download.nvidia.com/XFree86/Linux-aarch64/%{version}/NVIDIA-Linux-aarch64-%{version}.run Source5: alternate-install-present Source6: nvidia.conf +Source7: 80-nvidia-pm.rules Source8: xorg-x11-drv-nvidia.metainfo.xml Source9: parse-supported-gpus.py Source11: nvidia-uvm.conf @@ -379,6 +380,9 @@ install -m 0755 -d %{buildroot}%{_udevrulesdir} install -p -m 0644 %{SOURCE13} %{buildroot}%{_udevrulesdir} install -p -m 0644 %{SOURCE14} %{buildroot}%{_unitdir} +# UDev rules for PCI-Express Runtime D3 (RTD3) Power Management +install -p -m 0644 %{SOURCE7} %{buildroot}%{_udevrulesdir} + # Systemd units and script for suspending/resuming mkdir %{buildroot}%{_systemd_util_dir}/system-{sleep,preset}/ install -p -m 0644 %{SOURCE17} %{buildroot}%{_systemd_util_dir}/system-preset/ @@ -451,6 +455,7 @@ fi ||: %ghost %{_sysconfdir}/X11/xorg.conf.d/nvidia.conf %{_datadir}/X11/xorg.conf.d/nvidia.conf %{_udevrulesdir}/10-nvidia.rules +%{_udevrulesdir}/80-nvidia-pm.rules %{_unitdir}/nvidia-fallback.service %{_metainfodir}/%{name}.metainfo.xml %{_datadir}/pixmaps/%{name}.png @@ -606,6 +611,9 @@ fi ||: %endif %changelog +* Fri Nov 03 2023 Leigh Scott - 3:545.29.02-4 +- Readd nvidia power management udev rules + * Fri Nov 03 2023 Leigh Scott - 3:545.29.02-3 - Add requires nvidia-modprobe to main package From 2f486b1a479fecbc97419044b8baf022f4a17998 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Wed, 22 Nov 2023 19:23:24 +0000 Subject: [PATCH 6/6] Update to 545.29.06 release --- sources | 4 ++-- xorg-x11-drv-nvidia.spec | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sources b/sources index 26d7631..ed53c68 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (NVIDIA-Linux-x86_64-545.29.02.run) = b3d31d19f2912e4926446b609c07f181fae00b1dc4b025ddb52f8c28a1f14904d29ff6514fd04c734776bec82a351476009d60be9293968fbea7dc62ed580de8 -SHA512 (NVIDIA-Linux-aarch64-545.29.02.run) = 4595756a74a1afa8a1a1d6ea29d74be667038ae7b9b06764296a0f3768b567a13d9cbc473185113f10e3cdd0ed3c7bd68bd29427773b28ad2b91674f78b8e528 +SHA512 (NVIDIA-Linux-x86_64-545.29.06.run) = b80e1643471c48477479a48d2e8a9c4a241874d6207ddeaccdeedd3f9f1121d79be90be07d37df094fa6f7cc5806857bf2368337ba40cb5cfe6d04c117c5c45d +SHA512 (NVIDIA-Linux-aarch64-545.29.06.run) = 10c92fd02b1f452f79bb9431197e701e103ca65cc7386cc8e8a05ae5af94f0173310997690fe1809dfb19193f108bd482485942ca11342ec35650bd74947e8c5 diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index 14b707d..103b157 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: 545.29.02 -Release: 4%{?dist} +Version: 545.29.06 +Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -611,6 +611,9 @@ fi ||: %endif %changelog +* Wed Nov 22 2023 Leigh Scott - 3:545.29.06-1 +- Update to 545.29.06 release + * Fri Nov 03 2023 Leigh Scott - 3:545.29.02-4 - Readd nvidia power management udev rules