Jagadguru Posted November 2, 2021 Share Posted November 2, 2021 (edited) I just wanted to let anyone know that I have successfully tested Nvidia GPU-P on Windows on unRAID with an RTX3060 passed though. I used this guide video. Also WSL2 works with my intel 10700K and Gigabyte Z490 VISION G WSLg works, but not with hardware acceleration. I wonder why that could be? Works bare metal with the same Windows 11 installation Edited November 9, 2021 by Jagadguru Quote Link to comment
hyellow Posted January 18, 2022 Share Posted January 18, 2022 Hi, I read this thread and i was wondering how you have managed it. So you are saying that you have succesfully shared a gpu in windows on unRaid? So unRaid > Windows VM > Hyper-V > Windows VM inside Hyper-V? I am trying to achieve the same, but with no luck. The VM inside Hyper-v just gives me a black screen. Can you share how you have managed it? Quote Link to comment
Jagadguru Posted January 18, 2022 Author Share Posted January 18, 2022 5 hours ago, hyellow said: Hi, I read this thread and i was wondering how you have managed it. So you are saying that you have succesfully shared a gpu in windows on unRaid? So unRaid > Windows VM > Hyper-V > Windows VM inside Hyper-V? I am trying to achieve the same, but with no luck. The VM inside Hyper-v just gives me a black screen. Can you share how you have managed it? Yes, the nested VM's are as you said. I used the video guide I linked in my last message. Very roughly I used Windows 11 for both VM's, inner and outer. Passthrough the GPU to the outer. You first issue the PS commands in the Win host VM that are mentioned in the video to tell if you're GPU is suitable (which it probably is because there is broad support). Then you install the hyper-v VM with all the settings like in the video. The most crucial part, though is that you have to copy over your exact Graphics Driver file set for the installed GPU (driver) from the outer to the inner Windows and place them all in the right dirs. This is explicit in the video. Using the inner vM's drivers, installed or otherwise will not work. Then you run the included script in the Youtube description and start the VM and voila! GPU acceleration in a nested VM Quote Link to comment
lawhazl Posted December 13, 2022 Share Posted December 13, 2022 Hi, I've tried on several different versions of windows (10 & 11) and also different versions of unraid to achieve the same. But every time i enable Hyper-V within my "Windows features" all my VM's get stuck at the windows spinning loading screen as it seems most others are stuck at too on forums. Baremetal my Windows Install loads up without a problem but when put through unraid it doesn't. Would you mind posting which version of unraid you are using and the template you are using for your successful unRaid > Windows VM ? Many Thanks Quote Link to comment
Kilrah Posted December 13, 2022 Share Posted December 13, 2022 (edited) Subbing as I have the same problem. Enabling VM platform/Linux subsystem results in failure to boot, have to boot in safe mode from recovery where it reverts the changes before it can boot again. Edited December 13, 2022 by Kilrah Quote Link to comment
SimonF Posted December 13, 2022 Share Posted December 13, 2022 (edited) 1 hour ago, lawhazl said: Hi, I've tried on several different versions of windows (10 & 11) and also different versions of unraid to achieve the same. But every time i enable Hyper-V within my "Windows features" all my VM's get stuck at the windows spinning loading screen as it seems most others are stuck at too on forums. Baremetal my Windows Install loads up without a problem but when put through unraid it doesn't. Would you mind posting which version of unraid you are using and the template you are using for your successful unRaid > Windows VM ? Many Thanks Have you added nested kernel option in syslinux? Tbis is for intel label unRAID OS menu default kernel /bzimage append initrd=/bzroot kvm_intel.nested=1 AMD. kvm_amd.nested=1 Edited December 13, 2022 by SimonF 1 Quote Link to comment
Kilrah Posted December 13, 2022 Share Posted December 13, 2022 Oh didn't know about that, sounds like it'd help Will add for next reboot... Quote Link to comment
Kilrah Posted December 13, 2022 Share Posted December 13, 2022 (edited) Tried, but still same it does show as enabled: Module: kvm_intel Parameter: allow_smaller_maxphyaddr --> N Parameter: dump_invalid_vmcs --> N Parameter: emulate_invalid_guest_state --> Y Parameter: enable_apicv --> N Parameter: enable_shadow_vmcs --> Y Parameter: enlightened_vmcs --> N Parameter: ept --> Y Parameter: eptad --> Y Parameter: fasteoi --> Y Parameter: flexpriority --> Y Parameter: nested --> Y Parameter: nested_early_check --> N Parameter: ple_gap --> 128 Parameter: ple_window --> 4096 Parameter: ple_window_grow --> 2 Parameter: ple_window_max --> 4294967295 Parameter: ple_window_shrink --> 0 Parameter: pml --> Y Parameter: preemption_timer --> Y Parameter: pt_mode --> 0 Parameter: sgx --> Y Parameter: unrestricted_guest --> Y Parameter: vmentry_l1d_flush --> never Parameter: vnmi --> Y Parameter: vpid --> Y Edited December 13, 2022 by Kilrah Quote Link to comment
lawhazl Posted December 13, 2022 Share Posted December 13, 2022 (edited) sadly I'm getting the same result even after enabling the AMD equivalent for me kvm_amd nested=1 / kvm_amd.nested=1 still a spinning windows boot screen Edited December 13, 2022 by lawhazl Quote Link to comment
Jagadguru Posted December 14, 2022 Author Share Posted December 14, 2022 I had this working in unRAID 6.10.0-rc1. Since then I only run my windows VM bare metal because the WSL2 performance is like night and day. Anyway, here is my XML It says Winndows 10 but it's actually Windows 11. Yes enabling nested=1 was necessary <domain type='kvm'> <name>Windows 10 Pro</name> <uuid>5d8e4c80-d4cf-d855-d82b-e7b0c3a4d8d6</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>11718750</memory> <currentMemory unit='KiB'>11718750</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>16</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='8'/> <vcpupin vcpu='2' cpuset='1'/> <vcpupin vcpu='3' cpuset='9'/> <vcpupin vcpu='4' cpuset='2'/> <vcpupin vcpu='5' cpuset='10'/> <vcpupin vcpu='6' cpuset='3'/> <vcpupin vcpu='7' cpuset='11'/> <vcpupin vcpu='8' cpuset='4'/> <vcpupin vcpu='9' cpuset='12'/> <vcpupin vcpu='10' cpuset='5'/> <vcpupin vcpu='11' cpuset='13'/> <vcpupin vcpu='12' cpuset='6'/> <vcpupin vcpu='13' cpuset='14'/> <vcpupin vcpu='14' cpuset='7'/> <vcpupin vcpu='15' cpuset='15'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-q35-6.0'>hvm</type> <loader readonly='yes' type='pflash'>/mnt/user/domains/Windows 10 Pro/OVMF_CODE.fd</loader> <nvram>/mnt/user/domains/Windows 10 Pro/OVMF_VARS.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' migratable='on'> <topology sockets='1' dies='1' cores='8' threads='2'/> <cache mode='passthrough'/> </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='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/Windows/Window11_Insiders.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.141-1.iso'/> <target dev='hdb' bus='sata'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/domains/Windows 10 Pro/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <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'> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <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='0x8'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x9'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0xa'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 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='0x01' 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='0x01' function='0x4'/> </controller> <controller type='pci' index='6' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='6' port='0xb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/> </controller> <controller type='pci' index='7' model='pcie-to-pci-bridge'> <model name='pcie-pci-bridge'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </controller> <controller type='pci' index='8' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='8' port='0xc'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/> </controller> <controller type='scsi' index='0' model='lsilogic'> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:e3:02:d1'/> <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='tablet' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <tpm model='tpm-tis'> <backend type='emulator' version='2.0'/> </tpm> <audio id='1' type='none'/> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' 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='0x02' 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='0x01' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0' multifunction='on'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x1'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'/> </domain> Quote Link to comment
Recommended Posts
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.