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.

Unraid 6.11.5 Windows 10 VM Video is slow

Featured Replies

Hello Unraid Forum,


i am quite new to Unraid and had a little pain setting up my server. Finally i worked things out and now i am running a Windows 10 VM with passed through soundcard and videocard. The VM boots just fine and the log ist almost error free.


My big problem is the video card performance in the VM. I installed the latest AMD video driver 21.11.2 without issues, rebooted, everything seems to be working fine. Then i installed Firefox 102.5.0esr and then the problems began. Videos will be played back at a very slow framerate about 1 Frame every 5-10 seconds, sometimes even slower. This applies to all videos and sites.

 

I found only one repeating error in the VM log and that was:

 

2022-12-05T11:10:11.884707Z qemu-system-x86_64: vfio: Cannot reset device 0000:0c:00.1, no available reset mechanism.
2022-12-05T11:10:12.952898Z qemu-system-x86_64: vfio: Cannot reset device 0000:0c:00.1, no available reset mechanism.

 

I cannot get further with my knowledge and ask the forum for help, solving the slow video performance problem. :D

 

 


My Hardware Specs:


Mainboard: Gigabyte Aourus X470 Ultra Gaming

CPU: Ryzen 9 3900X

RAM: 2x16 GB DDR4-3200 + 2x8 GB DDR4-3200

Video Card: Asus ROG Strix Radeon Vega 56

Sound Card: Auzentech X-fi Forte 7.1

3900x-diagnostics-20221205-1223.zip

Solved by Jumbo_Erdnuesse

  • 2 weeks later...
  • Author

I got a little update on my progress with the VM.

 

After days of testing and reverting back to Unraid 6.9.2 i finally got the VM working on Unraid 6.11.5. GPU passthrough is working flawless. The main issue i had was that i was running Unraid in UEFI mode. After setting my BIOS and Unraid to Legacy mode and selecting the WHQL driver instead the latest driver for the Vega card it worked.

 

Now i have an issue passing through my Auzentech X-Fi Forte soundcard. It was detected in the VM and i installed the driver without issues. But i get no sound output.

 

Here is the XML of my Windows 10 VM. I coloured the soundcard in green. Did i do something wrong?

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm'>
  <name>Windows 10</name>
  <uuid>53df5502-1f19-41b4-e561-840d802c9611</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>37748736</memory>
  <currentMemory unit='KiB'>37748736</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>16</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='4'/>
    <vcpupin vcpu='1' cpuset='16'/>
    <vcpupin vcpu='2' cpuset='5'/>
    <vcpupin vcpu='3' cpuset='17'/>
    <vcpupin vcpu='4' cpuset='6'/>
    <vcpupin vcpu='5' cpuset='18'/>
    <vcpupin vcpu='6' cpuset='7'/>
    <vcpupin vcpu='7' cpuset='19'/>
    <vcpupin vcpu='8' cpuset='8'/>
    <vcpupin vcpu='9' cpuset='20'/>
    <vcpupin vcpu='10' cpuset='9'/>
    <vcpupin vcpu='11' cpuset='21'/>
    <vcpupin vcpu='12' cpuset='10'/>
    <vcpupin vcpu='13' cpuset='22'/>
    <vcpupin vcpu='14' cpuset='11'/>
    <vcpupin vcpu='15' cpuset='23'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-7.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/53df5502-1f19-41b4-e561-840d802c9611_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv mode='custom'>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='1234567890ab'/>
    </hyperv>
    <kvm>
      <hidden state='on'/>
    </kvm>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='11' threads='2'/>
    <cache mode='passthrough'/>
    <feature policy='require' name='topoext'/>
  </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='0x03' slot='0x00' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/de_windows_10_enterprise_ltsc_2019_x64_dvd_02e3955a.iso'/>
      <target dev='hda' bus='sata'/>
      <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.225-2.iso'/>
      <target dev='hdb' bus='sata'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x15'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0x8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='qemu-xhci' ports='15'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:ea:bf:b2'/>
      <source bridge='br0'/>
      <model type='virtio-net'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' 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='tablet' bus='usb'>
      <address type='usb' bus='0' port='3'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <audio id='1' type='none'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0c' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0c' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </hostdev>

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x0951'/>
        <product id='0x16be'/>
      </source>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1532'/>
        <product id='0x000c'/>
      </source>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
</domain>

