Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

GPU passthrough for AMD Radeon R9 Fury X / Nano

Featured Replies

After watching Linus 2 Gaming Rigs, 1 Tower & 7 Gamers, 1 CPU videos I decided to get myself a new computer with the idea to run a few VMs (webserver, development server, fileserver, cryptocoins machine, etc..) while playing games or mine Ethereum using GPU passthrough on a Windows 10 VM. I get very far with the installation until I  load the AMD drivers. Can anybody help?

 

Mobo: Asus M5A99Fx Pro R2.0 (32Gb RAM)

CPU: AMD Fx-8320E

Two GPUs:

    slot-1: AMD Radeon R5-230

    slot-2: AMD Nano (VTX3D)

 

The R5-230 is the first graphics card used by unraid, while the Nano is the second card for passthrough to the VM with keyboard/mouse. Unraid runs perfectly and I can configure a VM with GPU pass-through using the Nano. The VM startup fine and I can install Windows 10, until I decide to install the AMD drivers. During the AMD driver installation the VM crash and also crashes unraid. I also tried installing using Windows AMD drivers, same problem.

 

In the community spreadsheet user vgeddes did get it working on a ASUS Maximus VIII Gene. Vgeddes recommend using OVMF and update the bios. I did the same (although I do have VTX3D - but that should not make a difference). To get the drivers working Vgeddes recommends:

There were BSOD/freeze issues when installing Crimson drivers in the guest. The solution was launch the guest without PCI passthru and then install the driver packages manually. I suspended the host between guest shutdowns in order to work around the well-known GPU reset issues that plague AMD asics.

 

Three questions:

[*]How do I do launch the guest without passthru and install AMD drivers? If I start using VNC then AMD will not install drivers because there is no card.

[*]How do you ‘Suspend the host between guest shutdowns’ and what does that mean for installing drivers?

[*]How did Linus get the AMD drivers installed using his 7 Gamers & 1 CPU build?

 

Did you also pass through the HDMI audio for the GPU? If you didn't, try that before installing the driver.

  • Author

Yip, tried with and without.

Have you tried different drivers?

Please provide more info about the vm. Preferably the XML.

 

  • Author

I tried the AMD crimson edition 16.3.2 install and standard Windows update [AMD Radeon R9 Fury Series - 22/04/2016]. Both crash the VM and unraid.

 

<domain type='kvm'>
  <name>WindowsPassthru 10</name>
  <uuid>f32cb207-82d6-10c4-f164-f66b42574184</uuid>
  <metadata>
    <vmtemplate name="Custom" icon="windows.png" os="windows"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
    <locked/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='1'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='3'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type>
    <loader type='pflash'>/usr/share/qemu/ovmf-x64/OVMF-pure-efi.fd</loader>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='4' threads='1'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/disk1/vm/WindowsPassthru 10/vdisk1.img'/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/iso/Windows.iso'/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/iso/virtio-win-0.1.117.iso'/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 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='0x03' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:c3:cb:1d'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/WindowsPassthru 10.org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x413c'/>
        <product id='0x2106'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x0461'/>
        <product id='0x4d81'/>
      </source>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
</domain>

 

Also downloaded the rom and added it to 'vfio' section: <rom file='/mnt/user/iso/nanonew.rom'/>

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.