GPU Passthrough Problems

Alex Manning

New Member
Mar 29, 2018
2
0
1
26
Hi, I am trying to set up a GPU passthrough system, my hardware is as follows:

i7 7800X
RX 470
UEFI Motherboard ( Supports IOMMU and all that jazz)

I have the GPU running this vfio-pci driver, and it checks out well.
I have an Ubuntu VM that I would like to pass through, its config is as follows:


Code:
#balloon%3A 4
bios: ovmf
bootdisk: scsi0
cores: 2
machine: q35
memory: 4096
name: Desktop
net0: virtio=CE:76:F6:7D:1B:20,bridge=vmbr0
numa: 0
ostype: l26
scsi0: local-lvm:vm-100-disk-1,size=50G
scsihw: virtio-scsi-pci
smbios1: uuid=b7794bf3-ef2a-4ba0-a478-7b2a5a00e2c4
sockets: 1
vga: std
hostpci0: 65:00, x-vga=on, pcie=1 , romfile=RX470.bin

When I initialize the VM, there are no warnings or errors, the GPU simply doesn't show up for lspci in the vm or info pci in the Proxmox Console. The VM boots, and I can access it from noVNC, which from what I understand shouldn't be possible in a correct setup. Most importantly, the GPU doesn't output the display from the VM. Without any error messages, I am at a loss for next steps, anyone able to help?
 
hostpci0: 65:00, x-vga=on, pcie=1 , romfile=RX470.bin
are there really the spaces in the config ? if yes, please remove them

also can you post the output of 'lspci' and your iommu groups ?
 
Spaces have been removed. That definitely made some changes, vnc no longer works; I think that might have been the solution.

lspci -v:

