jamesstringerparsec / Easy-GPU-PV

A Project dedicated to making GPU Partitioning on Windows easier!
4k stars 406 forks source link

Workaround: simply add support for vulkan and opengl support #342

Open simonlsp opened 7 months ago

simonlsp commented 7 months ago

Problem:

Cause:

Solution:

Known problems and workarounds

Result

All following results were captured while sunshine streaming.

image image

simonlsp commented 7 months ago

@Kodikuu With this workaround, I think it is time to change this line in the readme notes.

Vulkan renderer is unavailable and GL games may or may not work.

Yuzu emu and minecraft were tested, they worked flawlessly.

KenZync commented 6 months ago

I can't run blender with this solution

ichinoboy commented 6 months ago

Hi @simonlsp ,

I tried this in Windows 11 and it won't allow me to extend my monitor to 2nd one (Hyper-V) as it is not active. Do you have a workaround for this?

iso2013 commented 6 months ago

When I change the display settings on my instance of Parsec, the parsec connection hangs (completely unresponsive) and I have to restart my PC (killing Parsec from task manager freezes the rest of the PC. Not really sure why)

Edit: Tried connecting via Parsec from a different computer (I was connecting from the same computer that hosts the VM) and the crashing issue is no longer there, but I can't extend the displays - it immediately switches back to 'Show only on x' every time on its own.

djblue commented 3 months ago

In trying out the above, I ran into some issues but found what seems to be an optimal solution for myself. I have no idea why this is working for me, but here are the tweaked steps that seem to work:

If I ever close FurMark, things go back to broken, not sure why. I would assume that it is somehow keeping the graphics context up and available 🤔

Anyway, now I can freely disconnect/connect and not have to worry about juggling multiple monitors or ensuring the the graphics APIs are available and all my apps seem to work just fine 🎉 Hope this helps for those running into similar issues.

TimotheFCN commented 2 months ago

In trying out the above, I ran into some issues but found what seems to be an optimal solution for myself. I have no idea why this is working for me, but here are the tweaked steps that seem to work:

  • Connect via Parsec / Moonlight
  • Install the extra display with IddSampleDriver via scoop.

    • Not sure if this is only needed because I'm using Sunshine
  • Install FurMark to help detect if OpenGL and Vulkan are available

    • Running it at this point should fail
  • Re-enable the Microsoft Hyper-V Video Display adapter in Device manager
  • Connect to the vm display via Hyper-V, while still connected via (Parsec / Moonlight)

    • Windows should now register two displays
  • FurMark should now be able to open and you can confirm OpenGL is working

    • Vulkan doesn't work at this point for me
  • Close the display for Hyper-V
  • Now windows should only register a single display, but OpenGL and Vulkan should both be working in FurMark 🤯
  • Never close FurMark, just keep it running in the background, not even running benchmarks, just open

If I ever close FurMark, things go back to broken, not sure why. I would assume that it is somehow keeping the graphics context up and available 🤔

Anyway, now I can freely disconnect/connect and not have to worry about juggling multiple monitors or ensuring the the graphics APIs are available and all my apps seem to work just fine 🎉 Hope this helps for those running into similar issues.

Since this works, it might be possible to create a simple script that runs at startup which enables the hyper-v display, launches a sample blank app requiring vulkan/opengl (but not rendering anything), then turns off the display driver I will be looking into that

mikrofyr commented 2 months ago

This seems to work. I do see some stuttering in vulkan applications though. Same applications run smoothly outside hyper-v.

Wondering if there is some performance hit related to the workaround, or if it is just in general a performance issue with the hyper-v VM.

Several other graphics applications runs very smooth in the hyper-v VM. (they are not using opengl/vulkan as far as I know)

nenkoru commented 1 month ago

Have you fixed/encountered a problem with a Sunshine when it takes 3-10 times to actually connect without having an error about no video stream incoming or just pitch black screen?

update: I managed to fix the black screen issue by basically increasing the timeout to 60 seconds in the source of Moonlight-qt

rooftopdandelion commented 1 month ago

Hi can anyone post their windows version while getting this working? I'm running into the same issue as @ichinoboy . I've worked through different possible solutions (including @djblue 's) but the hyper-v display never becomes active. Thanks in advance!

waltmannz commented 1 week ago

Can't seem to get vulkan working with this setup, running win11 a 4090 and driver 555.85, tried a lot of variations of the setup above but the FurMark vulkan test never worked.

csitangelo commented 1 day ago

Thanks for this, Vulkan worked straight away after re-enabling Hyper-V Display Driver. Sunshine selects idd automatically :)

Fixed Yuzu, Stardew Valley, DOOM Eternal and any other game that couldn't detect a GPU