Hello Everyone,
First off, I appreciate your time! I've spent a few days tinkering/reading, but I have failed at VFIO at this point. I was able to get ESXi free version to let me passthrough my RTX 2060. I've went through this guide a few times: https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough/
My Setup:
Gigabyte Aorus x570m ITX Motherboard
Ryzen 3700x
Zotac RTX 2060
To say my problem quickly, my virtual machine never starts when my GPU is attached. It just spins forever on "starting". I've tried in the web gui, and just with "qm start ID", through SSH. The terminal never returns any info either. I have to hard power off the host to get the VM to cancel the start action.
Some Background Info:
- When I run "lspci -vnn", GPU and Audio devices always show "vfio-pci". USB and Serial sometimes show "vfio-pci". I'm not sure why they flip back to xhci_hcd (serial), and nvidia-gpu (usb). I wonder if I need to pass through all 4 components?
- The same guest VM starts when I remove the GPU, and do nothing else.
- I modified /etc/default/grub. I then ran update-grub :
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction video=vesafbff,efifbff"
- /etc/modules contains:
vf, vfio_iommu_type1, vfio_pci, vfio_virqfd
- Ran these:
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
- I added radeon, nouveau, nvidia to:
/etc/modprobe.d/blacklist.conf
- My GPU Vendor IDs:
09:00.0 0300: 10de:1f08 (rev a1)
09:00.1 0403: 10de:10f9 (rev a1)
09:00.2 0c03: 10de:1ada (rev a1)
09:00.3 0c80: 10de:1adb (rev a1)
- /etc/modprobe.d/vfio.conf contains this:
options vfio-pci ids=10de:1f08,10de:10f9 disable_vga=1
- I ran "update-initramfs -u", rebooted.
- Here is my VM configuration:
balloon: 0
bios: ovmf
bootdisk: scsi0
cores: 4
cpu: host,hidden=1,flags=+pcid
efidisk0: Storage:100/vm-100-disk-1.qcow2,size=128K
hostpci0: 09:00,pcie=1
ide2: Storage:iso/SW_DVD9_Win_Pro_10_1909_64BIT_English_Pro_Ent_EDU_N_MLF_X22-17395.ISO,media=cdrom
machine: q35
memory: 8192
name: jsv02-windows
net0: virtio=1E:7E:EE:07:4D:B6,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
parent: NoGPU
sata0: Storage:iso/virtio-win-0.1.171.iso,media=cdrom,size=363020K
scsi0: Storage:100/vm-100-disk-0.qcow2,backup=0,cache=writeback,iothread=1,replicate=0,size=64G,ssd=1
scsihw: virtio-scsi-pci
- Here are the versions of my setup. I downloaded the latest version of Proxmox. It's basically a new install.
pveversion -v
proxmox-ve: 6.1-2 (running kernel: 5.3.18-2-pve)
pve-manager: 6.1-7 (running version: 6.1-7/13e58d5e)
pve-kernel-helper: 6.1-6
pve-kernel-5.3: 6.1-5
pve-kernel-5.3.18-2-pve: 5.3.18-2
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.3-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.15-pve1
libpve-access-control: 6.0-6
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.0-13
libpve-guest-common-perl: 3.0-3
libpve-http-server-perl: 3.0-4
libpve-storage-perl: 6.1-5
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 3.2.1-1
lxcfs: 3.0.3-pve60
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.1-3
pve-cluster: 6.1-4
pve-container: 3.0-21
pve-docs: 6.1-6
pve-edk2-firmware: 2.20200229-1
pve-firewall: 4.0-10
pve-firmware: 3.0-6
pve-ha-manager: 3.0-8
pve-i18n: 2.0-4
pve-qemu-kvm: 4.1.1-3
pve-xtermjs: 4.3.0-1
qemu-server: 6.1-6
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.3-pve1
First off, I appreciate your time! I've spent a few days tinkering/reading, but I have failed at VFIO at this point. I was able to get ESXi free version to let me passthrough my RTX 2060. I've went through this guide a few times: https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough/
My Setup:
Gigabyte Aorus x570m ITX Motherboard
Ryzen 3700x
Zotac RTX 2060
To say my problem quickly, my virtual machine never starts when my GPU is attached. It just spins forever on "starting". I've tried in the web gui, and just with "qm start ID", through SSH. The terminal never returns any info either. I have to hard power off the host to get the VM to cancel the start action.
Some Background Info:
- When I run "lspci -vnn", GPU and Audio devices always show "vfio-pci". USB and Serial sometimes show "vfio-pci". I'm not sure why they flip back to xhci_hcd (serial), and nvidia-gpu (usb). I wonder if I need to pass through all 4 components?
- The same guest VM starts when I remove the GPU, and do nothing else.
- I modified /etc/default/grub. I then ran update-grub :
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction video=vesafbff,efifbff"
- /etc/modules contains:
vf, vfio_iommu_type1, vfio_pci, vfio_virqfd
- Ran these:
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
- I added radeon, nouveau, nvidia to:
/etc/modprobe.d/blacklist.conf
- My GPU Vendor IDs:
09:00.0 0300: 10de:1f08 (rev a1)
09:00.1 0403: 10de:10f9 (rev a1)
09:00.2 0c03: 10de:1ada (rev a1)
09:00.3 0c80: 10de:1adb (rev a1)
- /etc/modprobe.d/vfio.conf contains this:
options vfio-pci ids=10de:1f08,10de:10f9 disable_vga=1
- I ran "update-initramfs -u", rebooted.
- Here is my VM configuration:
balloon: 0
bios: ovmf
bootdisk: scsi0
cores: 4
cpu: host,hidden=1,flags=+pcid
efidisk0: Storage:100/vm-100-disk-1.qcow2,size=128K
hostpci0: 09:00,pcie=1
ide2: Storage:iso/SW_DVD9_Win_Pro_10_1909_64BIT_English_Pro_Ent_EDU_N_MLF_X22-17395.ISO,media=cdrom
machine: q35
memory: 8192
name: jsv02-windows
net0: virtio=1E:7E:EE:07:4D:B6,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
parent: NoGPU
sata0: Storage:iso/virtio-win-0.1.171.iso,media=cdrom,size=363020K
scsi0: Storage:100/vm-100-disk-0.qcow2,backup=0,cache=writeback,iothread=1,replicate=0,size=64G,ssd=1
scsihw: virtio-scsi-pci
- Here are the versions of my setup. I downloaded the latest version of Proxmox. It's basically a new install.
pveversion -v
proxmox-ve: 6.1-2 (running kernel: 5.3.18-2-pve)
pve-manager: 6.1-7 (running version: 6.1-7/13e58d5e)
pve-kernel-helper: 6.1-6
pve-kernel-5.3: 6.1-5
pve-kernel-5.3.18-2-pve: 5.3.18-2
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.3-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.15-pve1
libpve-access-control: 6.0-6
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.0-13
libpve-guest-common-perl: 3.0-3
libpve-http-server-perl: 3.0-4
libpve-storage-perl: 6.1-5
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 3.2.1-1
lxcfs: 3.0.3-pve60
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.1-3
pve-cluster: 6.1-4
pve-container: 3.0-21
pve-docs: 6.1-6
pve-edk2-firmware: 2.20200229-1
pve-firewall: 4.0-10
pve-firmware: 3.0-6
pve-ha-manager: 3.0-8
pve-i18n: 2.0-4
pve-qemu-kvm: 4.1.1-3
pve-xtermjs: 4.3.0-1
qemu-server: 6.1-6
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.3-pve1
Last edited: