Created
February 21, 2018 04:28
-
-
Save smartperson/c51e0ede4a4c4f068ec60873fee28131 to your computer and use it in GitHub Desktop.
My computer's VFIO setup, successfully doing GPU passthrough and generally excellent performance
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
IOMMU Group 0 00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1452] | |
IOMMU Group 1 00:01.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1453] | |
IOMMU Group 2 00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1452] | |
IOMMU Group 3 00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1452] | |
IOMMU Group 4 00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1453] | |
IOMMU Group 5 00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1452] | |
IOMMU Group 6 00:07.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1452] | |
IOMMU Group 7 00:07.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1454] | |
IOMMU Group 8 00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1452] | |
IOMMU Group 9 00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1454] | |
IOMMU Group 10 00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 59) | |
IOMMU Group 10 00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51) | |
IOMMU Group 11 00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1460] | |
IOMMU Group 11 00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1461] | |
IOMMU Group 11 00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1462] | |
IOMMU Group 11 00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1463] | |
IOMMU Group 11 00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1464] | |
IOMMU Group 11 00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1465] | |
IOMMU Group 11 00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1466] | |
IOMMU Group 11 00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1467] | |
IOMMU Group 12 01:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] USB 3.1 XHCI Controller [1022:43bb] (rev 02) | |
IOMMU Group 12 01:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] Device [1022:43b7] (rev 02) | |
IOMMU Group 12 01:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43b2] (rev 02) | |
IOMMU Group 12 02:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43b4] (rev 02) | |
IOMMU Group 12 02:01.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43b4] (rev 02) | |
IOMMU Group 12 02:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43b4] (rev 02) | |
IOMMU Group 12 03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c) | |
IOMMU Group 12 05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP108 [GeForce GT 1030] [10de:1d01] (rev a1) | |
IOMMU Group 12 05:00.1 Audio device [0403]: NVIDIA Corporation GP108 High Definition Audio Controller [10de:0fb8] (rev a1) | |
IOMMU Group 13 06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/580] [1002:67df] (rev e7) | |
IOMMU Group 13 06:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 580] [1002:aaf0] | |
IOMMU Group 14 07:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device [1022:145a] | |
IOMMU Group 15 07:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Device [1022:1456] | |
IOMMU Group 16 07:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] USB3 Host Controller [1022:145c] | |
IOMMU Group 17 08:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device [1022:1455] | |
IOMMU Group 18 08:00.2 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 51) | |
IOMMU Group 19 08:00.3 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Device [1022:1457] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1450 | |
Subsystem: Advanced Micro Devices, Inc. [AMD] Device 1450 | |
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Device 1451 | |
Subsystem: Advanced Micro Devices, Inc. [AMD] Device 1451 | |
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1452 | |
00:01.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 1453 | |
Kernel driver in use: pcieport | |
Kernel modules: shpchp | |
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1452 | |
DeviceName: Onboard IGD | |
00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1452 | |
00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 1453 | |
Kernel driver in use: pcieport | |
Kernel modules: shpchp | |
00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1452 | |
00:07.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1452 | |
00:07.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 1454 | |
Kernel driver in use: pcieport | |
Kernel modules: shpchp | |
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1452 | |
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 1454 | |
Kernel driver in use: pcieport | |
Kernel modules: shpchp | |
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 59) | |
Subsystem: Gigabyte Technology Co., Ltd FCH SMBus Controller | |
Kernel driver in use: piix4_smbus | |
Kernel modules: i2c_piix4, sp5100_tco | |
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51) | |
Subsystem: Gigabyte Technology Co., Ltd FCH LPC Bridge | |
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1460 | |
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1461 | |
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1462 | |
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1463 | |
Kernel driver in use: k10temp | |
Kernel modules: k10temp | |
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1464 | |
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1465 | |
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1466 | |
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1467 | |
01:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] USB 3.1 XHCI Controller (rev 02) | |
Subsystem: ASMedia Technology Inc. Device 1142 | |
Kernel driver in use: xhci_hcd | |
01:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] Device 43b7 (rev 02) | |
Subsystem: ASMedia Technology Inc. Device 1062 | |
Kernel driver in use: ahci | |
Kernel modules: ahci | |
01:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b2 (rev 02) | |
Kernel driver in use: pcieport | |
Kernel modules: shpchp | |
02:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b4 (rev 02) | |
Kernel driver in use: pcieport | |
Kernel modules: shpchp | |
02:01.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b4 (rev 02) | |
Kernel driver in use: pcieport | |
Kernel modules: shpchp | |
02:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b4 (rev 02) | |
Kernel driver in use: pcieport | |
Kernel modules: shpchp | |
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c) | |
Subsystem: Gigabyte Technology Co., Ltd Onboard Ethernet | |
Kernel driver in use: r8169 | |
Kernel modules: r8169 | |
05:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1) | |
Subsystem: Micro-Star International Co., Ltd. [MSI] Device 8c98 | |
Kernel driver in use: nvidia | |
Kernel modules: nvidiafb, nouveau, nvidia_384_drm, nvidia_384 | |
05:00.1 Audio device: NVIDIA Corporation GP108 High Definition Audio Controller (rev a1) | |
Subsystem: Micro-Star International Co., Ltd. [MSI] Device 8c98 | |
Kernel driver in use: snd_hda_intel | |
Kernel modules: snd_hda_intel | |
06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/580] (rev e7) | |
Subsystem: Sapphire Technology Limited Radeon RX 570 | |
Kernel driver in use: vfio-pci | |
Kernel modules: amdgpu | |
06:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 580] | |
Subsystem: Sapphire Technology Limited Device aaf0 | |
Kernel driver in use: vfio-pci | |
Kernel modules: snd_hda_intel | |
07:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 145a | |
Subsystem: Advanced Micro Devices, Inc. [AMD] Device 145a | |
07:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Device 1456 | |
Subsystem: Advanced Micro Devices, Inc. [AMD] Device 1456 | |
Kernel driver in use: ccp | |
Kernel modules: ccp | |
07:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] USB3 Host Controller | |
Subsystem: Gigabyte Technology Co., Ltd Device 5007 | |
Kernel driver in use: vfio-pci | |
08:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 1455 | |
Subsystem: Advanced Micro Devices, Inc. [AMD] Device 1455 | |
08:00.2 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51) | |
Subsystem: Gigabyte Technology Co., Ltd FCH SATA Controller [AHCI mode] | |
Kernel driver in use: ahci | |
Kernel modules: ahci | |
08:00.3 Audio device: Advanced Micro Devices, Inc. [AMD] Device 1457 | |
Subsystem: Gigabyte Technology Co., Ltd Device a182 | |
Kernel driver in use: snd_hda_intel | |
Kernel modules: snd_hda_intel |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## /etc/default/grub | |
GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=radeon,amdgpu quiet amd_iommu=on nomodeset vga=normal vesafb:off" | |
## /etc/modules/ | |
vfio | |
vfio_iommu_type1 | |
vfio_pci | |
vhost-net | |
## /etc/modprobe.d/vfio.conf | |
options vfio-pci ids=1002:67df,1002:aaf0,1022:145c |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<domain type='kvm'> | |
<name>generic-2</name> | |
<uuid>f7050b8f-4e77-4eb4-b1bf-f00aaefa6726</uuid> | |
<memory unit='KiB'>8388608</memory> | |
<currentMemory unit='KiB'>8388608</currentMemory> | |
<memoryBacking> | |
<hugepages/> | |
</memoryBacking> | |
<vcpu placement='static'>8</vcpu> | |
<os> | |
<type arch='x86_64' machine='pc-i440fx-yakkety'>hvm</type> | |
<bootmenu enable='yes'/> | |
</os> | |
<features> | |
<acpi/> | |
<apic/> | |
</features> | |
<cpu mode='host-passthrough'> | |
<topology sockets='1' cores='8' threads='1'/> | |
</cpu> | |
<clock offset='utc'> | |
<timer name='rtc' tickpolicy='catchup'/> | |
<timer name='pit' tickpolicy='delay'/> | |
<timer name='hpet' present='no'/> | |
</clock> | |
<on_poweroff>destroy</on_poweroff> | |
<on_reboot>restart</on_reboot> | |
<on_crash>restart</on_crash> | |
<pm> | |
<suspend-to-mem enabled='no'/> | |
<suspend-to-disk enabled='no'/> | |
</pm> | |
<disk type='block' device='disk'> | |
<driver name='qemu' type='raw'/> | |
<source dev='/dev/sdc'/> | |
<target dev='vdb' bus='virtio'/> | |
<boot order='2'/> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> | |
</disk> | |
<controller type='usb' index='0' model='ich9-ehci1'> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x7'/> | |
</controller> | |
<controller type='usb' index='0' model='ich9-uhci1'> | |
<master startport='0'/> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/> | |
</controller> | |
<controller type='usb' index='0' model='ich9-uhci2'> | |
<master startport='2'/> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/> | |
</controller> | |
<controller type='usb' index='0' model='ich9-uhci3'> | |
<master startport='4'/> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x2'/> | |
</controller> | |
<controller type='pci' index='0' model='pci-root'/> | |
<controller type='ide' index='0'> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> | |
</controller> | |
<controller type='virtio-serial' index='0'> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> | |
</controller> | |
<interface type='bridge'> | |
<mac address='52:54:00:44:10:f6'/> | |
<source bridge='virbr0'/> | |
<model type='virtio'/> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> | |
</interface> | |
<serial type='pty'> | |
<target port='0'/> | |
</serial> | |
<console type='pty'> | |
<target type='serial' port='0'/> | |
</console> | |
<channel type='spicevmc'> | |
<target type='virtio' name='com.redhat.spice.0'/> | |
<address type='virtio-serial' controller='0' bus='0' port='1'/> | |
</channel> | |
<input type='mouse' bus='ps2'/> | |
<input type='keyboard' bus='ps2'/> | |
<graphics type='spice' autoport='yes'/> | |
<video> | |
<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> | |
</video> | |
<hostdev mode='subsystem' type='pci' managed='yes'> | |
<source> | |
<address domain='0x0000' bus='0x06' slot='0x00' function='0x1'/> | |
</source> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x1'/> | |
</hostdev> | |
<hostdev mode='subsystem' type='pci' managed='yes'> | |
<source> | |
<address domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> | |
</source> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0' multifunction='on'/> | |
</hostdev> | |
<hostdev mode='subsystem' type='pci' managed='yes'> | |
<source> | |
<address domain='0x0000' bus='0x07' slot='0x00' function='0x3'/> | |
</source> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> | |
</hostdev> | |
<memballoon model='virtio'> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> | |
</memballoon> | |
</devices> | |
</domain> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
pcie_acs_override=downstream,multifunction might break up groups better.. would love to know if you can pass through a 3.1 controller AND have it work...
https://lime-technology.com/forums/topic/71713-passthrough-a-usb-31-controller-on-amd-board/