Jump to content

GPU Passthrough still not working


Recommended Posts

Hey guys, I´m stuck... I want to passthrough my 1660 Super to the VM or Docker, both didn´t work. When I´m Passthrough the GPU to VM the VM Tab & VM Settings Tab stays blank and I have no more access to the VM site. I have to delete the libvirt file and reboot to fix that problem.

When I´m trying to Passthrough to Docker with this tutorial: 

 My Whole Web GUI crashes (SMB is working fine).

Attached the diagnostics. - I´m setting up a Windows on a USB Boot Drive and export the GPU Bios. I´m also updating the mainboard bios now. 

 

One more Questions: I created the Windows 10 VM with Seabios - is that right?

 

 

Best regards & thanks in advance

 

Max

 

maxisnas-diagnostics-20200131-1842.zip

Link to comment
1 hour ago, LeGreatMaxiking said:

Hey guys, I´m stuck... I want to passthrough my 1660 Super to the VM or Docker, both didn´t work. When I´m Passthrough the GPU to VM the VM Tab & VM Settings Tab stays blank and I have no more access to the VM site. I have to delete the libvirt file and reboot to fix that problem.

When I´m trying to Passthrough to Docker with this tutorial: 

 My Whole Web GUI crashes (SMB is working fine).

Attached the diagnostics. - I´m setting up a Windows on a USB Boot Drive and export the GPU Bios. I´m also updating the mainboard bios now. 

 

One more Questions: I created the Windows 10 VM with Seabios - is that right?

 

 

Best regards & thanks in advance

 

Max

 

maxisnas-diagnostics-20200131-1842.zip 123.88 kB · 0 downloads

Are you trying to use gpu for transcoding in a docker like plex or just use the gpu in a VM? If it is your only video card then you will need the video cards rom bios added in the settings. For Windows 10 you should use OVMF instead of Seabios. Check the Unraid info at top right of screen make sure HVM & IOMMU are Enabled.

Link to comment
1 hour ago, LeGreatMaxiking said:

Hey guys, I´m stuck... I want to passthrough my 1660 Super to the VM or Docker, both didn´t work. When I´m Passthrough the GPU to VM the VM Tab & VM Settings Tab stays blank and I have no more access to the VM site. I have to delete the libvirt file and reboot to fix that problem.

 My Whole Web GUI crashes (SMB is working fine).

 

Attached the diagnostics. - I´m setting up a Windows on a USB Boot Drive and export the GPU Bios. I´m also updating the mainboard bios now. 

 

One more Questions: I created the Windows 10 VM with Seabios - is that right?

 

Best regards & thanks in advance

 

Max

The 1660 has 4 devices that all need to be passed through together for it to work. Your xml only has 2 of the 4. You need to vfio-ids stub the other 2 (or preferably all 4) - check devices 05:00.0 - 3

 

Also make sure you don't have any adblocker on the browser when doing Unraid settings.

And do a disk check of your USB stick.

 

SeaBIOS is fine but OVMF (i.e. UEFI boot) is better. It allows you to switch to Q35 machine type in the future should you desire (Q35 needs OVMF).

 

 

Link to comment

Hey its still not working...

 

I get this error message now

 

Thats my VM XML (

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm'>
  <name>Windows 10</name>
  <uuid>704964f9-f931-42f5-0823-59322724fc60</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>33554432</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>32</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='16'/>
    <vcpupin vcpu='2' cpuset='1'/>
    <vcpupin vcpu='3' cpuset='17'/>
    <vcpupin vcpu='4' cpuset='2'/>
    <vcpupin vcpu='5' cpuset='18'/>
    <vcpupin vcpu='6' cpuset='3'/>
    <vcpupin vcpu='7' cpuset='19'/>
    <vcpupin vcpu='8' cpuset='4'/>
    <vcpupin vcpu='9' cpuset='20'/>
    <vcpupin vcpu='10' cpuset='5'/>
    <vcpupin vcpu='11' cpuset='21'/>
    <vcpupin vcpu='12' cpuset='6'/>
    <vcpupin vcpu='13' cpuset='22'/>
    <vcpupin vcpu='14' cpuset='7'/>
    <vcpupin vcpu='15' cpuset='23'/>
    <vcpupin vcpu='16' cpuset='8'/>
    <vcpupin vcpu='17' cpuset='24'/>
    <vcpupin vcpu='18' cpuset='9'/>
    <vcpupin vcpu='19' cpuset='25'/>
    <vcpupin vcpu='20' cpuset='10'/>
    <vcpupin vcpu='21' cpuset='26'/>
    <vcpupin vcpu='22' cpuset='11'/>
    <vcpupin vcpu='23' cpuset='27'/>
    <vcpupin vcpu='24' cpuset='12'/>
    <vcpupin vcpu='25' cpuset='28'/>
    <vcpupin vcpu='26' cpuset='13'/>
    <vcpupin vcpu='27' cpuset='29'/>
    <vcpupin vcpu='28' cpuset='14'/>
    <vcpupin vcpu='29' cpuset='30'/>
    <vcpupin vcpu='30' cpuset='15'/>
    <vcpupin vcpu='31' cpuset='31'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-4.2'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/704964f9-f931-42f5-0823-59322724fc60_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='32' 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/user/domains/Windows 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/isos/Windows_10_All-in-One_1909_18363.592_x64_DE_ESD.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/isos/virtio-win-0.1.160-1.iso'/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0' model='qemu-xhci' ports='15'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <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>
    <controller type='pci' index='0' model='pci-root'/>
    <interface type='bridge'>
      <mac address='52:54:00:7f:e1:ba'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/user/domains/KFA21660super.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='0x05' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x2'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x3'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
</domain>

And the Syslinux:

 

default menu.c32
menu title Lime Technology, Inc.
prompt 0
timeout 50
label unRAID OS
  menu default
  kernel /bzimage
  append initrd=/bzroot vfio-pci.ids=10de:21c4,10de:1aeb,10de:1aec,10de:1aed
label unRAID OS GUI Mode
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui
label unRAID OS Safe Mode (no plugins, no GUI)
  kernel /bzimage
  append initrd=/bzroot unraidsafemode
label unRAID OS GUI Safe Mode (no plugins)
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui unraidsafemode
label Memtest86+
  kernel /memtest

 

Cant boot the VM with this Config...

 

Thanks for the help!

Screenshot_9.png

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.

×
×
  • Create New...