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.

Primary GPU Passthrough with Ryzen 2700x

Featured Replies

Ok i know there are TONS of questions about this and i have followed just about every forum and Video that i can find and i am still unable to get the GPU to passthrough correctly. 

 

I am currently running a Ryzen 2700x on the B-450Strix MOBO with a Asus 750TI in the first x16 slot. 

 

Im trying to pass this through to a Windows 10 VM with the following XML:

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='5'>
  <name>Win-VM</name>
  <uuid>a51d338a-89ab-7ec8-9d56-81dbffc0c455</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='12'/>
    <vcpupin vcpu='1' cpuset='13'/>
    <vcpupin vcpu='2' cpuset='14'/>
    <vcpupin vcpu='3' cpuset='15'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-3.0'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/a51d338a-89ab-7ec8-9d56-81dbffc0c455_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <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/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/disks/PM951_NVMe_SAMSUNG_1024GB_S2FZNX0HA01196/domains/Windows 10/vdisk1.img'/>
      <backingStore/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk2'/>
      <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/isos/virtio-win-0.1.141-1.iso'/>
      <backingStore/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <alias name='ide0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:be:10:cf'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-5-Win-VM/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='3'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/DOWNLOADS/750ti.rom'/>
      <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='0x09' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

 

 

 

the vbios was dumped from the GPU  directly.  

 

I was able to get this passed through just fine in my older system ( intel based) with needing to dump the bios. 

 

I have stubbed the GPU but it didnt make any difference.  All i get is a Black screen

 

 

 

Any help will be appreciated. 

 


 

If you are using UEFI Boot with unRAID you may get a black screen. Try Legacy boot. 

  • Author

I would assume this would mean im booting Legacy ( havent checked the BIOS yet)

 

image.thumb.png.043a0fa38317b69160ae82f99a071d63.png

 

 

After i posted this i was able to get into the machine via RDP and notice im getting a code 43 error on the device

Edited by 08deanr

I never had the code 43, I passthru a GTX 1070 with a 2700x system. Passing thru a bios file and everything. 

  • Author

do you have the GPU stubbed in the syslinx config?

 

kernel /bzimage
append vfio-pci.ids=1106:3483 vfio-pci.ids=1022:43d5 vfio-pci.ids=10de:1380 pcie_acs_override=downstream initrd=/bzroot

  • Author
On 12/2/2018 at 11:18 PM, david279 said:

I never had the code 43, I passthru a GTX 1070 with a 2700x system. Passing thru a bios file and everything. 

what is your system setup?

Gigabyte gaming 5 ax370 r7 2700x EVGA GTX 2070 32 GB Ram. Also a usb 3.1 card for my vms. 22 TB of storage. My VM is on a nvme drive thats passed through. 

  • Author
16 minutes ago, david279 said:

Gigabyte gaming 5 ax370 r7 2700x EVGA GTX 2070 32 GB Ram. Also a usb 3.1 card for my vms. 22 TB of storage. My VM is on a nvme drive thats passed through. 

do you have acsi override turned on?

Yes

Sent from my SM-N960U using Tapatalk

You can try with a seabios based VM. The easiest way is to create a Windows 7 in unraid web console which will use seabios by default. I get black screen on my intel system if nvidia card is primary with UEFI. I believe its because host boot "touches" UEFI but the seabios is left intact.

  • Author
31 minutes ago, scorcho99 said:

You can try with a seabios based VM. The easiest way is to create a Windows 7 in unraid web console which will use seabios by default. I get black screen on my intel system if nvidia card is primary with UEFI. I believe its because host boot "touches" UEFI but the seabios is left intact.

im building a win 10 VM the unraid is booting in legacy mode. 

 

Would a SEABIOS be better?

 

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.