From 3d0d0ef382bd1740c6fdc3d69d3cee6d80568958 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 17:17:33 -0400 Subject: [PATCH] Added nvidia drivers --- files/scripts/nvidia/installtoolkitpolicy.sh | 6 ++++++ files/scripts/nvidia/removeunusedrepos.sh | 10 ++++++++++ files/scripts/nvidia/setdrmvariables.sh | 16 ++++++++++++++++ files/scripts/nvidia/setearlyloading.sh | 7 +++++++ recipes/components/nvidia-module.yml | 15 +++++++++++++++ 5 files changed, 54 insertions(+) create mode 100644 files/scripts/nvidia/installtoolkitpolicy.sh create mode 100644 files/scripts/nvidia/removeunusedrepos.sh create mode 100644 files/scripts/nvidia/setdrmvariables.sh create mode 100644 files/scripts/nvidia/setearlyloading.sh create mode 100644 recipes/components/nvidia-module.yml diff --git a/files/scripts/nvidia/installtoolkitpolicy.sh b/files/scripts/nvidia/installtoolkitpolicy.sh new file mode 100644 index 0000000..c55ff44 --- /dev/null +++ b/files/scripts/nvidia/installtoolkitpolicy.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +# Tell build process to exit if there are any errors. +set -oue pipefail + +semodule --verbose --install /usr/share/selinux/packages/nvidia-container.pp \ No newline at end of file diff --git a/files/scripts/nvidia/removeunusedrepos.sh b/files/scripts/nvidia/removeunusedrepos.sh new file mode 100644 index 0000000..7693d6c --- /dev/null +++ b/files/scripts/nvidia/removeunusedrepos.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Tell build process to exit if there are any errors. +set -oue pipefail + +rm -f /etc/yum.repos.d/negativo17-fedora-nvidia.repo +rm -f /etc/yum.repos.d/negativo17-fedora-multimedia.repo +rm -f /etc/yum.repos.d/eyecantcu-supergfxctl.repo +rm -f /etc/yum.repos.d/_copr_ublue-os-akmods.repo +rm -f /etc/yum.repos.d/nvidia-container-toolkit.repo \ No newline at end of file diff --git a/files/scripts/nvidia/setdrmvariables.sh b/files/scripts/nvidia/setdrmvariables.sh new file mode 100644 index 0000000..617d940 --- /dev/null +++ b/files/scripts/nvidia/setdrmvariables.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +# Tell build process to exit if there are any errors. +set -oue pipefail + + +echo ' + +# 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 + +' > /usr/lib/modprobe.d/nvidia-modeset.conf + +cp /usr/lib/modprobe.d/nvidia-modeset.conf /etc/modprobe.d/nvidia-modeset.conf \ No newline at end of file diff --git a/files/scripts/nvidia/setearlyloading.sh b/files/scripts/nvidia/setearlyloading.sh new file mode 100644 index 0000000..19ec951 --- /dev/null +++ b/files/scripts/nvidia/setearlyloading.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +# Tell build process to exit if there are any errors. +set -oue pipefail + +sed -i 's@omit_drivers@force_drivers@g' /usr/lib/dracut/dracut.conf.d/99-nvidia.conf +sed -i 's@ nvidia @ i915 amdgpu nvidia @g' /usr/lib/dracut/dracut.conf.d/99-nvidia.conf diff --git a/recipes/components/nvidia-module.yml b/recipes/components/nvidia-module.yml new file mode 100644 index 0000000..0ba6275 --- /dev/null +++ b/recipes/components/nvidia-module.yml @@ -0,0 +1,15 @@ +modules: + - type: containerfile + snippets: + - COPY --from=ghcr.io/ublue-os/akmods-nvidia:main-42 /rpms/ /tmp/rpms + - RUN find /tmp/rpms + - RUN rpm-ostree install /tmp/rpms/ublue-os/ublue-os-nvidia*.rpm + - RUN sed -i '0,/enabled=0/{s/enabled=0/enabled=1/}' /etc/yum.repos.d/nvidia-container-toolkit.repo + - RUN sed -i '0,/enabled=0/{s/enabled=0/enabled=1\npriority=90/}' /etc/yum.repos.d/negativo17-fedora-nvidia.repo + - RUN rpm-ostree install /tmp/rpms/kmods/kmod-nvidia*.rpm libnvidia-fbc libva-nvidia-driver nvidia-driver nvidia-driver-cuda nvidia-modprobe nvidia-persistenced nvidia-settings nvidia-container-toolkit + - type: script + scripts: + - nvidia/installtoolkitpolicy.sh + - nvidia/removeunusedrepos.sh + - nvidia/setearlyloading.sh + - nvidia/setdrmvariables.sh