# Nvidia VGPU Driver installation

## **0. Vorbereitung – Proxmox &amp; GPU-Check**

Bevor irgendetwas installiert wird, sollte geprüft werden, ob die verwendete NVIDIA-GPU **vGPU-fähig** ist. Dazu gibt man den Chipsatznamen (z. B. „1060“ oder „2080“) ein. Unterstützte Karten erkennt das Skript entsprechend.

Wenn mehrere GPUs eingebaut sind, muss eine davon für das **Passthrough** reserviert werden und die andere für vGPU genutzt werden.

---

## **1. BIOS &amp; Skript starten**

1. **VT-d / IOMMU im BIOS aktivieren**  
    – Intel: *VT-d*  
    – AMD: *IOMMU*
2. Server neu starten und per SSH anmelden.
3. Skript herunterladen und ausführen:
    
    <div class="relative w-full my-4"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼk ͼy" dir="ltr" id="bkmrk-git-clone-https%3A%2F%2Fgi"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">git clone https://github.com/wvthoog/proxmox-vgpu-installer.git  
    cd proxmox-vgpu-installer  
    bash proxmox-installer.sh</div></div></div></div></div></div></div></div></div></div><div class="">![](https://imgur.com/13zRMxL.gif)</div></div></div>
4. Im Menü wählt man z. B. „New vGPU installation“, um neu zu installieren.  
    Nach Abschluss startet man das System neu.

---

## **2. Installation fortsetzen**

Nach dem Neustart erneut das Skript starten.  
Jetzt wird geprüft, ob **VT-d / IOMMU geladen ist** und eine Nvidia-Karte gefunden wurde. Anschließend wählt man die gewünschte **Treiber-Version** für Proxmox 7.x oder 8.x.

![](https://imgur.com/bmV4AN9.gif)

Das Skript lädt den vGPU-Host-Treiber, patched ihn und installiert ihn.  
Am Ende erhält man zwei URLs: eine für den Linux-Gasttreiber und eine für den Windows-Gasttreiber. Diese werden später in den VMs benötigt.

---

## **4. vGPU einer VM zuweisen**

Nach der Installation erzeugt ein Befehl (`mdevctl types`) verschiedene vGPU-Profile. Diese Profile teilen den VRAM entsprechend auf (z. B. 4 GB, 2 GB, 1 GB).

So weist man eine vGPU in der Proxmox-GUI zu:

1. VM auswählen
2. Reiter „Hardware“ öffnen
3. „Add“ → „PCI Device“ klicken
4. Nvidia-GPU auswählen (als „Mediated Device“)
5. Gewünschtes vGPU-Profil wählen
6. Hinzufügen und speichern

---

## **5. Gast-Treiber installieren**

### **Linux-Gast**

1. System aktualisieren:
    
    <div class="relative w-full my-4"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼk ͼy" dir="ltr" id="bkmrk-sudo-apt-update-%26%26-s"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">sudo apt update &amp;&amp; sudo apt dist-upgrade</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
    </div></div></div></div></div>
2. Kernel-Headers installieren:
    
    <div class="relative w-full my-4"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼk ͼy" dir="ltr" id="bkmrk-sudo-apt-install-lin"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">sudo apt install linux-headers-$(uname -r)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
    </div></div></div></div></div>
3. Den vom Skript bereitgestellten Nvidia-Grid-Treiber herunterladen und installieren:
    
    <div class="relative w-full my-4"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼk ͼy" dir="ltr" id="bkmrk-chmod-%2Bx-nvidia-%E2%80%A6-gr"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">chmod +x NVIDIA-…-grid.run  
    sudo ./NVIDIA-…-grid.run --dkms</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
    </div></div></div></div></div>
4. Mit `nvidia-smi` prüfen, ob die vGPU läuft.![](https://i.imgur.com/HJON9hr.png)

### **Windows-Gast**

**![](https://imgur.com/cjERasO.gif)**

Vor der vGPU-Treiberinstallation sollte ein vorhandener Nvidia-Treiber vollständig entfernt werden (z. B. über DDU). Danach den passenden GRID-Treiber installieren.

---

## **6. Tipps &amp; Zusatzfunktionen**

Das Skript unterstützt zusätzliche Argumente wie `–debug`, `–step`, `–url` oder `–file` zur flexibleren Nutzung. Außerdem gibt es eine Liste möglicher Verbesserungen und eine **Changelog-Übersicht** mit den wichtigsten Updates seit der Veröffentlichung.

---

## **7. Fehlerbehebung**

Tritt ein Problem auf, kann man meist den vGPU-Installer entfernen, den Server neu starten und den Vorgang erneut beginnen. Falls das nicht hilft, lohnt sich ein Blick in die `debug.log` oder eine Rückmeldung an den Autor zur Verbesserung des Skripts.