Edited by Jumbo_Erdnuesse

  • Author

After further investigating the issue with the Auzentech Forte soundcard i found an IRQ error in my Unraid Log after i switched the pci-e slots with the soundcard. After i stopped passing through the card, the IRQ error was gone.

 

Now i also passed through my onboard audio to the VM. The windows driver for the Auzentech card caused weird issues in Firefox browser stopping the video playback after 1 sec. The video will resume if i press the mute button in the youtube player but i had no sound. As a workaround i tried my onboard audio and after removing the Auzentech driver i have audio passthrough working.

 

I also tried enabeling MSI for the Auzentech but that did not work. As soon as i enabled MSI and rebooted the vm i noticed that the IRQ of the card changed. The IRQ error vanished from the system log.

 

Maybe i cannot passthrough my X-Fi card because my mainboard BIOS is still a beta version? Or is there anything else i can do to prevent IRQ errors?

3900x-diagnostics-20221221-2009.zip

Edited by Jumbo_Erdnuesse

  • 2 weeks later...
  • Author

I have further insight in the IRQ error i get passing through my soundcard. Hopefully someone will be able to help me with that.

 

If i bind the soundcard to vfio the IRQ  gets set to 11. After i pass through the soundcard to my vm and start the vm the IRQ will change to 34 and i get the following error in syslog:

 

