mdurkin,
I had tried a lot of things before I posted above. In order to see what was the change that enabled the passthrough I spent some time this morning undoing the changes and testing again.
In my post above as I was trying many of the fixes detailed here: https://bbs.archlinux.org/viewtopic.php?id=162768
But what I did not realize when posting above was that I had tried the following previously, before actually running the vm (excerpt from above link):
After performing the above steps (binding in my case, 01:00.0 and 01:00.1 + all my usb), starting the vm with the correct hostpci options enables the passthrough. My USB ports come alive in the VM and the new hardware wizard finds the Radeon card. Unfortunately, on reboot the vm crashes (no blue screen, at least that I can see, just reboots).
The only other change I made was to QemuServer.pm, I set MAX_HOSTPCI_DEVICES = 8 as I had 4 USB controllers to passthrough + 1 HDMI + HDMI Audio.
I'm still playing around, but I don't have a firm grasp of vfio or the intricacies of passthrough yet. Hopefully we can iron out the details and get passthrough stable under Proxmox as I'm looking to migrate my setup from Xen and this is the only feature I need to do that...
Daniel
I had tried a lot of things before I posted above. In order to see what was the change that enabled the passthrough I spent some time this morning undoing the changes and testing again.
In my post above as I was trying many of the fixes detailed here: https://bbs.archlinux.org/viewtopic.php?id=162768
But what I did not realize when posting above was that I had tried the following previously, before actually running the vm (excerpt from above link):
Binding a device to vfio-pci
Assuming the kernel, qemu and seabios are built and working, lets bind some devices.
You can use this script to make life easier:
Code:#!/bin/bash modprobe vfio-pci for dev in "$@"; do vendor=$(cat /sys/bus/pci/devices/$dev/vendor) device=$(cat /sys/bus/pci/devices/$dev/device) if [ -e /sys/bus/pci/devices/$dev/driver ]; then echo $dev > /sys/bus/pci/devices/$dev/driver/unbind fi echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id done
Save it as /usr/bin/vfio-bind
chmod 755 /usr/bin/vfio-bind
Bind the GPU:
vfio-bind 0000:07:00.0 0000:07:00.1
After performing the above steps (binding in my case, 01:00.0 and 01:00.1 + all my usb), starting the vm with the correct hostpci options enables the passthrough. My USB ports come alive in the VM and the new hardware wizard finds the Radeon card. Unfortunately, on reboot the vm crashes (no blue screen, at least that I can see, just reboots).
The only other change I made was to QemuServer.pm, I set MAX_HOSTPCI_DEVICES = 8 as I had 4 USB controllers to passthrough + 1 HDMI + HDMI Audio.
I'm still playing around, but I don't have a firm grasp of vfio or the intricacies of passthrough yet. Hopefully we can iron out the details and get passthrough stable under Proxmox as I'm looking to migrate my setup from Xen and this is the only feature I need to do that...
Daniel