GTX 560ti GPU passthrough doesn't work.

Arm1nas

Member
Feb 12, 2022
17
0
6
19
Hello, I have been trying to passthrough GTX 560ti for more than 3 hours and I can't figure it out.
When I try to boot my VM, it never boots up. If I remove "x-vga=1" from the hostpci, then the VM boots, but I can't install drivers because I get error code 43. I don't get any video output from the mini hdmi port of the VM
If I add cpu: host, hidden=1 line, the vm constantly crashes and tries to automatically repair itself.
My VM configuration:
Code:
agent: 1
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'
bios: ovmf
boot: order=scsi0;net0;ide0
cores: 8
efidisk0: adata-120:101/vm-101-disk-1.raw,efitype=4m,pre-enrolled-keys=1,size=528K
hostpci0: 0000:07:00,pcie=1,x-vga=1
machine: pc-q35-6.0
memory: 4096
name: Windows.10
net0: virtio=0E:E5:DE:99:0C:A2,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsi0: adata-120:101/vm-101-disk-0.raw,cache=writeback,size=120G,ssd=1
scsihw: virtio-scsi-pci
smbios1: uuid=1712e816-853d-4b4b-b78e-1d0e5b069ce2
sockets: 1
tpmstate0: adata-120:101/vm-101-disk-2.raw,size=4M,version=v2.0
vga: virtio,memory=512
vmgenid: dd66fce2-ce98-4314-afc3-177b7f999e02

Server specifications:

  • AMD Ryzen 5 1600 6C 12T 3.2 GHz
  • Gigabyte B450 Gaming X 1.1
  • 16GB DDR4 3200MHz DIMM 18CL (2x8GB)
  • SSD NETAC 250GB M.2 NVMe
pve-manager/7.1-10/6ddebafe (running kernel: 5.13.19-4-pve)
 
Last edited:
The passthrough is working in principle (because you see the GPU in the VM) but it is not functional because it does not reset properly.
Looks like you have only a single GPU in your system, which makes GPU passthrough more difficult because the GPU is already used to boot the system and show the Proxmox console.

You are booting the Windows VM with UEFI (ovmf) but maybe the (old) GTX 560Ti does not support UEFI? This does not matter much for Linux, except that you don't see the startup screens of the VM, but I don't know how it affects Windows VMs.

I would advise to use x-vga=1 instead of args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off' and search for Single GPU passthrough. You probably need to blacklist drivers and disable framebuffer consoles to make sure nothing uses the GPU before the VM starts. This will make troubleshooting more difficult as there are not messages or a console on the system itself. Make sure you can reach Proxmox via the web GUI and SSH from another system.
 
The passthrough is working in principle (because you see the GPU in the VM) but it is not functional because it does not reset properly.
Looks like you have only a single GPU in your system, which makes GPU passthrough more difficult because the GPU is already used to boot the system and show the Proxmox console.

You are booting the Windows VM with UEFI (ovmf) but maybe the (old) GTX 560Ti does not support UEFI? This does not matter much for Linux, except that you don't see the startup screens of the VM, but I don't know how it affects Windows VMs.

I would advise to use x-vga=1 instead of args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off' and search for Single GPU passthrough. You probably need to blacklist drivers and disable framebuffer consoles to make sure nothing uses the GPU before the VM starts. This will make troubleshooting more difficult as there are not messages or a console on the system itself. Make sure you can reach Proxmox via the web GUI and SSH from another system.
I've tried reinstalling windows 10 to use SeaBIOS/UEFI, it's still the same. I tried using x-vga=1 without the args, when I install the nvidia drivers, the system doesn't boot up anymore and constantly crashes. I have already blacklisted the drivers, but I don't know how to disable framebuffer consoles.
Should I add another gpu just for the proxmox host if that would change anything? And does the host gpu require some kind of configuration, or can I just insert it to another PCIE express slot?
 
... I have already blacklisted the drivers, but I don't know how to disable framebuffer consoles.
Should I add another gpu just for the proxmox host if that would change anything? And does the host gpu require some kind of configuration, or can I just insert it to another PCIE express slot?
Another very simple GPU that can be used to boot would make things easier. However, most motherboards/BIOSes don't have an option to choose the other GPU as boot display but maybe yours does because it is a Gigabyte? And you have to put the passthrough GPU in the PCIe x16 slot, which is usually always used during boot.
You can try disabling the framebuffers by adding video=efifb:off video=vesafb:off video=simplefb:off to the kernel parameters. The crashing could be a sign that this is the only thing that is missing, and I would still advise x-vga=1.
If this works, then your Proxmox host wil be "headless" and you have no host console anymore, so make sure to be able to access the system using SSH/https from another system. But don't make the VM start automatically before you know everything works.
 
Another very simple GPU that can be used to boot would make things easier. However, most motherboards/BIOSes don't have an option to choose the other GPU as boot display but maybe yours does because it is a Gigabyte? And you have to put the passthrough GPU in the PCIe x16 slot, which is usually always used during boot.
You can try disabling the framebuffers by adding video=efifb:off video=vesafb:off video=simplefb:off to the kernel parameters. The crashing could be a sign that this is the only thing that is missing, and I would still advise x-vga=1.
If this works, then your Proxmox host wil be "headless" and you have no host console anymore, so make sure to be able to access the system using SSH/https from another system. But don't make the VM start automatically before you know everything works.
I added another AMD gpu PCI Express x16 slot, running at x4. I had an option in bios to select on what pcie slot to display video, I selected the amd gpu. Should I also remove the radeon drivers from proxmox blacklist?
 
I added another AMD gpu PCI Express x16 slot, running at x4. I had an option in bios to select on what pcie slot to display video, I selected the amd gpu. Should I also remove the radeon drivers from proxmox blacklist?
You only need to blacklist the drivers that interfere with passthrough (or early bind to vfio-pci before the drivers are loaded). So yes, please don't blacklist the driver that you want to use for the GPU for the host.
 
You only need to blacklist the drivers that interfere with passthrough (or early bind to vfio-pci before the drivers are loaded). So yes, please don't blacklist the driver that you want to use for the GPU for the host.
I installed a host GPU for proxmox, unfortunately nothing changed. The gtx 560 ti doesn't support UEFI so I installed Windows 10 in SeaBIOS, when I passthrough the card with "x-vga=1" parameter added, the VM doesn't boot up, it just crashes and stops, I tried patching nvidia drivers with this tool, after patching and installing the drivers, rebooting the VM, I always get the Error 52, that the certificate couldn't be verified, I tried booting into "disable driver check" mode, but then I just get a blue screen. Is there anything else I can try?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!