Jan  2 16:28:49 3900X kernel: vendor-reset-drm: atomfirmware: bios_scratch_reg_offset initialized to 4c
Jan  2 16:28:49 3900X kernel: vfio-pci 0000:0c:00.0: AMD_VEGA10: bus reset disabled? yes
Jan  2 16:28:49 3900X kernel: vfio-pci 0000:0c:00.0: AMD_VEGA10: SMU response reg: ffffffff, sol reg: 0, mp1 intr enabled? no, bl ready? no, baco? off
Jan  2 16:28:49 3900X kernel: vfio-pci 0000:0c:00.0: AMD_VEGA10: performing post-reset
Jan  2 16:28:49 3900X kernel: vfio-pci 0000:0c:00.0: AMD_VEGA10: reset result = 0
Jan  2 16:28:50 3900X kernel: vfio-pci 0000:0c:00.0: No more image in the PCI ROM
Jan  2 16:28:50 3900X kernel: vfio-pci 0000:0c:00.0: No more image in the PCI ROM
Jan  2 16:29:12 3900X kernel: irq 34: nobody cared (try booting with the "irqpoll" option)
Jan  2 16:29:12 3900X kernel: CPU: 20 PID: 20188 Comm: CPU 9/KVM Tainted: G           O      5.19.17-Unraid #2
Jan  2 16:29:12 3900X kernel: Hardware name: Gigabyte Technology Co., Ltd. X470 AORUS ULTRA GAMING/X470 AORUS ULTRA GAMING-CF, BIOS F63c 07/20/2022
Jan  2 16:29:12 3900X kernel: Call Trace:
Jan  2 16:29:12 3900X kernel: <IRQ>
Jan  2 16:29:12 3900X kernel: dump_stack_lvl+0x44/0x5c
Jan  2 16:29:12 3900X kernel: __report_bad_irq+0x35/0xaa
Jan  2 16:29:12 3900X kernel: note_interrupt+0x1f6/0x24d
Jan  2 16:29:12 3900X kernel: handle_irq_event_percpu+0x2c/0x35
Jan  2 16:29:12 3900X kernel: handle_irq_event+0x37/0x56
Jan  2 16:29:12 3900X kernel: handle_fasteoi_irq+0x99/0x113
Jan  2 16:29:12 3900X kernel: __common_interrupt+0x9e/0xaa
Jan  2 16:29:12 3900X kernel: common_interrupt+0x96/0xc1
Jan  2 16:29:12 3900X kernel: </IRQ>
Jan  2 16:29:12 3900X kernel: <TASK>
Jan  2 16:29:12 3900X kernel: asm_common_interrupt+0x22/0x40
Jan  2 16:29:12 3900X kernel: RIP: 0010:svm_prepare_switch_to_guest+0x21/0xec [kvm_amd]
Jan  2 16:29:12 3900X kernel: Code: 1f 44 00 00 48 89 f7 eb 89 0f 1f 44 00 00 55 48 c7 c0 70 d6 02 00 53 48 63 57 20 48 89 fb 48 8b 14 d5 e0 6a 16 82 48 8b 2c 02 <48> 8b 07 80 b8 c1 9d 00 00 00 74 12 80 b8 c0 9d 00 00 00 75 04 0f
Jan  2 16:29:12 3900X kernel: RSP: 0018:ffffc90000d8fdb0 EFLAGS: 00000246
Jan  2 16:29:12 3900X kernel: RAX: 000000000002d670 RBX: ffff888b1f66a5b0 RCX: ffff888b1f66a5b0
Jan  2 16:29:12 3900X kernel: RDX: ffff888c0ed00000 RSI: ffff888b1f66a5b0 RDI: ffff888b1f66a5b0
Jan  2 16:29:12 3900X kernel: RBP: ffff888108b13780 R08: 0000000000000000 R09: 0000000000000000
Jan  2 16:29:12 3900X kernel: R10: 0000000000000000 R11: 0000000000000000 R12: 000000001f66a500
Jan  2 16:29:12 3900X kernel: R13: 0000000000000001 R14: 0000000000000000 R15: 000000001f66a501
Jan  2 16:29:12 3900X kernel: kvm_arch_vcpu_ioctl_run+0xf92/0x1506 [kvm]
Jan  2 16:29:12 3900X kernel: kvm_vcpu_ioctl+0x192/0x5a4 [kvm]
Jan  2 16:29:12 3900X kernel: ? hrtimer_forward+0x82/0x92
Jan  2 16:29:12 3900X kernel: ? timerqueue_add+0x6a/0x76
Jan  2 16:29:12 3900X kernel: ? enqueue_hrtimer+0x77/0x82
Jan  2 16:29:12 3900X kernel: ? __seccomp_filter+0x89/0x313
Jan  2 16:29:12 3900X kernel: vfs_ioctl+0x1e/0x2f
Jan  2 16:29:12 3900X kernel: __do_sys_ioctl+0x52/0x78
Jan  2 16:29:12 3900X kernel: do_syscall_64+0x6b/0x81
Jan  2 16:29:12 3900X kernel: entry_SYSCALL_64_after_hwframe+0x63/0xcd
Jan  2 16:29:12 3900X kernel: RIP: 0033:0x14d24d993d38
Jan  2 16:29:12 3900X kernel: Code: 00 00 48 8d 44 24 08 48 89 54 24 e0 48 89 44 24 c0 48 8d 44 24 d0 48 89 44 24 c8 b8 10 00 00 00 c7 44 24 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 07 89 d0 c3 0f 1f 40 00 48 8b 15 91 d0 0d
Jan  2 16:29:12 3900X kernel: RSP: 002b:000014ca437fdc48 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
Jan  2 16:29:12 3900X kernel: RAX: ffffffffffffffda RBX: 000000000000ae80 RCX: 000014d24d993d38
Jan  2 16:29:12 3900X kernel: RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 000000000000001e
Jan  2 16:29:12 3900X kernel: RBP: 000014ca4b53b580 R08: 0000557f8b1349a0 R09: 00000000ffffffff
Jan  2 16:29:12 3900X kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
Jan  2 16:29:12 3900X kernel: R13: 0000000000000000 R14: 0000000000000000 R15: 000014ca435ff000
Jan  2 16:29:12 3900X kernel: </TASK>
Jan  2 16:29:12 3900X kernel: handlers:
Jan  2 16:29:12 3900X kernel: [<0000000086f580d9>] vfio_intx_handler
Jan  2 16:29:12 3900X kernel: Disabling IRQ #34

Jan  2 16:29:13 3900X kernel: usb 1-10: reset full-speed USB device number 3 using xhci_hcd
Jan  2 16:29:13 3900X kernel: usb 1-4: reset full-speed USB device number 2 using xhci_hcd
Jan  2 16:29:46 3900X webGUI: Successful login user root from 192.168.178.42

 

Whe i stop the vm the syslog error vanishes and the IRQ returns to 11. Maybe because of that the error message was not included in the diagnostics i posted here before. I also added "irqpoll" to my boot options. That seems to do nothing. I still get the same error.

 

Edited by Jumbo_Erdnuesse

  • 4 months later...
  • Author
  • Solution

I 'solved' the problem by switching from PCIe Soundcard to USB Soundcard.

Edited by Jumbo_Erdnuesse

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...

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.