580 rx won't passthrough but 1070 does.


Recommended Posts

I have two gpu's installed in my server.  A 1070 and a 580.  I use to have the 1070 passed through to a VM but once the Nvidia pluggin was released I put my extra 580 in my server.  The idea was to take some of the stress off my server when transcoding and passthrough the 580 to my VM.  The 580 was passedthrough but I can connect to the VM.  Doesn't even show up in the network as having an IP.  Works fine when I switch it to VNC though. 

 

Here is my XML... https://justpaste.it/237zq and  my diagnostics is attached.  I have tried almost everything and still no go.  Any help would be greatly appreciated it!

 

media-diagnostics-20190311-1425.zip

Edited by GreenEyedMonster
Link to comment
4 hours ago, david279 said:

try Q35 as the machine type for the 580 VM

I get this error now.  At least its something different! :)

 

LC_ALL=C PATH=/bin:/sbin:/usr/bin:/usr/sbin HOME=/ QEMU_AUDIO_DRV=none /usr/local/sbin/qemu -name 'guest=Windows 10,debug-threads=on' -S -object 'secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-2-Windows 10/master-key.aes' -machine pc-q35-3.0,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off -cpu host,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,hv_vendor_id=none -m 8192 -realtime mlock=off -smp 4,sockets=1,cores=2,threads=2 -uuid d80d161a-ad22-ae0a-c7bd-a03fb0e37e7c -display none -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=25,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-hpet -no-shutdown -boot strict=on -device pcie-root-port,port=0x8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 -device pcie-root-port,port=0x9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 -device pcie-root-port,port=0xa,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 -device pcie-root-port,port=0xb,chassis=4,id=pci.4,b.0 -device vfio-pci,host=02:00.0,id=hostdev0,x-vga=on,bus=pci.4,addr=0x0 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg timestamp=on
2019-03-12 04:32:10.889+0000: Domain id=2 is tainted: high-privileges
2019-03-12 04:32:10.889+0000: Domain id=2 is tainted: host-cpu
2019-03-12T04:32:10.920502Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)
2019-03-12T04:32:12.092333Z qemu-system-x86_64: vfio: Cannot reset device 0000:02:00.0, depends on group 19 which is not owned.
2019-03-12T04:32:12.097306Z qemu-system-x86_64: vfio: Cannot reset device 0000:02:00.0, depends on group 19 which is not owned.

Link to comment

@GreenEyedMonster try to remove the installed driver for the card and try to install a version from around october last year. At some point newer AMD drivers for some people stopped working. Can't exactly tell you with which version it started, but maybe thats your issue. And also make sure to pass through the audio part of the card as well.

3 hours ago, GreenEyedMonster said:

2019-03-12T04:32:12.092333Z qemu-system-x86_64: vfio: Cannot reset device 0000:02:00.0, depends on group 19 which is not owned.

 

Link to comment

I have been looking through this one, and I am currently at a loss ( I use NVidia, and so don't have much experience with AMD, but I understand that AMD's should be easier to pass since they don't encrypt things like NVidia does)...  

Some things to try:

Make sure to boot the host as UEFI (Disable any legacy boot mode of CSM mode in the BIOS after making sure that EFI boot is enabled for UnRaid)

Try temporarily removing the NVidia plugin, as well as move the 580 to the primary motherboard slot (Remove the 1070, and if everything works, put it back in slot that the 580 is currently in)

 

The error you are getting indicates that the motherboard is unable to reset the PCIe slot for the graphics card, so the IOMMU group passthrough is not working correctly...  There are sometimes weird issues with motherboard and GPU combinations... 

Slots
- 2 x PCI Express 3.0 x16 Slots (PCIE2/PCIE4: single at x16 (PCIE2); dual at x8 (PCIE2) / x8 (PCIE4))
- 1 x PCI Express 2.0 x16 slot (PCIE5: x2 mode)
- 2 x PCI Express 2.0 x1 Slots
- 1 x mini-PCI Express Slot
- Supports AMD Quad CrossFireX™ and CrossFireX™
- Supports NVIDIA® Quad SLI™ and SLI™
- 15μ Gold Contact in VGA PCIe Slot (PCIE2)

*If M2_1 slot is occupied, PCIE2 slot will run at x8 mode, and PCIE4 slot will run at x4 mode.

**mini-PCI Express slot is shared with PCIE3 slot.

 

Link to comment
  • 3 weeks later...

Still no go.  :(

XML:

https://justpaste.it/3klyr


Log:
2019-03-28 06:36:35.146+0000: starting up libvirt version: 4.7.0, qemu version: 3.0.0, kernel: 4.18.20-unRAID, hostname: Media
2019-03-28 06:36:35.146+0000: Domain id=1 is tainted: high-privileges
2019-03-28 06:36:35.146+0000: Domain id=1 is tainted: host-cpu
2019-03-28T06:36:35.179510Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)
2019-03-28 06:37:28.412+0000: shutting down, reason=destroyed
2019-03-28 06:37:51.805+0000: starting up libvirt version: 4.7.0, qemu version: 3.0.0, kernel: 4.18.20-unRAID, hostname: Media
2019-03-28 06:37:51.805+0000: Domain id=2 is tainted: high-privileges
2019-03-28 06:37:51.805+0000: Domain id=2 is tainted: host-cpu
2019-03-28T06:37:51.839057Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)

 

