ygoe / HyperVSwitch

Hyper-V Switch – A simple GUI to enable or disable Hyper-V without uninstallation, allowing the use of other virtualisation solutions.
293 stars 38 forks source link

Does not work with Ryzen 3 2200G #4

Open NicksonYap opened 5 years ago

NicksonYap commented 5 years ago

It says Hyper V is active, however, not currently running so a restart may be pending

After several restarts, it is the same.

I was a able to start docker so Hyper V should be running

ygoe commented 5 years ago

Is virtualisation disabled in your BIOS/firmware setup?

NicksonYap commented 5 years ago

Hyper V is enabled, Docker required Hyoer V and it is running

I ended up creating shortcuts to a command line to turn on and off hyer V it works.

vital63 commented 5 years ago

Did you manage to run docker for windows on this processor? I consider buing such processor and it is important for me.

NicksonYap commented 5 years ago

@vital63 likely the wrong place to ask this question, but yes, it works flawlessly with 2200G on Windows

karolzlot commented 4 years ago

It is exactly the same bug on ryzen 3700x

I assume that this code doensn't work properly on amd:

private bool? GetHyperVRunning()
        {
            return !SafeNativeMethods.IsProcessorFeaturePresent(ProcessorFeature.PF_VIRT_FIRMWARE_ENABLED);
        }

I think it good idea to don't check it if amd is detected and just allow to switch on/off

karolzlot commented 4 years ago

The simplest solution is to just use version 1.0 instead of 1.1 of this app 😄

seascape commented 3 years ago

The simplest solution is to just use version 1.0 instead of 1.1 of this app 😄

Unsure if you're joking or not. I went to check out version 1.0 but the copy alongside it reads, "This version cannot yet show the current actual state of Hyper-V so it may display the wrong information until Windows has been restarted."

Does it actually work for toggling Hyper-V on Ryzen?

Cheers.

karolzlot commented 3 years ago

@seascape

I am not joking. I use version 1.0 successfully with ryzen 3700x. Version 1.0 doesn't have this check mentioned above, so it runs ok.

The only problem is that I need to restart Windows manually. App is only logging out which is not enough to change state of Hyper-V.

So after app logs you off just restart Windows.

seascape commented 3 years ago

@qqgg231 Thanks for your reply. I can confirm the behavior you explained for ver. 1.0 on Win10 Enterprise 20H2 / Ryzen 5900X. When I run this version of the app to disable Hyper-V, Hyper-V Manager still seems functional except that it cannot actually start/restart a VM, which suggests Hyper-V is disabled.

One thing that gives me pause is the Hyper-V Virtual Ethernet Adapter still shows in Task Manager (pictured) and even has little ticks of send/receive activity every 10-20 seconds. If I had to guess I'd say Hyper-V is most likely disabled, though the Ethernet sticking around makes me doubt a bit. Can I assume that is normal behavior even when virtualization isn't running?

Clip 002599 Task Manager

ygoe commented 3 years ago

@seascape As far as I remember the purpose of disabling Hyper-V is to allow other virtualisation software to work. So that's probably the best test to determine whether it's properly (or sufficiently) inactive. Just try to do what didn't work with Hyper-V active and see if it works. Then you're good, no matter what other systems say.

I haven't used this tool in a while because I haven't used the Android emulator for Visual Studio (I believe that was made with Hyper-V). But that need might return later this year so then I'll be using this tool more often again. But I've still got the same hardware has 2016 (it's still more than good).