Come configurare il passaggio GPU su Proxmox VE?

Il pass-through della GPU permette a una macchina virtuale di utilizzare direttamente la GPU dell'host. In Proxmox VE, ciò offre prestazioni quasi native per attività di calcolo o grafiche. Scopri i prerequisiti, la configurazione dell'host, IOMMU, VFIO e la configurazione della VM per eseguire macchine virtuali con accelerazione GPU.

download-icon
Download gratuito
per VM, sistema operativo, database, file, NAS, ecc.
sofia

Updated by Sofia on 2026/01/29

Indice dei contenuti
  • Cos'è il pass-through GPU di Proxmox?

  • Prerequisiti per il pass-through GPU su Proxmox

  • Come configurare il passaggio GPU su Proxmox?

  • Non dimenticare di eseguire il backup della tua VM!

  • Domande frequenti su Proxmox GPU Passthrough

  • Conclusione

Il pass-through della GPU consente a una macchina virtuale di accedere direttamente a una GPU fisica, migliorando le prestazioni per attività di calcolo o grafiche. Questo articolo mostra come configurare il pass-through della GPU su Proxmox VE.

Cos'è il pass-through GPU di Proxmox?

Il pass-through GPU associa una GPU host a una VM tramite VFIO. Il kernel host scollega la GPU e la trasferisce all'ospite. Questo consente prestazioni quasi native. Proxmox VE sfrutta i moduli KVM e VFIO per gestire questa associazione. È necessario verificare il supporto hardware e configurare l'IOMMU. Si prevede di dover regolare il BIOS e il kernel affinché l'host ceda il controllo esclusivo alla VM.

Prerequisiti per il pass-through GPU su Proxmox

Prima di iniziare, verifica il supporto di CPU, scheda madre, BIOS e GPU. La CPU deve supportare IOMMU: Intel VT-d o AMD-Vi. Il BIOS deve abilitare queste opzioni e la decodifica a 4G o superiore a 4G.

Avviso: Il passaggio della GPU principale dell'host potrebbe rendere l'host irraggiungibile senza un accesso out-of-band come IPMI o KVM-over-IP. Alcuni sistemi richiedono la disattivazione di CSM/avvio legacy se si passa l'unica GPU utilizzata per la console host. Per le VM UEFI, il ROM della GPU deve supportare UEFI GOP; altrimenti funziona SeaBIOS ma con funzionalità limitate. Caricare i moduli VFIO: vfio, vfio_pci, vfio_iommu_type1 (e vfio_virqfd sui vecchi Proxmox). Verificare che i gruppi IOMMU isolino la GPU e il suo audio; evitare la condivisione con dispositivi critici. Usare l'API Proxmox o lspci -nnk per ispezionare i gruppi.

Avviso sull'override ACS

Alcune apparecchiature non dispongono di un corretto raggruppamento ACS. È possibile aggiungere pcie_acs_override=downstream  oppure utilizzare vfio_iommu_type1.allow_unsafe_interrupts=1. Utilizzare solo se necessario. L'override ACS può introdurre rischi per la sicurezza o la stabilità. Si consiglia di preferire apparecchiature con isolamento nativo.

Come configurare il passaggio GPU su Proxmox?

1. Configurazione dell'host

Prima di tutto, abilita IOMMU nel BIOS o UEFI. Abilita "Intel VT-d" o "AMD IOMMU" e "Decodifica sopra i 4G" se presenti. Disabilita CSM se si utilizza UEFI per la console host sulla GPU. Riavvia in Proxmox VE.

Modifica GRUB in modo sicuro. Per Intel esegui:

sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& intel_iommu=on iommu=pt/' /etc/default/grub

Eseguire per AMD:

sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& amd_iommu=on iommu=pt/' /etc/default/grub

Se è necessario l'override ACS, aggiungere pcie_acs_override=downstream con uno spazio. Quindi eseguire update-grub e riavviare. Verificare l'attivazione di IOMMU: cat /proc/cmdline | grep iommu e dmesg | grep -e DMAR -e AMD-Vi. Dovrebbe essere visualizzata l'abilitazione del reindirizzamento delle interruzioni.

2. Caricare e inserire nei blacklist i moduli

Crea un file modprobe dedicato per VFIO:

echo -e "vfio\nvfio_pci\nvfio_iommu_type1" > /etc/modules-load.d/vfio.conf

Su versioni precedenti di Proxmox, caricare anche vfio_virqfd. Bloccare i driver della GPU mediante file separati. Per NVIDIA:

echo "blacklist nouveau" > /etc/modprobe.d/blacklist-nouveau.confecho "blacklist nvidiafb" > /etc/modprobe.d/blacklist-nvidia.conf

Per AMD:

echo "blacklist amdgpu" > /etc/modprobe.d/blacklist-amdgpu.confecho "blacklist radeon" > /etc/modprobe.d/blacklist-radeon.conf

Per Intel iGPU:

echo "blacklist i915" > /etc/modprobe.d/blacklist-i915.conf

Dopo aver inserito nella blacklist, rigenera l'initramfs: update-initramfs -u. Per risolvere problemi con initramfs: journalctl -b 0 | grep vfio. Riavvia e verifica con lsmod | grep vfio.

3. Verifica il raggruppamento IOMMU

Esegui:

pvesh get /nodes/<nodename>/hardware/pci --pci-class-blacklist ""

oppure ispeziona /sys/kernel/iommu_groups. Identifica la GPU e il gruppo della funzione audio. Assicurati che nessun dispositivo critico condivida il gruppo. Se il raggruppamento è ampio, utilizza l'override ACS in GRUB, poi riavvia e ricontrolla. Conferma i messaggi ACS nei log: dmesg | grep ACS.