Diagnostics:

media-diagnostics-20190328-0138.zip

Edited by GreenEyedMonster
Link to comment
On 3/28/2019 at 1:44 AM, GreenEyedMonster said:

Still no go.  :(

XML:

https://justpaste.it/3klyr


Log:
2019-03-28 06:36:35.146+0000: starting up libvirt version: 4.7.0, qemu version: 3.0.0, kernel: 4.18.20-unRAID, hostname: Media
2019-03-28 06:36:35.146+0000: Domain id=1 is tainted: high-privileges
2019-03-28 06:36:35.146+0000: Domain id=1 is tainted: host-cpu
2019-03-28T06:36:35.179510Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)
2019-03-28 06:37:28.412+0000: shutting down, reason=destroyed
2019-03-28 06:37:51.805+0000: starting up libvirt version: 4.7.0, qemu version: 3.0.0, kernel: 4.18.20-unRAID, hostname: Media
2019-03-28 06:37:51.805+0000: Domain id=2 is tainted: high-privileges
2019-03-28 06:37:51.805+0000: Domain id=2 is tainted: host-cpu
2019-03-28T06:37:51.839057Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)

 

Diagnostics:

media-diagnostics-20190328-0138.zip

 

Still using i440fx for your AMD VM?  Try Q35 please.

Link to comment
10 hours ago, jonp said:

Also, generally speaking, we don't recommend using AMD GPUs with VMs in Unraid.  Generally speaking, the problems you're having aren't unique to you, but common to the majority of AMD devices.

 

All the best,

 

Jon

@jonp   I wanted to let you know that I got it work.  I did it the same last time. I made the VNC the primary monitor then put the 580 as the secondary.  Set it to only display secondary display.  Boom have my 580 as my primary display.  Would you like the info of my machine?  See if this would be a possible fix for unraid?

Link to comment
3 hours ago, GreenEyedMonster said:

@jonp   I wanted to let you know that I got it work.  I did it the same last time. I made the VNC the primary monitor then put the 580 as the secondary.  Set it to only display secondary display.  Boom have my 580 as my primary display.  Would you like the info of my machine?  See if this would be a possible fix for unraid?

Might need to check some terminology here?   Do you still have two displays defined?   If so I suspect that the VNC one is still the Primary display and you GPU is the secondary one.     If so what you have done is set the secondary display to be the "Main" display (i.e. the one that displays the desktop).    The reason I think this might be important is that the Primary/Secondary distinction is a hardware level one while where the desktop is displayed is a logical one set at the software level.   

 

If so this could be significant in that the VNC is the display that is being initialised during the booting process, and it is only later that the secondary display (which happens to be the one you have chosen to display the desktop) is initialised.   Such a change in the order the hardware is detected might well be a significant factor in getting the GPU to work?

Link to comment
9 hours ago, itimpi said:

Might need to check some terminology here?   Do you still have two displays defined?   If so I suspect that the VNC one is still the Primary display and you GPU is the secondary one.     If so what you have done is set the secondary display to be the "Main" display (i.e. the one that displays the desktop).    The reason I think this might be important is that the Primary/Secondary distinction is a hardware level one while where the desktop is displayed is a logical one set at the software level.   

 

If so this could be significant in that the VNC is the display that is being initialised during the booting process, and it is only later that the secondary display (which happens to be the one you have chosen to display the desktop) is initialised.   Such a change in the order the hardware is detected might well be a significant factor in getting the GPU to work?

That's exactly right.  The VNC is still the Primary display but now I choose to only display Secondary display in settings.  It seems what is happening is exactly what you stated.  Maybe, this is a trick people can use in the future? 

Link to comment
  • 3 weeks later...

So update!  I got my 580rx to work!  How did I do it?  I switched it to the first slot.  I then made a windows VM with OVMF with Q35.  It works super smooth now.  The only problem is I can't stream games from it.  I use to use Parsec but that now crashes the VM.  I can still log in through Chrome Remote Desktop and Guacamole.  Is there a setting I'm missing to make this work? @itimpi  @Warrentheo @david279

Edited by GreenEyedMonster
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.