summaryrefslogtreecommitdiff
path: root/nvidia
diff options
context:
space:
mode:
authorseth <[email protected]>2024-01-19 22:17:31 -0500
committerseth <[email protected]>2024-01-20 05:56:19 -0500
commit290a84e86b2f2c3cb1403f94eff416e74d536abd (patch)
treeea3a3138e6949905c2a4e60e8e5905d3f6412867 /nvidia
initial commit
Diffstat (limited to 'nvidia')
-rw-r--r--nvidia/Containerfile13
-rw-r--r--nvidia/install.sh16
2 files changed, 29 insertions, 0 deletions
diff --git a/nvidia/Containerfile b/nvidia/Containerfile
new file mode 100644
index 0000000..7396539
--- /dev/null
+++ b/nvidia/Containerfile
@@ -0,0 +1,13 @@
+ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-getchblue}"
+ARG BASE_IMAGE="ghcr.io/getchoo/${IMAGE_FLAVOR}"
+ARG FEDORA_VERSION="${FEDORA_VERSION:-39}"
+
+FROM ${BASE_IMAGE}:${FEDORA_VERSION} as nvidia
+ARG FEDORA_VERSION="${FEDORA_VERSION:-39}"
+ARG NVIDIA_VERSION="${NVIDIA_VERSION:-535}"
+
+COPY install.sh /tmp/install.sh
+COPY --from ghcr.io/getchoo/akmods:${FEDORA_VERSION}-${NVIDIA_VERSION} /rpms /tmp/akmods
+
+RUN /tmp/install.sh ${NVIDIA_VERSION} && rpm-ostree cleanup -m && \
+ rm -rf /tmp/* /var/* && ostree container commit
diff --git a/nvidia/install.sh b/nvidia/install.sh
new file mode 100644
index 0000000..f3c577f
--- /dev/null
+++ b/nvidia/install.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+set -euxo pipefail
+
+NVIDIA_VERSION="${1:-}"
+
+if [ -z "${NVIDIA_VERSION}" ]; then
+ echo "I need a major version of a NVIDIA driver! (i.e., 535)"
+ exit 1
+fi
+
+rpm-ostree install /tmp/akmods/akmods-cert/getchoo-akmods-cert*.rpm
+
+rpm-ostree install \
+ xorg-x11-drv-nvidia-{cuda,power}-"$NVIDIA_VERSION"* \
+ nvidia-vaapi-driver \
+ /tmp/akmods/kmods/kmod-nvidia-*.rpm