jamesstringerparsec / Easy-GPU-PV

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

Bypass VM detections by changing cpuid hypervisor bit #226

Closed jimmyhlyu closed 1 year ago

jimmyhlyu commented 2 years ago

Is there any way we could modify the hypervisor bit in order to bypass those VM detections? This is simple in VMware setting "hypervisor.cpuid.v0 = "FALSE"" in the vmx file. But not sure how to do it in Hyper V.

scriptgenerator64 commented 1 year ago

I second this, makes GPU-PV unusable for most of my games

jamesstringerparsec commented 1 year ago

This is not possible in Hyper-V

mxdh commented 1 year ago

Enable Hyper-V in the Guest OS Since Hyper-V also sets the cpuid hypervisor bit, this can trick many games, such as the Genshin Impact

scriptgenerator64 commented 1 year ago

Interesting, I'll be sure to test it out! One particularly pernicious game I want to get working under GPU-PV is VRChat after their latest "security update"

UPDATE: No dice on VRChat, but it may be because I am using an AMD processor with a Windows 10 host and thus am unable to perform nested virtualization or enable the full Hyper-V platform in a Hyper-V VM

mxdh commented 1 year ago

Interesting, I'll be sure to test it out! One particularly pernicious game I want to get working under GPU-PV is VRChat after their latest "security update"

UPDATE: No dice on VRChat, but it may be because I am using an AMD processor with a Windows 10 host and thus am unable to perform nested virtualization or enable the full Hyper-V platform in a Hyper-V VM

Easy-GPU-PV does not enable nested virtualization for Win10 on AMD platforms

https://github.com/jamesstringerparsec/Easy-GPU-PV/blob/fb295b0119c52cd0d283d6451d83bb80509e32d0/CopyFilesToVM.ps1#L4377-L4381

But with reference to https://techcommunity.microsoft.com/t5/virtualization/amd-nested-virtualization-support/ba-p/1434841, maybe it is possible to make it?

scriptgenerator64 commented 1 year ago

It is an artificial limitation by Microsoft (https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization#prerequisites)... I'll test things out again once I get around to migrating to Windows 11

scriptgenerator64 commented 1 year ago

I finally got around to testing it, no change sadly... VRChat's implementation of EAC makes Hyper-V a non-option for now... if only there was a way to edit the .vmcx binaries directly to trick the OS into thinking that the virtualized hardware is physical