Usa lspci -tv per associare i dispositivi ai socket della CPU. Questo aiuta a ottimizzare la località NUMA. Scegli il pinning della CPU host e della CPU della VM in modo da allinearli al nodo NUMA della GPU.

4. Binding del modulo host (avanzato)

Se il binding automatico fallisce, specificare gli ID nella configurazione VFIO:

echo "options vfio-pci ids=1234:5678,abcd:ef01" > /etc/modprobe.d/vfio-ids.conf

Sostituire con ID vendor:device da lspci -nn. Aggiungere softdep se necessario:

echo "softdep <drivername> pre: vfio-pci" > /etc/modprobe.d/<drivername>.conf

Aggiorna initramfs e riavvia. Conferma che la GPU sia associata a vfio-pci tramite lspci -nnk.

5. Configurazione della macchina virtuale

Nelle opzioni Machine e firmware, selezionare il chipset q35. Per l'UEFI, scegliere OVMF. Assicurarsi che la partizione delle variabili firmware sia ≥1 MB (gestita automaticamente da Proxmox). Verificare che il ROM della GPU supporti UEFI GOP. In caso contrario, utilizzare SeaBIOS ma con limitazioni previste.

Nella scheda Hardware della macchina virtuale, fare clic su Add, quindi su PCI Device. Selezionare l'indirizzo GPU (ad esempio, 00:02.0). Spuntare All Functions se l'audio è separato. Abilitare PCIe (pcie=on). Se è l'unica GPU, selezionare Primary GPU (x-vga=on). Tramite CLI:

qm set <VMID> -machine q35 -hostpci0 01:00.0,pcie=on,x-vga=on

Per multifunzione:

qm set 100 -hostpci0 01:00.0,rombar=0 -hostpci1 01:00.1

Collegare questa configurazione alla macchina virtuale utilizzata per le attività GPU.

6. Configurazione del sistema operativo ospite

Installare il sistema operativo ospite normalmente. Windows: caricare i driver GPU ufficiali ≥ versione 465 per NVIDIA per evitare l'errore Code 43. Nascondere l'hypervisor: aggiungere argomenti CPU:

args: -cpu 'host,kvm=off,hv_vendor_id=proxmox'

Se il fornitore blocca il driver, effettua il dump del ROM della GPU o falsifica gli ID nelle impostazioni avanzate della macchina virtuale. Linux: installa i driver, prova CUDA/OpenCL o applicazioni grafiche. È necessario un monitor locale collegato alla GPU o una connessione RDP/VNC all'interno del sistema guest; la console Proxmox non mostrerà l'output della GPU.

Non dimenticare di eseguire il backup della tua VM!

Per garantire che le tue VM Proxmox siano protette durante la configurazione del pass-through GPU o futuri aggiornamenti, è essenziale disporre di una soluzione di backup affidabile. Vinchin Backup & Recovery è una soluzione professionale di livello aziendale per il backup delle VM che supporta Proxmox VE insieme ad altre piattaforme leader come VMware, Hyper-V, XenServer, oVirt e molte altre. Grazie a funzionalità come il backup senza agent, il backup incrementale basato su CBT, il ripristino immediato e la pianificazione automatica, Vinchin protegge il tuo ambiente virtuale Proxmox con il minimo sforzo. Che tu stia eseguendo carichi di lavoro intensivi dal punto di vista computazionale o VM accelerate da GPU, Vinchin garantisce che i tuoi dati e le tue configurazioni siano sempre al sicuro e recuperabili.

Per eseguire il backup della tua VM Proxmox, segui quattro passaggi legati a tale VM:

1. Seleziona la VM Proxmox da cui eseguire il backup

Seleziona la macchina virtuale Proxmox da cui eseguire il backup

2. Scegli l'archiviazione del backup

Scegli l'archiviazione di backup

3. Configurare la strategia di backup

Configura la strategia di backup

4. Invia il lavoro 

Invia il lavoro

Vinchin vanta una base utenti globale e valutazioni elevate. Ottieni subito una prova gratuita di 60 giorni con funzionalità completa.

Domande frequenti su Proxmox GPU Passthrough

Q1: Come verificare il supporto IOMMU della CPU?

A1: Esegui dmesg | grep -e DMAR -e AMD-Vi e cerca il remapping delle interruzioni abilitato.

Q2: Come isolare la GPU in un gruppo IOMMU?

A2: Utilizza l'override ACS solo se necessario: aggiungi pcie_acs_override=downstream al GRUB e riavvia per separare i dispositivi.

Q3: Come accedere alla visualizzazione ospite quando la console è vuota?

A3: Collega il monitor alla GPU o configura RDP/VNC all'interno del sistema operativo guest.

Domanda 4: Perché la GPU passata mostra l'"Errore 43"?

A4: Nascondi Hyper-V/KVM, usa i driver più recenti, falsifica gli ID del produttore/dispositivo o esegui il dump del ROM della GPU se bloccato.

Conclusione

L'attraversamento GPU su Proxmox sblocca prestazioni elevate per le VM. Eseguire controlli hardware, modifiche al BIOS e modifiche al kernel. Caricare i moduli VFIO, isolare i gruppi IOMMU e associare la GPU a VFIO. Configurare la VM con q35 e OVMF quando possibile. Ottimizzare il pinning della CPU e NUMA per ottenere i migliori risultati. Risolvere problemi come l'errore 43, bug di reset e analizzare i log. Eseguire sempre il backup prima di modifiche importanti. Vinchin offre backup affidabili per proteggere le VM e i dati.

Condividi su:

Categories: VM Tips