Code:
65:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480] (rev ef) (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Ellesmere [Radeon RX 470/480]
        Flags: bus master, fast devsel, latency 0, IRQ 11, NUMA node 0
        Memory at c0000000 (64-bit, prefetchable) [size=256M]
        Memory at d0000000 (64-bit, prefetchable) [size=2M]
        I/O ports at b000 [size=256]
        Memory at d8e00000 (32-bit, non-prefetchable) [size=256K]
        Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting
        Capabilities: [200] #15
        Capabilities: [270] #19
        Capabilities: [2b0] Address Translation Service (ATS)
        Capabilities: [2c0] Page Request Interface (PRI)
        Capabilities: [2d0] Process Address Space ID (PASID)
        Capabilities: [320] Latency Tolerance Reporting
        Capabilities: [328] Alternative Routing-ID Interpretation (ARI)
        Capabilities: [370] L1 PM Substates
        Kernel driver in use: vfio-pci
        Kernel modules: amdgpu

65:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device aaf0
        Subsystem: ASUSTeK Computer Inc. Device aaf0
        Flags: bus master, fast devsel, latency 0, IRQ 10, NUMA node 0
        Memory at d8e60000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting
        Capabilities: [328] Alternative Routing-ID Interpretation (ARI)
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel

Iommu Groups:
Code:
/sys/kernel/iommu_groups/17/devices/0000:16:05.0
/sys/kernel/iommu_groups/17/devices/0000:16:05.4
/sys/kernel/iommu_groups/17/devices/0000:16:05.2
/sys/kernel/iommu_groups/35/devices/0000:b2:15.0
/sys/kernel/iommu_groups/7/devices/0000:00:1c.0
/sys/kernel/iommu_groups/25/devices/0000:64:05.0
/sys/kernel/iommu_groups/25/devices/0000:64:05.4
/sys/kernel/iommu_groups/25/devices/0000:64:05.2
/sys/kernel/iommu_groups/15/devices/0000:03:00.0
/sys/kernel/iommu_groups/33/devices/0000:b2:05.4
/sys/kernel/iommu_groups/33/devices/0000:b2:05.2
/sys/kernel/iommu_groups/33/devices/0000:b2:05.0
/sys/kernel/iommu_groups/5/devices/0000:00:16.0
/sys/kernel/iommu_groups/23/devices/0000:16:1e.6
/sys/kernel/iommu_groups/23/devices/0000:16:1e.4
/sys/kernel/iommu_groups/23/devices/0000:16:1e.2
/sys/kernel/iommu_groups/23/devices/0000:16:1e.0
/sys/kernel/iommu_groups/23/devices/0000:16:1e.5
/sys/kernel/iommu_groups/23/devices/0000:16:1e.3
/sys/kernel/iommu_groups/23/devices/0000:16:1e.1
/sys/kernel/iommu_groups/13/devices/0000:01:00.0
/sys/kernel/iommu_groups/31/devices/0000:64:0d.2
/sys/kernel/iommu_groups/31/devices/0000:64:0d.0
/sys/kernel/iommu_groups/31/devices/0000:64:0d.3
/sys/kernel/iommu_groups/31/devices/0000:64:0d.1
/sys/kernel/iommu_groups/3/devices/0000:00:08.1
/sys/kernel/iommu_groups/3/devices/0000:00:08.2
/sys/kernel/iommu_groups/3/devices/0000:00:08.0
/sys/kernel/iommu_groups/21/devices/0000:16:0f.0
/sys/kernel/iommu_groups/21/devices/0000:16:0f.1
/sys/kernel/iommu_groups/11/devices/0000:00:1f.3
/sys/kernel/iommu_groups/11/devices/0000:00:1f.4
/sys/kernel/iommu_groups/11/devices/0000:00:1f.2
/sys/kernel/iommu_groups/11/devices/0000:00:1f.0
/sys/kernel/iommu_groups/1/devices/0000:00:04.7
/sys/kernel/iommu_groups/1/devices/0000:00:04.5
/sys/kernel/iommu_groups/1/devices/0000:00:04.3
/sys/kernel/iommu_groups/1/devices/0000:00:04.1
/sys/kernel/iommu_groups/1/devices/0000:00:04.6
/sys/kernel/iommu_groups/1/devices/0000:00:04.4
/sys/kernel/iommu_groups/1/devices/0000:00:04.2
/sys/kernel/iommu_groups/1/devices/0000:00:04.0
/sys/kernel/iommu_groups/28/devices/0000:64:0a.0
/sys/kernel/iommu_groups/28/devices/0000:64:0a.7
/sys/kernel/iommu_groups/28/devices/0000:64:0a.5
/sys/kernel/iommu_groups/28/devices/0000:64:0a.3
/sys/kernel/iommu_groups/28/devices/0000:64:0a.1
/sys/kernel/iommu_groups/28/devices/0000:64:0a.6
/sys/kernel/iommu_groups/28/devices/0000:64:0a.4
/sys/kernel/iommu_groups/28/devices/0000:64:0a.2
/sys/kernel/iommu_groups/18/devices/0000:16:08.2
/sys/kernel/iommu_groups/18/devices/0000:16:08.0
/sys/kernel/iommu_groups/18/devices/0000:16:08.7
/sys/kernel/iommu_groups/18/devices/0000:16:08.5
/sys/kernel/iommu_groups/18/devices/0000:16:08.3
/sys/kernel/iommu_groups/18/devices/0000:16:08.1
/sys/kernel/iommu_groups/18/devices/0000:16:08.6
/sys/kernel/iommu_groups/18/devices/0000:16:08.4
/sys/kernel/iommu_groups/36/devices/0000:b2:16.4
/sys/kernel/iommu_groups/36/devices/0000:b2:16.0
/sys/kernel/iommu_groups/8/devices/0000:00:1c.2
/sys/kernel/iommu_groups/26/devices/0000:64:08.0
/sys/kernel/iommu_groups/16/devices/0000:04:00.0
/sys/kernel/iommu_groups/34/devices/0000:b2:12.2
/sys/kernel/iommu_groups/34/devices/0000:b2:12.0
/sys/kernel/iommu_groups/34/devices/0000:b2:12.1
/sys/kernel/iommu_groups/6/devices/0000:00:17.0
/sys/kernel/iommu_groups/24/devices/0000:64:00.0
/sys/kernel/iommu_groups/14/devices/0000:02:00.0
/sys/kernel/iommu_groups/32/devices/0000:65:00.0
/sys/kernel/iommu_groups/32/devices/0000:65:00.1
/sys/kernel/iommu_groups/4/devices/0000:00:14.2
/sys/kernel/iommu_groups/4/devices/0000:00:14.0
/sys/kernel/iommu_groups/22/devices/0000:16:1d.3
/sys/kernel/iommu_groups/22/devices/0000:16:1d.1
/sys/kernel/iommu_groups/22/devices/0000:16:1d.2
/sys/kernel/iommu_groups/22/devices/0000:16:1d.0
/sys/kernel/iommu_groups/12/devices/0000:00:1f.6
/sys/kernel/iommu_groups/30/devices/0000:64:0c.6
/sys/kernel/iommu_groups/30/devices/0000:64:0c.4
/sys/kernel/iommu_groups/30/devices/0000:64:0c.2
/sys/kernel/iommu_groups/30/devices/0000:64:0c.0
/sys/kernel/iommu_groups/30/devices/0000:64:0c.7
/sys/kernel/iommu_groups/30/devices/0000:64:0c.5
/sys/kernel/iommu_groups/30/devices/0000:64:0c.3
/sys/kernel/iommu_groups/30/devices/0000:64:0c.1
/sys/kernel/iommu_groups/2/devices/0000:00:05.4
/sys/kernel/iommu_groups/2/devices/0000:00:05.2
/sys/kernel/iommu_groups/2/devices/0000:00:05.0
/sys/kernel/iommu_groups/20/devices/0000:16:0e.5
/sys/kernel/iommu_groups/20/devices/0000:16:0e.3
/sys/kernel/iommu_groups/20/devices/0000:16:0e.1
/sys/kernel/iommu_groups/20/devices/0000:16:0e.6
/sys/kernel/iommu_groups/20/devices/0000:16:0e.4
/sys/kernel/iommu_groups/20/devices/0000:16:0e.2
/sys/kernel/iommu_groups/20/devices/0000:16:0e.0
/sys/kernel/iommu_groups/20/devices/0000:16:0e.7
/sys/kernel/iommu_groups/10/devices/0000:00:1c.6
/sys/kernel/iommu_groups/29/devices/0000:64:0b.3
/sys/kernel/iommu_groups/29/devices/0000:64:0b.1
/sys/kernel/iommu_groups/29/devices/0000:64:0b.2
/sys/kernel/iommu_groups/29/devices/0000:64:0b.0
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/19/devices/0000:16:09.1
/sys/kernel/iommu_groups/19/devices/0000:16:09.0
/sys/kernel/iommu_groups/37/devices/0000:b2:17.0
/sys/kernel/iommu_groups/9/devices/0000:00:1c.5
/sys/kernel/iommu_groups/27/devices/0000:64:09.0