Tutorial: Passing through GPU to Hyper-V guest VM

Page 3 of 5 FirstFirst 12345 LastLast

  1. Posts : 6
    Windows 10
       #21

    Huberdoggy said:
    Try altering the value for 32 bit MIMO (LowMapped IO) in the final script to 3GB. Not sure if the Quadro is different, but that’s what I set for mine.
    So.. the machine is actually running but the screen is pitch black
    In a "blind mode" - without seeing what is actually happening - I can click on the screen, fill out my login info... wait a bit (VM logs in...) then press F4 and Enter -> This triggers the Windows Shutdown -> The machine properly shuts down!

    So.. there is something wrong with the video driver setup
    I did even disable my second video device on host machine/laptop. Same result.

    Any more ideas about what could I try?
      My Computer


  2. Posts : 7
    Windows 10
       #22

    Yea, some other things:

    Ensure the guest has Secure Boot turned off. I have a theory that because the script is copying signed drivers from the host (but dxdiag shows the files themselves are named differently), that might throw off Windows tamper protection, but just a thought.

    If you have the NVIDIA control panel installed on the host, set vmconnect.exe to “prefer the discrete GPU”. You’re having more issues than I did initially, however, changing that was what got Blender to stop displaying black screens when resizing the app windows.

    When you run the Powershell command “GetVMPartitionableGPU” does the Quadro even come up as a supported option?
      My Computer


  3. Posts : 6
    Windows 10
       #23

    Huberdoggy said:
    Yea, some other things:

    Ensure the guest has Secure Boot turned off. I have a theory that because the script is copying signed drivers from the host (but dxdiag shows the files themselves are named differently), that might throw off Windows tamper protection, but just a thought.

    If you have the NVIDIA control panel installed on the host, set vmconnect.exe to “prefer the discrete GPU”. You’re having more issues than I did initially, however, changing that was what got Blender to stop displaying black screens when resizing the app windows.

    When you run the Powershell command “GetVMPartitionableGPU” does the Quadro even come up as a supported option?
    1) Secure Boot - I did turn it off on the guest => Same result. No change

    2) NVIDIA Control Panel => I did try this already. I did set vmconnect.exe to use the "High performance NVIDIA processor" => No change, still black screen.
    I did also try, and did disable on the HOST the "Intel(R) UHD Graphics" adapter .. Reboot => technically I am running ONLY on the NVIDIA adapter => VM guest still black

    3) When running the Get-VMPartitionableGPU the NVIDIA Quadro does come up as supported. It is the first on the list.
    Because the Intel one is also partitionable I did try to partition that one instead of the Quadro.. but Windows 10 doesn't let you choose which GPU to partition. It will ALWAYS partition the first one in the PartitionableGPU list
    (On Win 10 the Add-VMGpuPartitionAdapter command doesn't support the -InstancePath parameter )

    =============
    Was wondering if is there any LOG/LOG FILE on the client that I could check to see what is going wrong?
      My Computer


  4. Posts : 7
    Windows 10
       #24

    As far as logs specific to this I’m not exactly sure. You could try checking in Windows Event Viewer. I’m guessing it would be nested under something like Microsoft -> Microsoft-HyperV. Otherwise, what sort of monitor setup are you running? For troubleshooting, you could ensure your built in display and any external monitor are set to 60hz (no high refresh rate). Although I believe the native RDP backend is limited to about half of this anyway, so may not matter
      My Computer


  5. Posts : 6
    Windows 10
       #25

    Huberdoggy said:
    As far as logs specific to this I’m not exactly sure. You could try checking in Windows Event Viewer. I’m guessing it would be nested under something like Microsoft -> Microsoft-HyperV. Otherwise, what sort of monitor setup are you running? For troubleshooting, you could ensure your built in display and any external monitor are set to 60hz (no high refresh rate). Although I believe the native RDP backend is limited to about half of this anyway, so may not matter
    1) Cleaned out the Events in Event Viewer... - did all the "try unsuccessfully to get NVIDIA work" - checked events => Didn't find any errors

    2) I only have one external monitor connected to a 'docking station' - refresh rate is set to 59.940
    I did even try disconnecting external everything and just use the laptop display. VM is just black screen

    3) the VM is definitively running because I can connect/login to it from a PowerShell session running on the host.. and after login I can execute powershell commands on the VM.

    4) I did google: Hyper-v black screen - and the article I've found all say that the GPU is at fault.. but didn't find a solution just yet.

    Thanx for all your help Hubberdoggy!
    Wish you nice weekend :)

    - - - Updated - - -

    Oh yay! I've found a sollution?

    - so. as I've said before, on my laptop I have to display adapters
    Intel(R) UHD Graphics
    NVIDIA Quadro T1000

    - I did run the driver copy ps1 file(s) and copied the driver files for both to the VM.
    - When running Add-VMGpuPartitionAdapter on the host then the Quadro will be partitioned and the VM will get a 'new' NVIDIA adapter - but will be black on startup.
    - There is no way on Windows 10 (that I know of) to tell Add-VMGpuPartitionAdapter which adapter to partition

    What I did is
    - Disable the NVIDIA adapter on my host.
    - Run Add-VMGpuPartitionAdapter so that the Intel adapter gets partitioned
    - Run the VM => viola! it works.. now it has an Intel adapter that supports OpenGL and so Blender will also start up on the VM.

    Would be nice though if I could partition the NVIDIA adapter instead of the Intel

    - - - Updated - - -

    ===
    One more thing... if I re-enable the NVIDIA adapter then the VM is not working again....
    Seems that the GPU partitioning has some issues with my 2 adapters - at least on Windows 10.
    I think I've read that on Windows 11 you can tell the Powershell command which adapter to partition.
      My Computer


  6. Posts : 7
    Windows 10
       #26

    Yea that’s one way to work around it. For me, I didn’t want to pass through the Intel because I want support for all the Vulkan extensions etc for programs besides Blender. I’m thinking it must be something related to Nvidias current capabilities for that driver, or else something in the host BIOS with the automux switching, or those settings that we overlooked, and is just being exposed now by this particular use case.

    Other than that, all I can say is, on my host I keep a very clean driver store. I have group policy blocks for many Windows Update capabilities for stability reasons, and before I configured the VM, I did a full DDU in safe mode and manually installed the latest Studio driver .cab/ini from Device manager. Prior to that, I hadn’t upgraded the Nvidia driver for 1.5 years, and tend to stick to the old advice of - use the version recommended on the manufacturer’s driver page (when it comes to laptops). Only reason I bring that up is im wondering if there’s a chance the script is copying a bunch of convoluted files from your driver store, from different versions and such
    Last edited by Huberdoggy; 24 Jun 2023 at 21:09. Reason: Addition
      My Computer


  7. Posts : 6
    Windows 10
       #27

    For me it looks like this is a Windows 10 bug/isse.

    - If I disable the NVidia adapter then my Intel(R) adapter sharing work well on the VM.
    - As soon as I enable the NVidia adapter on the host - the VM goes black => Enabling whatever adapter on the host shouldn't affect the VM => Bug in Win 10/Hyper-V

    - Considering that Windows 11, for Add-VMGpuPartitionAdapter introduced the -InstancePath parameter - a parameter that Windows Server already has - just strengthens my suspicion about his being a bug.

    Anyhow.. glad that it works now as I only need it to debug an third party Blender plugin :) and now I have a somewhat valid reason to upgrade to Windows 11
      My Computer


  8. Posts : 7
    Windows 10
       #28

    Except that, you can’t really chalk it up to being a “Windows 10 issue”, as I’m doing it on a similar laptop GPU configuration to you. The primary difference being my integrated in Intel UHD and my discrete is NVIDIA RTX 3060. Either muxless auto switching must not be correctly configured in your host BIOS, or the card itself is improperly configured either via powercpl, iommu as thought previously, or similar.

    Windows 10 has been pretty rock stable for awhile now. I won’t even consider feature upgrading until my version EOL in 2025. I about guarantee you’d find yourself more frequently using the words “it’s a Windows Eleven bug”

    By all means, I’m glad that for your particular use case, you’re able to accomplish what’s needed. I’m just saying
    Last edited by Huberdoggy; 25 Jun 2023 at 10:03. Reason: Addition
      My Computer


  9. Posts : 52
    linux
       #29

    Hello to everyone.

    I've tried your method. I've installed the script stored here :

    GitHub - jamesstringerparsec/Easy-GPU-PV: A Project dedicated to making GPU Partitioning on Windows easier!

    I didn't see errors during the installation. I've installed the latest version of Windows. Version is : 10.0.22621.1702.
    For my GPU the script installed the Microsoft driver version : 10.0.22621.1. It's not the nvidia driver. It does not give error 43,but it does not work. Blender cycles can't detect my gpu (RTX 2080 ti). I've attached some screenshots below :

    Tutorial: Passing through GPU to Hyper-V guest VM-2023-07-16-13_00_44-gpupv-marietto-window-virtual-machine-connection.png
    Tutorial: Passing through GPU to Hyper-V guest VM-2023-07-16-13_32_45-gpupv-marietto-window-virtual-machine-connection.png
    Tutorial: Passing through GPU to Hyper-V guest VM-2023-07-16-14_18_04-gpupv-marietto-window-virtual-machine-connection.png

    (I'm not using parsec,I don't know if it will make a difference) ; actually the resolution is configured at 1920x1080. The resolution is good,but it does not depends about the nvidia gpu,but it depends on the "Microsoft Basic Display Driver". So,it is not working for me,actually. Someone knows how to fix the problem ? thanks.
      My Computer


  10. Posts : 16
    Win10 Pro
    Thread Starter
       #30

    ziomario said:
    I've tried your method. I've installed the script stored here :

    GitHub - jamesstringerparsec/Easy-GPU-PV: A Project dedicated to making GPU Partitioning on Windows easier!
    ...
    So,it is not working for me,actually. Someone knows how to fix the problem ? thanks.
    Thats not the method. The method is the steps in the first post. That script you linked is only one step. There are many other steps.

    Please reread and follow the instructions specifically and if you get errors then check the other replies for workarounds. If the linked script cannot detect your GPU drivers then you need to file a github issue with them and maybe they can assist
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 11:03.
Find Us




Windows 10 Forums