Jump to content

Shared Bandwidth PCIe Passthrough


Ph9214

Recommended Posts

How can I pass a non isolated pcie vga/gpu to a vm individually, I get this error when trying to  :-\

 

Execution error

 

internal error: process exited while connecting to monitor: 2016-11-29T05:00:16.196411Z qemu-system-x86_64: -device vfio-pci,host=0d:00.0,id=hostdev0,bus=pci.0,addr=0x5: vfio: error, group 8 is not viable, please ensure all devices within the iommu_group are bound to their vfio bus driver.

2016-11-29T05:00:16.196427Z qemu-system-x86_64: -device vfio-pci,host=0d:00.0,id=hostdev0,bus=pci.0,addr=0x5: vfio: failed to get group 8

2016-11-29T05:00:16.196433Z qemu-system-x86_64: -device vfio-pci,host=0d:00.0,id=hostdev0,bus=pci.0,addr=0x5: Device initialization failed

 

I know it is grouped with tons of other devices as a result of it being a shared bandwidth connection  >:(

 

0d:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Venus LE [Radeon HD 8830M] [1002:682b] (rev 87)

0d:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series] [1002:aab0]

 

/sys/kernel/iommu_groups/8/devices/0000:00:1c.0

/sys/kernel/iommu_groups/8/devices/0000:00:1c.1

/sys/kernel/iommu_groups/8/devices/0000:00:1c.2

/sys/kernel/iommu_groups/8/devices/0000:00:1c.4

/sys/kernel/iommu_groups/8/devices/0000:05:00.0

/sys/kernel/iommu_groups/8/devices/0000:06:00.0

/sys/kernel/iommu_groups/8/devices/0000:07:01.0

/sys/kernel/iommu_groups/8/devices/0000:07:04.0

/sys/kernel/iommu_groups/8/devices/0000:07:05.0

/sys/kernel/iommu_groups/8/devices/0000:07:06.0

/sys/kernel/iommu_groups/8/devices/0000:07:07.0

/sys/kernel/iommu_groups/8/devices/0000:08:00.0

/sys/kernel/iommu_groups/8/devices/0000:0a:00.0

/sys/kernel/iommu_groups/8/devices/0000:0b:00.0

/sys/kernel/iommu_groups/8/devices/0000:0d:00.0

/sys/kernel/iommu_groups/8/devices/0000:0d:00.1

 

 

I do have PCIe ACS Override enabled in case you were wondering.

 

my motherboard is the asrock z170 extreme7+

 

I am trying to use the 2nd port down (along with all the others (the others have no such error))

 

Link to comment

You can't pass through your card unless you get it in a separate iommu group. Since you have enabled ACS override,  your only hope is that you can try the card in other pcie ports and get it in its own group.

 

Looking again at your post, you want to pass through all devices in group 8?

Link to comment

You can't pass through your card unless you get it in a separate iommu group. Since you have enabled ACS override,  your only hope is that you can try the card in other pcie ports and get it in its own group.

 

Looking again at your post, you want to pass through all devices in group 8?

 

No I just wanted to pass through the gpu, I have no ther free slots, it's not to big of a deal if I can't get it to work, I would just like to know why such a feature hasn't been implemented in unraid to split up groups, is there a problem with ACS override or can the groups simply not be split because of the shared bandwidth and if so why?

Link to comment

You can't pass through your card unless you get it in a separate iommu group. Since you have enabled ACS override,  your only hope is that you can try the card in other pcie ports and get it in its own group.

 

Looking again at your post, you want to pass through all devices in group 8?

 

No I just wanted to pass through the gpu, I have no ther free slots, it's not to big of a deal if I can't get it to work, I would just like to know why such a feature hasn't been implemented in unraid to split up groups, is there a problem with ACS override or can the groups simply not be split because of the shared bandwidth and if so why?

this is a limitation of the combination of the BIOS in your motherboard and the Linux kernel.  It is not something that can be resolved at the unRAID level which runs above these.
Link to comment

You can't pass through your card unless you get it in a separate iommu group. Since you have enabled ACS override,  your only hope is that you can try the card in other pcie ports and get it in its own group.

 

Looking again at your post, you want to pass through all devices in group 8?

 

No I just wanted to pass through the gpu, I have no ther free slots, it's not to big of a deal if I can't get it to work, I would just like to know why such a feature hasn't been implemented in unraid to split up groups, is there a problem with ACS override or can the groups simply not be split because of the shared bandwidth and if so why?

this is a limitation of the combination of the BIOS in your motherboard and the Linux kernel.  It is not something that can be resolved at the unRAID level which runs above these.

 

 

is it possible to make a patch for my bios and or the linux kernel?

Link to comment

You can't pass through your card unless you get it in a separate iommu group. Since you have enabled ACS override,  your only hope is that you can try the card in other PCIe ports and get it in its own group.

 

Looking again at your post, you want to pass through all devices in group 8?

 

No I just wanted to pass through the gpu, I have no ther free slots, it's not to big of a deal if I can't get it to work, I would just like to know why such a feature hasn't been implemented in unraid to split up groups, is there a problem with ACS override or can the groups simply not be split because of the shared bandwidth and if so why?

this is a limitation of the combination of the BIOS in your motherboard and the Linux kernel.  It is not something that can be resolved at the unRAID level which runs above these.

 

 

is it possible to make a patch for my bios and or the linux kernel?

 

Not possible I'm afraid.

Your motherboard has 4 PCIe slots. Why not just swap around the hardware so this card is in one of the slots that will isolate in an iommu group (unless all other devices in the other 3 slots, are being passed through already and this is the 4th PCI device you need to pass though)

Link to comment

You can't pass through your card unless you get it in a separate iommu group. Since you have enabled ACS override,  your only hope is that you can try the card in other PCIe ports and get it in its own group.

 

Looking again at your post, you want to pass through all devices in group 8?

 

No I just wanted to pass through the gpu, I have no ther free slots, it's not to big of a deal if I can't get it to work, I would just like to know why such a feature hasn't been implemented in unraid to split up groups, is there a problem with ACS override or can the groups simply not be split because of the shared bandwidth and if so why?

this is a limitation of the combination of the BIOS in your motherboard and the Linux kernel.  It is not something that can be resolved at the unRAID level which runs above these.

 

 

is it possible to make a patch for my bios and or the linux kernel?

 

Not possible I'm afraid.

Your motherboard has 4 PCIe slots. Why not just swap around the hardware so this card is in one of the slots that will isolate in an iommu group (unless all other devices in the other 3 slots, are being passed through already and this is the 4th PCI device you need to pass though)

 

ya, I already have 3 other vms :P not a big problem.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...