Qonfused / OSX-Hyper-V

OpenCore configuration for running macOS on Windows Hyper-V.
https://github.com/Qonfused/OSX-Hyper-V
BSD 3-Clause "New" or "Revised" License
234 stars 11 forks source link

Support for newer Intel CPUs #2

Closed 4c3y2k closed 1 year ago

4c3y2k commented 1 year ago

I just followed every single step under Windows 11 Pro Hyper-V and the macOS is freezing in boot sequence. Tried it with Ventura and Monterey. Any clues or any tips and tricks? Thanks. JJ

Qonfused commented 1 year ago

You'll want to use the DEBUG builds (or change these config.plist options) to get more info from verbose boot. It should also show any kernel panics if that is the cause of the hang.

Just to clarify, is this freezing booting the installer or a macOS installation? There is an issue with the Ventura 13.4 installer that I've seen in #1, but I haven't observed anything similar for Monterey.

4c3y2k commented 1 year ago

Thanks for reply. The installer booting is freezing. I haven't managed to install the macOS. Any clues why that is happening? Ty JJ

evil-little-chuan commented 1 year ago

can i have your efi file? i don't know what efi can run into the hyperv success.

maicol07 commented 1 year ago

Hi, I think I have the same issue, here is my log: opencore-2023-09-22-160407.txt

Qonfused commented 1 year ago

@maicol07 For 11th-13th gen, you'll need to use a CPUID spoof to fake as a Comet Lake CPU (ref).

Though you may already have done so based on the ucode data reported here?

00:011 00:000 OCCPU: Found 13th Gen Intel(R) Core(TM) i7-13700KF
00:012 00:000 OCCPU: Signature B0671 Stepping 1 Model B7 Family 6 Type 0 ExtModel B ExtFamily 0 uCode FFFFFFFF CPUID MAX (1C/80000008)
maicol07 commented 1 year ago

@maicol07 For 11th-13th gen, you'll need to use a CPUID spoof to fake as a Comet Lake CPU (ref).

Though you may already have done so based on the ucode data reported here?

00:011 00:000 OCCPU: Found 13th Gen Intel(R) Core(TM) i7-13700KF
00:012 00:000 OCCPU: Signature B0671 Stepping 1 Model B7 Family 6 Type 0 ExtModel B ExtFamily 0 uCode FFFFFFFF CPUID MAX (1C/80000008)

No, I only used the prebuilt EFI from releases

Qonfused commented 1 year ago

Ah ok, I wasn't sure if this was nominal reporting or not.

You'd want to use the CPUID and CPUMask values from Kernel -> Emulate -> Cpuid1Data for Alder Lake/Raptor Lake. As I mentioned before, this just spoofs the CPU reporting as Comet Lake (10th gen).

Cpuid1Data: 55 06 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00

That may be all that you need to do to get past your current issue.

There's also a dedicated guide for 12th/13th gen here; it primarily covers motherboard configuration/quirks, which aren't necessary here with Hyper-V. It's a good reference for optimizing XCPM (power management) and CPU topology (w/ P cores and E cores).

maicol07 commented 1 year ago

Thank you, that started logging but the installer didn't show up: opencore-2023-09-23-012021.txt

Qonfused commented 1 year ago

At this point, OpenCore has handed off control to the kernel (the macOS installer in this case). The OpenCore log unfortunately won't show anything after this point.

My guess is that the installer shows up in the OC picker but is getting stuck somewhere after. Are you getting anything on screen after selecting the installer? If it's freezing, I imagine it should stop at a kernel panic.

maicol07 commented 1 year ago

I've restarted the VM and now works! Thank you for the help!

Qonfused commented 1 year ago

I should probably mention somewhere that it may take a few reboots (back into the installer) once you have started the installation process. Just something to be aware of since it's not very clear.

My guess is that the original issue raised was possibly also related to CPUID reporting on newer Intel CPUs. As Hyper-V is a type-1 hypervisor, the CPU and any passed-through hardware need to be supported and/or patched as you would on a bare-metal Hackintosh.