From f3a1b7bb68df7315f845bdafd6bb734b44335125 Mon Sep 17 00:00:00 2001 From: Raboneko <119771935+raboneko@users.noreply.github.com> Date: Wed, 3 Sep 2025 23:14:49 -0700 Subject: [PATCH] feat: Change all NVIDIA driver specs to weekly to offset NVIDIA server issues (#6304) (#6307) * feat: Change all NVIDIA driver specs to weekly to offset NVIDIA server issues * fix: Aaaaa * fix: AaaaaAAAAAAAA * fix: AaaaaAAAAAAAAAAAAAAAAAAAA * Delete anda/system/nvidia/nvidia-kmod-common/kernel.conf * fix: AAAAAAAAAAAAAAAAAAAAAAAA * fix: I'm losing it I tell ya --------- (cherry picked from commit 7e6c617bd1b98cc588b75738c489fa2e82d86b09) Signed-off-by: Gilver Co-authored-by: Gilver --- .../nvidia/compat-nvidia-repo/anda.hcl | 1 + .../compat-nvidia-repo.spec | 0 .../nvidia/compat-nvidia-repo/update.rhai | 0 .../system/nvidia/dkms-nvidia/closed/anda.hcl | 1 + .../nvidia/libva-nvidia-driver/anda.hcl | 2 +- .../libva-nvidia-driver.spec | 31 +-- anda/system/nvidia/nvidia-driver/anda.hcl | 3 +- .../nvidia/nvidia-kmod-common/99-nvidia.conf | 3 + .../system/nvidia/nvidia-kmod-common/anda.hcl | 3 +- .../nvidia-kmod-common/nvidia-boot-update | 207 ++++++++++++++++++ .../nvidia-kmod-common.spec | 38 ++-- .../nvidia-kmod-common/nvidia-modeset.conf | 2 +- .../nvidia/nvidia-kmod-common/nvidia.conf | 8 +- .../system/nvidia/nvidia-kmod/closed/anda.hcl | 3 +- anda/system/nvidia/nvidia-kmod/open/anda.hcl | 1 + anda/system/nvidia/nvidia-modprobe/anda.hcl | 3 +- .../nvidia/nvidia-persistenced/anda.hcl | 3 +- anda/system/nvidia/nvidia-settings/anda.hcl | 3 +- anda/system/nvidia/nvidia-xconfig/anda.hcl | 3 +- 19 files changed, 257 insertions(+), 58 deletions(-) rename anda/{lib => system}/nvidia/compat-nvidia-repo/anda.hcl (89%) rename anda/{lib => system}/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec (100%) rename anda/{lib => system}/nvidia/compat-nvidia-repo/update.rhai (100%) create mode 100644 anda/system/nvidia/nvidia-kmod-common/99-nvidia.conf create mode 100755 anda/system/nvidia/nvidia-kmod-common/nvidia-boot-update diff --git a/anda/lib/nvidia/compat-nvidia-repo/anda.hcl b/anda/system/nvidia/compat-nvidia-repo/anda.hcl similarity index 89% rename from anda/lib/nvidia/compat-nvidia-repo/anda.hcl rename to anda/system/nvidia/compat-nvidia-repo/anda.hcl index 0cfec17863..7bfd3b4224 100644 --- a/anda/lib/nvidia/compat-nvidia-repo/anda.hcl +++ b/anda/system/nvidia/compat-nvidia-repo/anda.hcl @@ -5,5 +5,6 @@ project pkg { } labels { subrepo = "nvidia" + weekly = 1 } } diff --git a/anda/lib/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec b/anda/system/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec similarity index 100% rename from anda/lib/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec rename to anda/system/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec diff --git a/anda/lib/nvidia/compat-nvidia-repo/update.rhai b/anda/system/nvidia/compat-nvidia-repo/update.rhai similarity index 100% rename from anda/lib/nvidia/compat-nvidia-repo/update.rhai rename to anda/system/nvidia/compat-nvidia-repo/update.rhai diff --git a/anda/system/nvidia/dkms-nvidia/closed/anda.hcl b/anda/system/nvidia/dkms-nvidia/closed/anda.hcl index 1fc99a9f40..d8d0a41a19 100644 --- a/anda/system/nvidia/dkms-nvidia/closed/anda.hcl +++ b/anda/system/nvidia/dkms-nvidia/closed/anda.hcl @@ -4,5 +4,6 @@ project pkg { } labels { subrepo = "nvidia" + weekly = 1 } } diff --git a/anda/system/nvidia/libva-nvidia-driver/anda.hcl b/anda/system/nvidia/libva-nvidia-driver/anda.hcl index 007aa44ec7..97464a37bf 100644 --- a/anda/system/nvidia/libva-nvidia-driver/anda.hcl +++ b/anda/system/nvidia/libva-nvidia-driver/anda.hcl @@ -6,6 +6,6 @@ project "pkg" { labels = { subrepo = "nvidia" mock = 1 - nightly = 1 + weekly = 1 } } diff --git a/anda/system/nvidia/libva-nvidia-driver/libva-nvidia-driver.spec b/anda/system/nvidia/libva-nvidia-driver/libva-nvidia-driver.spec index 9929640c2c..13f8521662 100644 --- a/anda/system/nvidia/libva-nvidia-driver/libva-nvidia-driver.spec +++ b/anda/system/nvidia/libva-nvidia-driver/libva-nvidia-driver.spec @@ -41,7 +41,7 @@ Provides: nvdec-vaapi-driver = %{version}-%{release} Requires: mesa-filesystem %if 0%{?fedora} %ifarch x86_64 -Requires: %{name}(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: (%{name}(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) %endif %endif @@ -73,31 +73,4 @@ decode of web content, and may not operate correctly in other applications. %{_libdir}/dri/nvidia_drv_video.so %changelog -* Sun Nov 10 2024 Simone Caronni - 1:0.0.13^20241108git259b7b7-1 -- Update to latest snapshot. -- Drop no longer needed patch. - -* Fri Oct 04 2024 Simone Caronni - 1:0.0.12^20240909git68efa33-2 -- Update to latest snapshot. -- Add patch for 560/Wayland. - -* Mon May 06 2024 Simone Caronni - 1:0.0.12-1 -- Update to 0.0.12. -- Trim changelog. -- Clean up SPEC file, allow it to build for EL8. - -* Wed Nov 08 2023 Simone Caronni - 0.0.11-1 -- Update to 0.0.11. -- Rename to libva-nvidia-driver, as in main Fedora repository. - -* Wed Jun 28 2023 Simone Caronni - 0.0.10-1 -- Update to 0.0.10. - -* Mon Mar 20 2023 Simone Caronni - 0.0.9-1.20230319gitc0a7f54 -- Update to latest snapshot. - -* Mon Feb 06 2023 Simone Caronni - 0.0.8-2.20230205git17c62b8 -- Add latest fixes. - -* Sat Feb 04 2023 Simone Caronni - 0.0.8-1.20230131git2bb71a5 -- Rebase to latest snapshot. +%autochangelog diff --git a/anda/system/nvidia/nvidia-driver/anda.hcl b/anda/system/nvidia/nvidia-driver/anda.hcl index 91ae1308c7..4d1022e455 100644 --- a/anda/system/nvidia/nvidia-driver/anda.hcl +++ b/anda/system/nvidia/nvidia-driver/anda.hcl @@ -9,5 +9,6 @@ project "pkg" { labels = { subrepo = "nvidia" mock = 1 + weekly = 1 } -} \ No newline at end of file +} diff --git a/anda/system/nvidia/nvidia-kmod-common/99-nvidia.conf b/anda/system/nvidia/nvidia-kmod-common/99-nvidia.conf new file mode 100644 index 0000000000..ddff6a6500 --- /dev/null +++ b/anda/system/nvidia/nvidia-kmod-common/99-nvidia.conf @@ -0,0 +1,3 @@ +# Omit the nvidia driver from the ramdisk, to avoid needing to regenerate +# the ramdisk on updates. +omit_drivers+=" nvidia nvidia_drm nvidia_modeset nvidia_peermem nvidia_uvm " diff --git a/anda/system/nvidia/nvidia-kmod-common/anda.hcl b/anda/system/nvidia/nvidia-kmod-common/anda.hcl index 915b62fb8f..d0bd9685e5 100644 --- a/anda/system/nvidia/nvidia-kmod-common/anda.hcl +++ b/anda/system/nvidia/nvidia-kmod-common/anda.hcl @@ -5,5 +5,6 @@ project "pkg" { arches = ["x86_64"] labels = { subrepo = "nvidia" + weekly = 1 } -} \ No newline at end of file +} diff --git a/anda/system/nvidia/nvidia-kmod-common/nvidia-boot-update b/anda/system/nvidia/nvidia-kmod-common/nvidia-boot-update new file mode 100755 index 0000000000..142d7ca48a --- /dev/null +++ b/anda/system/nvidia/nvidia-kmod-common/nvidia-boot-update @@ -0,0 +1,207 @@ +#!/usr/bin/sh + + +# EL8 (grub2 with BootLoaderSpec patches) +# +# kernel options: grub.cfg + grubenv + /etc/kernel/cmdline +# kernel options in /boot/loader/entries/*.conf use kernelopts from /boot/grub2/grubenv +# grubby +# - updates kernelopts in /boot/grub2/grubenv +# - does not update /etc/default/grub +# - does not update kernelopts in grub.cfg +# grub.cfg: +# - UEFI: /etc/grub2-efi.cfg -> /boot/efi/EFI//grub.cfg +# - BIOS: /etc/grub2.cfg -> /boot/grub2/grub.cfg + + +# EL9 + EL10 (grub2 with BootLoaderSpec patches) +# +# kernel options: grub.cfg + /etc/kernel/cmdline + /boot/loader/entries/*.conf +# manually update: /etc/default/grub + /etc/kernel/cmdline +# /etc/kernel/cmdline is not really used +# grub2-mkconfig does not update /boot/loader/entries/*.conf +# grub.cfg: +# - UEFI: /etc/grub2-efi.cfg -> /boot/efi/EFI//grub.cfg +# - BIOS: /etc/grub2.cfg -> /boot/grub2/grub.cfg + + +# Fedora (grub2 with BootLoaderSpec patches) +# +# kernel options: grub.cfg + /etc/kernel/cmdline + /boot/loader/entries/*.conf +# manually update: /etc/default/grub +# grub2-mkconfig: +# - updates /boot/loader/entries/*.conf +# - updates /etc/kernel/cmdline +# grub.cfg: +# - UEFI/BIOS: /boot/grub2/grub.cfg + + +# Fedora (systemd-boot) +# +# kernel options: grub.cfg + /boot/efi/loader/entries/*.conf (UEFI only) +# grubby as an updateloaderentries alias: +# - updates all entries in /boot/efi/loader/entries/*.conf +# - does not work with multiple parameters at once +# - does not update /etc/kernel/cmdline + + +# Complete use case coverage, regardless of boot loaders: +# +# - update options in /etc/default/grub +# - regenerate grub.cfg/grubenv +# - update options in /boot/{efi/}loader/entries/*.conf entries +# - update options in /etc/kernel/cmdline +# - cover both UEFI and BIOS case + +CMDLINE_ARGS_NVIDIA="rd.driver.blacklist=nouveau rd.driver.blacklist=nova-core" +CMDLINE_ARGS_ALWAYS_REMOVE="nomodeset gfxpayload=vga=normal nouveau.modeset=0 nvidia-drm.modeset=1 nvidia-drm.fbdev=1 modprobe.blacklist=nouveau initcall_blacklist=simpledrm_platform_driver_init" + +print_usage() { +cat <> /etc/default/grub + else + for param in $CMDLINE_ARGS_NVIDIA; do + echo ${GRUB_CMDLINE_LINUX} | grep -q $param + [ $? -eq 1 ] && GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX} ${param}" + done + for param in $CMDLINE_ARGS_ALWAYS_REMOVE; do + echo ${GRUB_CMDLINE_LINUX} | grep -q $param + [ $? -eq 0 ] && GRUB_CMDLINE_LINUX="$(echo ${GRUB_CMDLINE_LINUX} | sed -e "s/ $param//g")" + done + sed -i -e "s|^GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX=\"${GRUB_CMDLINE_LINUX}\"|g" /etc/default/grub + fi + + grub2-mkconfig -o $GRUB_CFG &>/dev/null + + fi + + # Edit BootLoaderSpec entries + if [ -v BLS_ENTRIES ]; then + + for config_file in $BLS_ENTRIES/*.conf; do + for param in $CMDLINE_ARGS_NVIDIA; do + grep -q $param $config_file + [ $? -eq 1 ] && sed -i -e "s|^options.*|& $param|" $config_file + done + for param in $CMDLINE_ARGS_ALWAYS_REMOVE; do + grep -q $param $config_file + [ $? -eq 0 ] && sed -i -e "s| $param||" $config_file + done + done + + fi + + # Edit /etc/kernel/cmdline + for param in $CMDLINE_ARGS_NVIDIA; do + grep -q $param /etc/kernel/cmdline + [ $? -eq 1 ] && sed -i -e "s|^.*|& $param|" /etc/kernel/cmdline + done + for param in $CMDLINE_ARGS_ALWAYS_REMOVE; do + grep -q $param /etc/kernel/cmdline + [ $? -eq 0 ] && sed -i -e "s| $param||" /etc/kernel/cmdline + done + +} + +preun() { + + # Edit GRUB configuration file + if [ -v GRUB_CFG ]; then + + for param in $CMDLINE_ARGS_NVIDIA; do + echo ${GRUB_CMDLINE_LINUX} | grep -q $param + [ $? -eq 0 ] && GRUB_CMDLINE_LINUX="$(echo ${GRUB_CMDLINE_LINUX} | sed -e "s/ $param//g")" + done + sed -i -e "s|^GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX=\"${GRUB_CMDLINE_LINUX}\"|g" /etc/default/grub + + grub2-mkconfig -o $GRUB_CFG &>/dev/null + + fi + + # Edit BootLoaderSpec entries + if [ -v BLS_ENTRIES ]; then + + for config_file in $BLS_ENTRIES/*.conf; do + for param in $CMDLINE_ARGS_NVIDIA; do + grep -q $param $config_file + [ $? -eq 0 ] && sed -i -e "s| $param||" $config_file + done + done + + fi + + # Edit /etc/kernel/cmdline + for param in $CMDLINE_ARGS_NVIDIA; do + grep -q $param /etc/kernel/cmdline + [ $? -eq 0 ] && sed -i -e "s| $param||" /etc/kernel/cmdline + done + +} + +case "$1" in + post) + check + post + exit 0 + ;; + preun) + check + preun + exit 0 + ;; + *) + print_usage + exit 0 + ;; +esac diff --git a/anda/system/nvidia/nvidia-kmod-common/nvidia-kmod-common.spec b/anda/system/nvidia/nvidia-kmod-common/nvidia-kmod-common.spec index 03294421c2..f4587bef10 100644 --- a/anda/system/nvidia/nvidia-kmod-common/nvidia-kmod-common.spec +++ b/anda/system/nvidia/nvidia-kmod-common/nvidia-kmod-common.spec @@ -1,5 +1,3 @@ -%global _dracutopts_in rd.driver.blacklist=nouveau modprobe.blacklist=nouveau -%global _dracutopts_rm nomodeset gfxpayload=vga=normal nouveau.modeset=0 nvidia-drm.modeset=1 initcall_blacklist=simpledrm_platform_driver_init %global _dracut_conf_d %{_prefix}/lib/dracut/dracut.conf.d # gsp_*.bin: ELF 64-bit LSB executable, UCB RISC-V @@ -8,7 +6,7 @@ Name: nvidia-kmod-common Version: 580.82.07 -Release: 1%?dist +Release: 2%?dist Summary: Common file for NVIDIA's proprietary driver kernel modules Epoch: 3 License: NVIDIA License @@ -17,12 +15,12 @@ URL: http://www.nvidia.com/object/unix.html BuildArch: noarch Source0: http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run -Source18: MODULE_VARIANT.txt -Source19: nvidia-modeset.conf -Source20: nvidia.conf -Source21: 60-nvidia.rules -Source22: nvidia-fallback.service -Source23: 10-nvidia-fallback.rules +Source16: MODULE_VARIANT.txt +Source17: nvidia-boot-update +Source18: nvidia-modeset.conf +Source19: nvidia.conf +Source20: 60-nvidia.rules +Source21: 99-nvidia.conf # UDev rule location (_udevrulesdir) and systemd macros: BuildRequires: systemd-rpm-macros @@ -39,28 +37,37 @@ Obsoletes: cuda-nvidia-kmod-common < %{?epoch:%{epoch}:}%{version} %description This package provides the common files required by all NVIDIA kernel module package variants. - + %prep sh %{SOURCE0} -x --target nvidia-kmod-%{version}-x86_64 %setup -T -D -n nvidia-kmod-%{version}-x86_64 %install +# Script for post/preun tasks +install -p -m 0755 -D %{SOURCE17} %{buildroot}%{_bindir}/nvidia-boot-update + # Nvidia modesetting support: -install -p -m 0644 -D %{SOURCE19} %{buildroot}%{_sysconfdir}/modprobe.d/nvidia-modeset.conf +install -p -m 0644 -D %{SOURCE18} %{buildroot}%{_sysconfdir}/modprobe.d/nvidia-modeset.conf # Load nvidia-uvm, enable complete power management: -install -p -m 0644 -D %{SOURCE20} %{buildroot}%{_modprobedir}/nvidia.conf +install -p -m 0644 -D %{SOURCE19} %{buildroot}%{_modprobedir}/nvidia.conf + +# Avoid Nvidia modules getting in the initrd: +install -p -m 0644 -D %{SOURCE21} %{buildroot}%{_dracut_conf_d}/99-nvidia.conf # UDev rules # https://github.com/NVIDIA/nvidia-modprobe/blob/master/modprobe-utils/nvidia-modprobe-utils.h#L33-L46 # https://github.com/negativo17/nvidia-kmod-common/issues/11 # https://github.com/negativo17/nvidia-driver/issues/27 -install -p -m 644 -D %{SOURCE21} %{buildroot}%{_udevrulesdir}/60-nvidia.rules +install -p -m 644 -D %{SOURCE20} %{buildroot}%{_udevrulesdir}/60-nvidia.rules # Firmware files: mkdir -p %{buildroot}%{_prefix}/lib/firmware/nvidia/%{version}/ install -p -m 644 firmware/* %{buildroot}%{_prefix}/lib/firmware/nvidia/%{version} +%post +%{_bindir}/nvidia-boot-update post + # Old kernel.conf rewritten as a doc file. cp %{SOURCE18} . @@ -81,15 +88,14 @@ fi ||: dracut --regenerate-all --force %files -%doc MODULE_VARIANT.txt +%{_dracut_conf_d}/99-nvidia.conf %{_modprobedir}/nvidia.conf %dir %{_prefix}/lib/firmware %dir %{_prefix}/lib/firmware/nvidia %{_prefix}/lib/firmware/nvidia/%{version} +%{_bindir}/nvidia-boot-update %config(noreplace) %{_sysconfdir}/modprobe.d/nvidia-modeset.conf -%dnl %{_udevrulesdir}/10-nvidia-fallback.rules %{_udevrulesdir}/60-nvidia.rules -%dnl %{_unitdir}/nvidia-fallback.service %changelog %autochangelog diff --git a/anda/system/nvidia/nvidia-kmod-common/nvidia-modeset.conf b/anda/system/nvidia/nvidia-kmod-common/nvidia-modeset.conf index c4e6e744e5..9ac5dcd4b6 100644 --- a/anda/system/nvidia/nvidia-kmod-common/nvidia-modeset.conf +++ b/anda/system/nvidia/nvidia-kmod-common/nvidia-modeset.conf @@ -1,4 +1,4 @@ # Nvidia modesetting support. Set to 0 or comment to disable kernel modesetting # support. This must be disabled in case of SLI Mosaic. -options nvidia-drm modeset=1 fbdev=1 +options nvidia-drm modeset=1 diff --git a/anda/system/nvidia/nvidia-kmod-common/nvidia.conf b/anda/system/nvidia/nvidia-kmod-common/nvidia.conf index 76b347f6e3..04dcf5bd0b 100644 --- a/anda/system/nvidia/nvidia-kmod-common/nvidia.conf +++ b/anda/system/nvidia/nvidia-kmod-common/nvidia.conf @@ -5,17 +5,17 @@ blacklist nouveau blacklist nova-core -# Make a soft dependency for nvidia-uvm as adding the module loading to -# /usr/lib/modules-load.d/nvidia-uvm.conf for systemd consumption, makes the +# Add soft dependencies for extra modules as adding the module loading to +# /usr/lib/modules-load.d/*.conf for systemd consumption, makes the # configuration file to be added to the initrd but not the module, throwing an # error on plymouth about not being able to find the module. # Ref: /usr/lib/dracut/modules.d/00systemd/module-setup.sh -# Even adding the module is not the correct thing, as we don't want it to be +# Even adding the modules is not the correct thing, as we don't want it to be # included in the initrd, so use this configuration file to specify the # dependency. -softdep nvidia post: nvidia-uvm +softdep nvidia post: nvidia-uvm nvidia-drm # Enable complete power management. From: # file:///usr/share/doc/nvidia-driver/html/powermanagement.html diff --git a/anda/system/nvidia/nvidia-kmod/closed/anda.hcl b/anda/system/nvidia/nvidia-kmod/closed/anda.hcl index b5ccca3615..7bc1d131cc 100644 --- a/anda/system/nvidia/nvidia-kmod/closed/anda.hcl +++ b/anda/system/nvidia/nvidia-kmod/closed/anda.hcl @@ -5,5 +5,6 @@ project "pkg" { labels { mock = 1 subrepo = "nvidia" + weekly =1 } -} \ No newline at end of file +} diff --git a/anda/system/nvidia/nvidia-kmod/open/anda.hcl b/anda/system/nvidia/nvidia-kmod/open/anda.hcl index 2caf4b7e53..8ab260311c 100644 --- a/anda/system/nvidia/nvidia-kmod/open/anda.hcl +++ b/anda/system/nvidia/nvidia-kmod/open/anda.hcl @@ -5,5 +5,6 @@ project "pkg" { labels { mock = 1 subrepo = "nvidia" + weekly = 1 } } diff --git a/anda/system/nvidia/nvidia-modprobe/anda.hcl b/anda/system/nvidia/nvidia-modprobe/anda.hcl index 12fa43ca14..29295cb5cd 100644 --- a/anda/system/nvidia/nvidia-modprobe/anda.hcl +++ b/anda/system/nvidia/nvidia-modprobe/anda.hcl @@ -4,5 +4,6 @@ project "pkg" { } labels = { subrepo = "nvidia" + weekly = 1 } -} \ No newline at end of file +} diff --git a/anda/system/nvidia/nvidia-persistenced/anda.hcl b/anda/system/nvidia/nvidia-persistenced/anda.hcl index 94fb3ebc91..34e7a22e91 100644 --- a/anda/system/nvidia/nvidia-persistenced/anda.hcl +++ b/anda/system/nvidia/nvidia-persistenced/anda.hcl @@ -4,5 +4,6 @@ project "pkg" { } labels = { subrepo = "nvidia" + weekly = 1 } -} \ No newline at end of file +} diff --git a/anda/system/nvidia/nvidia-settings/anda.hcl b/anda/system/nvidia/nvidia-settings/anda.hcl index bfec503ed7..e042848129 100644 --- a/anda/system/nvidia/nvidia-settings/anda.hcl +++ b/anda/system/nvidia/nvidia-settings/anda.hcl @@ -4,5 +4,6 @@ project "pkg" { } labels = { subrepo = "nvidia" + weekly = 1 } -} \ No newline at end of file +} diff --git a/anda/system/nvidia/nvidia-xconfig/anda.hcl b/anda/system/nvidia/nvidia-xconfig/anda.hcl index 0008900a30..51c74d4fb7 100644 --- a/anda/system/nvidia/nvidia-xconfig/anda.hcl +++ b/anda/system/nvidia/nvidia-xconfig/anda.hcl @@ -4,5 +4,6 @@ project "pkg" { } labels = { subrepo = "nvidia" + weekly = 1 } -} \ No newline at end of file +}