5T33Z0 / OC-Little-Translated

ACPI Hotpatches and Guides for the OpenCore Bootmanager. Enhance and fine-tune your system by adding devices and enabling additional features not covered in the OpenCore Install Guide.
BSD 3-Clause "New" or "Revised" License
504 stars 71 forks source link

VMM Spoof not working with real MacbookPro10,1 #82

Closed MacNB closed 11 months ago

MacNB commented 11 months ago

Hi, Problem: real MacbookPro10,1 running Big Sur 11.7.9 setup via clean install using OCLP 0.6.8. all went well. Problem is in SystemPreferences under Software update, it not showing Ventura as an available Update.

I followed your guide: 09_Board-ID_VMM-Spoof and tried both Option 1 and Option 2 methods to get OTA listed but neither works.

Solution: (not ideal) The only way I could get Ventura listed as an Update was to set Cpuid1Data and Cpuid1Mask = 0x00000000000000000000008000000000

OCLP 0.6.8 now uses AMFIPass.kext. OCLP for this real rMBP10,1 sets revpatch=f16c which is suppose to fix a potential issue with iGPU. Anyway, I changed it to sbvmm but it did not help.

Any ideas ? Could it be that the FirmwareFeatures needs to be setup in PlatformInfo ? OCLP generated config.plist attached: config-original.plist.zip

5T33Z0 commented 11 months ago

This guide is for Hackintoshes only! If you are on a real Mac, OpenCore legacy patcher does generate the EFI and required Settings for you, includiong the Board-id VMM spoof. So you don't need to worry about it.

So I suggesr you just generate a new EFI in OpenCore Legacy patcher and use that instead.

MacNB commented 11 months ago

Yes I understand your guide is for Hackintoshes. I should have explained more details. OCLP App generated the EFI and the config.plist and is very similar to yours (as attached above).

Everything works great...except there are no OTA software updates. That is, Spoofing does not work so that is why I tried your method and that does not work either.

5T33Z0 commented 11 months ago

This is something I only learned recently and is covered in Chapter 14, OCLP_Wintel.

I am not certain that you can simply skip a macOS version.

The Easiest thing would be to just dowload the Ventura installer through OCLP and instal that.

IMO: Stay on Big Sur. I have a powerful Lenovo T530 with an i7 that kills the MBP10,1 in terms of benchmarks But past Big Sur, perfromance suffers.

MacNB commented 11 months ago

Reroute kern.hv_vmm_present patch (3) has MinKernel set to 22.0.0 which means it is ineffective when booting Big Sur and only effective when booting Ventura.

Sure you can skip macOS versions. That is, you can upgrade from Big Sur to Ventura. In fact, it's actually macOS S/W Update that actually forces you upgrade to the latest...i.e. Ventura if you are running Big Sur. When I turn ON the VMM flag in Cpuid1Data and Cpuid1Mask that's exactly what happens. There's a slight disadvantage to leaving those two flags ON as it degrades performance but it is a work around.

The problem is not about installing Ventura. The problem is about NOT seeing OTA updates if you are already running the latest Big Sur 11.7.9 (20G1426). E.G. tomorrow there may be a Big Sur OTA update but the current VMM Spoof will not show it. Unfortunately, OCLP Devs have stopped accepting bug reports on Github so will not know of this issue.

Regarding Big Sur performance on the real rMBP10,1 I am quite surprised how well it works compared to Catalina. It's just as snappy and smooth...in fact slightly faster. GB5 benchmarks are the same.

5T33Z0 commented 11 months ago

You're right! I totally missed the MinKernel setting. It's set to 22.0.0 in OCLPs config sample as well, so I didn't think about it. But I don't think this is an issue. Because this patch only needs to kick in once Ventura's kernel is running. And that happens once the installer reboots.

So If you won't get notfied about a possible Upgade, use OpenCore Legacy patcher to Download macOS Ventura and run the installer from within Big Sur.

About revpatch: you can combine multiple flags in NVRAM like so: sbvmm,memtab,f16c (I use these on my T530).

MacNB commented 11 months ago

OK Thx.

Like I said, the current workaround to be notified of updates is to turn ON the VMM flag in Cpuid1Data and Cpuid1Mask. And, only turn it ON when we know there's an update available through various usual channels.

Good tip regarding adding multiple flags for revpatch.

5T33Z0 commented 11 months ago

Cpuid1Data and CpuidMask are for spoofing CPU Models. There is no "VMM" flag in this section:

Bildschirmfoto 2023-08-12 um 12 52 23

Once the board-id spoof is active, the CPU shouldn't matter since it report the VMM board-id to the update servers signalling that it is running in a virtual machine environment.

MacNB commented 11 months ago

Cpuid1Data and its mask are used to spoof the CPU model but it has an "undocumented" VMM flag that OpenCore uses to set the environment as a Virtual Machine. In effect it tells macOS that it is running in a VMM.

This is not documented in OpenCore manual. I have used it on my real MacPro5,1. See this thread and scroll down to Complete your setup and search for VMM Flag.

Here's how I use it:

Screenshot 2023-08-12 at 14 08 52

When a bit is 0 then that bit is not replaced and the original is kept. So to turn VMM OFF, simply replace the 80 in the CpuidMask to 00

5T33Z0 commented 11 months ago

Interesting. But Updates work on all my nachines. But I will read the thread to figure out what this is about.

MacNB commented 11 months ago

Cool.

BTW, for your Lenovo as a MBP10,1 did you set the FirmwareFeatures and its Mask ?

5T33Z0 commented 11 months ago

No, only PlatformInfo/Generic. Is it relevant for anything?

MacNB commented 11 months ago

Yes it can be. Instead of using VMM, a combination of SecureBootModel and FirmwareFeatures can effectively enable OTA Updates. Again, I have tried that with my MacPro5,1 and works. It's documented in that MacRumors link above. I am trying to figure out what the FirmwareFeatures value for my rMBP10,1 that can spoof the macOS.

5T33Z0 commented 11 months ago

I think OC applies a Firmware Feature mask based on the seleceted SMBIOS in the background automatically. But Clover Configurator does generate it automatically. I think for Big Sur and newer you need to use the values of the extended Mask.

SMBIOS MBP10,1

Option Value
FirmwareFeatures 0xE00DE137
FirmwareFeaturesMask 0xFF1FFF3F
ExtendedFirmwareFeatures 0x00000000E00DE137
ExtendedFirmwareFeaturesMask 0x00000000FF1FFF3F
MacNB commented 11 months ago

Thx. Where did that table above come from ?

5T33Z0 commented 11 months ago

As I sad: Clover Configurator