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/80-nvidia-pm.rules similarity index 51% rename from 60-nvidia.rules rename to 80-nvidia-pm.rules index 63eb682..ba3cefe 100644 --- a/60-nvidia.rules +++ b/80-nvidia-pm.rules @@ -1,8 +1,3 @@ -# 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" diff --git a/sources b/sources index d6623bf..ed53c68 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (NVIDIA-Linux-x86_64-535.129.03.run) = 3d7142658fe836e1debf7786857bdb293490ef33351e9b7d39face245fe8596b0f46052b86fae08350fcda1e2a9fd68d7309b94e107d1b016bd529d8fc37e31f -SHA512 (NVIDIA-Linux-aarch64-535.129.03.run) = 706de7e53b81f909d8bc6a12a39c594754a164c49f5d23c7939dc3abcfc04f5d5b12b7d65762ae574582149a098f06ee5fe95be4f8ad1056a3307a6ce93f3c00 +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 0844486..103b157 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 nvidia-drm.modeset=1 -%else -%global _dracutopts nouveau.modeset=0 rd.driver.blacklist=nouveau -%global _modprobedir %{_prefix}/lib/modprobe.d -%endif +%global _dracutopts rd.driver.blacklist=nouveau modprobe.blacklist=nouveau %if 0%{?rhel} %global _systemd_util_dir %{_prefix}/lib/systemd %endif @@ -26,8 +21,8 @@ Name: xorg-x11-drv-nvidia Epoch: 3 -Version: 535.129.03 -Release: 2%{?dist} +Version: 545.29.06 +Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards License: Redistributable, no modification permitted @@ -36,10 +31,9 @@ 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 +Source7: 80-nvidia-pm.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 @@ -58,7 +52,7 @@ Requires(postun): ldconfig Requires(post): grubby Requires: which Requires: nvidia-settings%{?_isa} = %{?epoch}:%{version} -%if 0%{?fedora} || 0%{?rhel} > 7 +Requires: nvidia-modprobe%{?_isa} = %{?epoch}:%{version} BuildRequires: systemd-rpm-macros # AppStream metadata generation BuildRequires: python3 @@ -72,10 +66,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} @@ -88,7 +78,7 @@ Conflicts: xorg-x11-drv-nvidia-340xx Conflicts: xorg-x11-drv-nvidia-390xx %global __provides_exclude ^(lib.*GL.*\\.so.*)$ -%global __requires_exclude ^libnvidia-vulkan-producer.so|^libglxserver_nvidia.so|^(lib.*GL.*\\.so.*)$ +%global __requires_exclude ^libglxserver_nvidia.so|^(lib.*GL.*\\.so.*)$ %description @@ -124,15 +114,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 @@ -171,7 +156,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 @@ -184,9 +168,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} @@ -246,6 +227,7 @@ cp -a \ libnvidia-glcore.so.%{version} \ libnvidia-glsi.so.%{version} \ libnvidia-glvkspirv.so.%{version} \ + libnvidia-gpucomp.so.%{version} \ libnvidia-ml.so.%{version} \ libnvidia-nvvm.so.%{version} \ libnvidia-opticalflow.so.%{version} \ @@ -266,7 +248,6 @@ cp -a \ %endif %endif libnvidia-rtcore.so.%{version} \ - libnvidia-vulkan-producer.so.%{version} \ libnvoptix.so.%{version} \ %endif %{buildroot}%{_libdir}/ @@ -301,7 +282,6 @@ popd 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 @@ -320,13 +300,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} @@ -395,19 +368,21 @@ 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 -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} +# 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/ @@ -437,7 +412,7 @@ if [ "$1" -eq "1" ]; then sed -i -e 's/GRUB_CMDLINE_LINUX="/GRUB_CMDLINE_LINUX="%{_dracutopts} /g' /etc/default/grub fi || : -%triggerun -- xorg-x11-drv-nvidia < 3:535.98-2 +%triggerun -- xorg-x11-drv-nvidia < 3:545.23.06-1 if [ -f %{_sysconfdir}/default/grub ] ; then sed -i -e '/GRUB_GFXPAYLOAD_LINUX=text/d' %{_sysconfdir}/default/grub . %{_sysconfdir}/default/grub @@ -480,12 +455,10 @@ fi ||: %ghost %{_sysconfdir}/X11/xorg.conf.d/nvidia.conf %{_datadir}/X11/xorg.conf.d/nvidia.conf %{_udevrulesdir}/10-nvidia.rules -%{_udevrulesdir}/60-nvidia.rules +%{_udevrulesdir}/80-nvidia-pm.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 @@ -521,6 +494,7 @@ fi ||: %{_libdir}/libnvidia-glcore.so.%{version} %{_libdir}/libnvidia-glsi.so.%{version} %{_libdir}/libnvidia-glvkspirv.so.%{version} +%{_libdir}/libnvidia-gpucomp.so.%{version} %{_libdir}/libnvidia-tls.so.%{version} %{_libdir}/gbm/ %{_libdir}/vdpau/libvdpau_nvidia.so.1 @@ -545,10 +519,6 @@ fi ||: %{_libdir}/libnvidia-ngx.so.1 %{_libdir}/libnvidia-ngx.so.%{version} %{_libdir}/libnvidia-rtcore.so.%{version} -%{_libdir}/libnvidia-vulkan-producer.so.%{version} -%{_libdir}/libnvidia-vulkan-producer.so -# Fix f38 screw up -%exclude %{_libdir}/libnvidia-vulkan-producer.so.535 %{_libdir}/libnvoptix.so.1 %{_libdir}/libnvoptix.so.%{version} %ifarch x86_64 @@ -596,7 +566,6 @@ fi ||: %{_libdir}/libcudadebugger.so.1 %{_libdir}/libcudadebugger.so.%{version} %{_modprobedir}/nvidia-uvm.conf -%{_udevrulesdir}/60-nvidia-uvm.rules %endif %files devel @@ -642,11 +611,24 @@ fi ||: %endif %changelog -* Wed Nov 01 2023 Leigh Scott - 3:535.129.03-2 -- rebuilt +* 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 + +* 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) + +* Tue Oct 31 2023 Leigh Scott - 3:545.29.02-1 +- Update to 545.29.02 release -* Tue Oct 31 2023 Leigh Scott - 3:535.129.03-1 -- Update to 535.129.03 +* Tue Oct 17 2023 Leigh Scott - 3:545.23.06-1 +- Update to 545.23.06 beta +- Remove nvidia-drm.modeset from boot options * Fri Sep 22 2023 Leigh Scott - 3:535.113.01-1 - Update to 535.113.01