Install current NVIDIA driver from official repository

This commit is contained in:
Mikei386 committed 2026-08-21 13:12:37 +02:00
1 parent 4089bb46e6
commit 057920b941
3 files changed
+37 -5

No files matched your search

+4
View File
@@ -9,6 +9,10 @@ MODEL_DIR=/srv/mike-ai/models
# Installing a new NVIDIA driver can require one reboot. In that case this # Installing a new NVIDIA driver can require one reboot. In that case this
# installer exits with code 20; rerun the same command after reboot. # installer exits with code 20; rerun the same command after reboot.
INSTALL_NVIDIA_DRIVER=true INSTALL_NVIDIA_DRIVER=true
# Optional: auf einen im offiziellen NVIDIA-Repository vorhandenen Hauptzweig
# festlegen (z. B. 610). Leer lassen, um dem aktuellen stabilen Zweig zu folgen.
NVIDIA_DRIVER_BRANCH=
NVIDIA_MIN_DRIVER_MAJOR=570
TEXT_GPU_DEVICES=0 TEXT_GPU_DEVICES=0
SECONDARY_GPU_DEVICES=1 SECONDARY_GPU_DEVICES=1
+3 -1
View File
@@ -1,7 +1,9 @@
# Installation auf einem frischen Debian-Host # Installation auf einem frischen Debian-Host
Der automatisierte Weg ist `install.sh`. Das Skript ist für **Debian 12/13 Der automatisierte Weg ist `install.sh`. Das Skript ist für **Debian 12/13
amd64** gedacht, installiert Docker CE, NVIDIA-Treiber/Container-Toolkit, amd64** gedacht, installiert Docker CE, den aktuellen Compute-only-NVIDIA-Treiber
mit offenen Kernelmodulen aus dem offiziellen NVIDIA-Repository, das
NVIDIA-Container-Toolkit,
WireGuard, baut llama.cpp reproduzierbar, lädt Modelle mit SHA256-Prüfung und WireGuard, baut llama.cpp reproduzierbar, lädt Modelle mit SHA256-Prüfung und
startet den Stack. startet den Stack.
+30 -4
View File
@@ -87,16 +87,42 @@ install_nvidia() {
if ! command -v nvidia-smi >/dev/null 2>&1; then if ! command -v nvidia-smi >/dev/null 2>&1; then
[[ ${INSTALL_NVIDIA_DRIVER:-false} == true ]] || \ [[ ${INSTALL_NVIDIA_DRIVER:-false} == true ]] || \
die "NVIDIA-Treiber fehlt. Installiere ihn oder setze INSTALL_NVIDIA_DRIVER=true." die "NVIDIA-Treiber fehlt. Installiere ihn oder setze INSTALL_NVIDIA_DRIVER=true."
log "NVIDIA-Treiber aus Debian installieren" log "Aktuellen NVIDIA-Treiber aus dem offiziellen NVIDIA-Repository installieren"
if ! apt-cache show nvidia-driver >/dev/null 2>&1; then DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
die "Paket nvidia-driver fehlt. Debian-Quellen müssen contrib, non-free und non-free-firmware enthalten." "linux-headers-$(uname -r)"
local distro="debian${VERSION_ID%%.*}"
local keyring_url="https://developer.download.nvidia.com/compute/cuda/repos/${distro}/x86_64/cuda-keyring_1.1-1_all.deb"
local keyring_deb
keyring_deb=$(mktemp /tmp/cuda-keyring.XXXXXX.deb)
curl --fail --location --retry 5 --output "$keyring_deb" "$keyring_url"
dpkg -i "$keyring_deb"
rm -f "$keyring_deb"
apt-get update
if [[ -n ${NVIDIA_DRIVER_BRANCH:-} ]]; then
local pinning="nvidia-driver-pinning-${NVIDIA_DRIVER_BRANCH}"
apt-cache show "$pinning" >/dev/null 2>&1 || \
die "Gewuenschter NVIDIA-Treiberzweig fehlt im offiziellen Repository: $pinning"
DEBIAN_FRONTEND=noninteractive apt-get install -y "$pinning"
fi fi
DEBIAN_FRONTEND=noninteractive apt-get install -y nvidia-driver firmware-misc-nonfree
# RTX 30/50 werden beide von NVIDIAs offenen Kernelmodulen unterstuetzt.
# Compute-only vermeidet X11-, Desktop- und Vulkan-Pakete auf dem Headless-Host.
DEBIAN_FRONTEND=noninteractive apt-get install -y \
nvidia-driver-cuda nvidia-kernel-open-dkms
printf '\nNVIDIA-Treiber installiert. Jetzt neu starten und danach denselben Installer erneut ausführen.\n' printf '\nNVIDIA-Treiber installiert. Jetzt neu starten und danach denselben Installer erneut ausführen.\n'
exit 20 exit 20
fi fi
nvidia-smi >/dev/null || die "nvidia-smi ist vorhanden, aber der Treiber funktioniert nicht." nvidia-smi >/dev/null || die "nvidia-smi ist vorhanden, aber der Treiber funktioniert nicht."
local driver_major min_driver_major
driver_major=$(nvidia-smi --query-gpu=driver_version --format=csv,noheader | head -n1 | cut -d. -f1)
min_driver_major=${NVIDIA_MIN_DRIVER_MAJOR:-570}
[[ $driver_major =~ ^[0-9]+$ ]] || die "NVIDIA-Treiberversion konnte nicht gelesen werden."
(( driver_major >= min_driver_major )) || \
die "NVIDIA-Treiber $driver_major ist zu alt; mindestens $min_driver_major wird verlangt."
log "NVIDIA Container Toolkit installieren" log "NVIDIA Container Toolkit installieren"
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
gpg --dearmor --yes -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg gpg --dearmor --yes -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg