Easy-GPU-PV
Easy-GPU-PV copied to clipboard
Diablo IV no gpu(Solved)
I'm currently attempting to run Diablo 4 in a virtual machine (VM). I have been using an AMD graphics card, and it runs smoothly without any issues. However, a few days ago, while helping a friend set up Hyper-V, he encountered a problem with Diablo 4 not detecting the GPU on his NVIDIA graphics card. During my search for a solution, I came across a successful case where someone managed to run Diablo 4 using an NVIDIA graphics card by making modifications to the registry. Unfortunately, they didn't share the specific steps they took (Link: https://www.reddit.com/r/VFIO/comments/13yftdc/diablo_iv_in_vm/). I was wondering if any of you would be able to provide some assistance or guidance on this matter. Your help would be greatly appreciated.
- also have the same problem
You need to copy over a bunch of registry keys for the GPU device under HKEY_LOCAL_MACHINE\System\device or something to that effect.
also have the same problem +1
You need to copy over a bunch of registry keys for the GPU device under HKEY_LOCAL_MACHINE\System\device or something to that effect.
You or anyone else find out what keys specifically? Looking to get something like this set up.
I’ve spent multiple days trying things with registry. Nothing has worked so far
- adding to hardware
- Changing hardware id
- Adding to enum pci
- Connecting virtual device to class, with full nvidia driver details
Also tried modding driver files by changing the device id and pci path to the one inside guest to allow nvidia driver to install. Install succeeded but still fail
I will ask my buddy to walk me through what he did to get it working and will try to remember to post back here lol
I will ask my buddy to walk me through what he did to get it working and will try to remember to post back here lol
any update?
For those that have no luck running D4.
Notes:
- I only tested on a 3060TI
- This only works for nvidia cards, ~~but may only work for 3060's, IDK~~
- In
GAMEDIR\FenrisDebug.txtyou should see an error about NVAPI and only 1 display detected (Microsoft Basic Render)
Results may vary, this ended up working for me, but my setup is going to be different from yours.
The steps:
On the HOST PC:
- Open RegEdit
- Navigate to
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ - Export the
nvlddmkmkey to a file, you can call it whatever but I'll call itnvlddmkm.reg - copy the resulting registery file
nvlddmkm.regto the VM's disk somehow (either mount the disk while it's offline, or use file sharing)
On the VM:
- Install the
nvlddmkm.reg - Launch the game, no reboot needed.
If you still get an error, the Nvidia drivers may not be installed properly on Host or VM, reinstall in both (Reinstall on Host, Update-VMGpuPartitionDriver.ps1 script in repo on VM)
@mitchellurgero
Thank you!
I have confirmed this works with an RTX 4050 (laptop)
Yep its working on windows 11 with a 3080TI
I can get the game to detect my GPU only when the Hyper V video display adapter is disabled. When I disable the Hyper V video display adapter everything in the VM appears very laggy, even in game. The in game fps counter shows around 130fps but everything in the VM looks to be around 15fps. Does anyone have any idea how to fix this? I can launch rocket league just fine with the Hyper V adapter enabled and nothing lags.
I am using a 1080ti and windows 11 as a host and windows 10 21H1 as a guest. The adapter shows in device manager without error 43.
I can get the game to detect my GPU only when the Hyper V video display adapter is disabled. When I disable the Hyper V video display adapter everything in the VM appears very laggy, even in game. The in game fps counter shows around 130fps but everything in the VM looks to be around 15fps. Does anyone have any idea how to fix this? I can launch rocket league just fine with the Hyper V adapter enabled and nothing lags.
I am using a 1080ti and windows 11 as a host and windows 10 21H1 as a guest. The adapter shows in device manager without error 43.
You need to use parsec to get the 60FPS. Hyper-V console is locked to 30 I believe.
@tomoyo233 how did you get it Diablo 4 to accept the GPU for diablo 4?
I can get the game to detect my GPU only when the Hyper V video display adapter is disabled. When I disable the Hyper V video display adapter everything in the VM appears very laggy, even in game. The in game fps counter shows around 130fps but everything in the VM looks to be around 15fps. Does anyone have any idea how to fix this? I can launch rocket league just fine with the Hyper V adapter enabled and nothing lags.
I am using a 1080ti and windows 11 as a host and windows 10 21H1 as a guest. The adapter shows in device manager without error 43.
Parsec didn't work for me out of the box, even after tons of tweaking it still had poor performance. I would suggest using the GPU-PV VM with Moonlight and Sunshine. It just works. Unfortunately the caveat that has been given to us with GPU-PV is that there is something baked in that keeps re-installing Parsec and its Scheduled Tasks, but you can still run it in tandem with Sunshine.
Follow this guide: https://www.youtube.com/watch?v=SewuUleDVug
Instead of Steam Deck, just install Moonlight on whichever client machine you need.
Parsec was only used in this project cause the maintainer is on the parsec dev team - it's a great tool. But like you said - Moonlight + steam/sunshine works just as well, and even better in some situations. You can run both in tandem and do not need to do anything special to do so.
I got sunshine/moonlight installed and saw a couple things of note. For me in parsec, diablo 4 will launch and run but never shows on the screen.
Moonlight will launch and run the game but it's capped at 30fps, ironically, if I just quit moonlight and connect parsec with diablo 4 running still, then parsec looks and works great.
@jordanfalduto How did you get sunshine to work well? Did you have the hyper-v adaptor enabled?
@perfectsine Sorry for the delay on this, we have a routine to launch Moonlight but I had forgotten it as it's my wife who uses it not me I built out Easy GPU P specifically to have a virtualized instance of Diablo 4 in GPU P running alongside my Diablo 4 version running on my host so I know Moonlight works very well with it
Launch Moonlight to connect to the VM running Sunshine Open Device Manager to disable the Hyper-V video driver Alt+F4 to close out of your Moonlight Open the Moonlight connection again and it will have the Hyper V video driver disabled and your GPU driver enabled. D4 and any other modern game like Baldur's Gate will see the GPU video driver primarily
Thank you for the explanation. I would like to use my Intel iGPU instead for Davinci Resolve. Is there a similiar Registry key for Intel iGPU?
Edit: I tried it with igfxn and igfxCUIS key but didn´t work. Not sure if there are any other corresponding keys
this solved my 0-5 fps problems on some games but do you guys experience occasional stuttrering/ frame drops while playing
the nvlddmkm.reg fix from @mitchellurgero seems to have worked for running many games, but still not successful for some games.
i found that when doing the fix, doing this additional step would increase the chances of success:
- after exporting
nvlddmkm.reg, but before sending it over to the VM... - open
nvlddmkm.regin a text editor (e.g. notepad) - and then replace all occurrences of "DriverStore" with "HostDriverStore"
- (make sure you don't do it twice, i.e. there should be no occurrences of "HostHostDriverStore" after you're done)