Contribute
Register

X299 Big Sur Support

Joined
Feb 3, 2016
Messages
18
Motherboard
Asus X99-A II
CPU
i7-6900K
Graphics
SAPPHIRE Radeon RX Vega64 8GB HBM2 LC
Mobile Phone
  1. Android
PRELIMINARY METHOD FOR INSTALLING BIG SUR ON SYSTEM WITH BROKEN NVRAM

After much testing I think I have a reproducible method by which someone can do a fresh Big Sur install without having working NVRAM.

At least, this method is working reliably for me in my tests. I am testing a 'broken NVRAM' situation by clearing my NVRAM from the OpenCore picker after each reboot.

@rustEswan @amitbapat @oli.mathieu and anyone else with broken NVRAM, if one of you could try this method to confirm it works on a real board with no NVRAM, that would be great.

So far I have only tested this with a fresh Big Sur install. I will look at upgrades next. The same method likely also works for upgrades, but the script provided definitely won't. I hope to have news on upgrades in the next 24 hours.

THE METHOD

Please read and follow the method carefully.

Requirements: A Big Sur install USB stick, with EFI containing OpenCore 0.6.3 DEBUG version and suitable config capable of booting and running Big Sur on your system.

In order for this preliminary method to work, you must set Target = 65 in config.plist, which will enable debug boot logging. This will create opencore-<date>.txt logfiles in the root of the EFI partition on your USB.

In order to run the script necessary for generating the required NVRAM key, you must have another macOS system available. This could be a second Hack, a real Mac, or even the same X299 Hack if you reboot to an existing install (though in this test that would also require some disk swapping, as I'd like you to do the install with no other drives plugged in).

In future I hope to provide a method that requires no second system, but for now you need to run a command line script on macOS to generate the necessary NVRAM key, which is based on data in your OpenCore logfile.

Script: Download the script from this URL. Save it somewhere you can easily run it from Terminal, eg your home directory.

Preparation:
  1. Find a suitable SSD on which to do a test install of macOS. I have been using a spare 120GB SSD.
  2. Remove all other SSDs/NVMe drives from the machine during the install process. This shouldn't be necessary in future, but to ensure the success of this test run and my script for generating the key, I want to be sure no other drives are present that could affect anything.
  3. Get a USB stick prepared with the Big Sur installer, and your EFI partition.
    1. Please prepare the USB stick according to the Dortania guide, using gibMacOS: https://dortania.github.io/OpenCore.../mac-install.html#downloading-macos-modern-os
  4. The EFI partition must contain OpenCore 0.6.3 DEBUG version
  5. The config.plist must have Target = 65 set, so that debug logging will be written to the USB EFI.
  6. If you have any existing opencore-*.txt logfiles, please move or delete them, so you can be sure you know which log files were generated during the test run.
The method:
  1. Boot from USB and choose the Install Big Sur option from the USB drive.
  2. When the GUI appears, open Disk Utility.
  3. Format your target SSD as APFS / GUID. Give it any name.
  4. Now run the installation as normal.
  5. When it gets to "12 minutes remaining", the system will reboot.
  6. Let it reboot to OpenCore, but then do not select any option in the boot picker. Just get to the boot picker menu, then:
  7. SHUTDOWN THE SYSTEM AND REMOVE THE USB STICK.
    1. We will return to it in a moment. But first we need to edit the config.plist.
    2. It is vital it does not continue automatically into step two of the install, as if it starts and fails this process, you will likely have to start from step 1 again.
  8. Take your USB stick and mount the EFI on your secondary macOS machine.
  9. Look in /Volumes/EFI and note the most recent opencore-*.txtlogfile.
    1. We want the logfile that was generated by step 6 - when you rebooted after stage 1 of the install, and then shut down the system without selecting any option.
  10. Open Terminal.
  11. Change to the directory where you downloaded my script.
  12. First we need to make it executable, run:
    1. chmod +x GenNVRAMKey.command
  13. Now run it:
    1. ./GenNVRAMKey.command
  14. It will prompt you for the location of an OpenCore logfile. You can either type in the path, or just drag and drop the file from Finder, which will paste in the path. Then hit enter.
    1. For example: /Volumes/EFI/opencore-2020-11-30-151132.txt
  15. If it has worked correctly you will be given some code to put in config.plist, as in the following screenshot
    1. View attachment 499223
  16. Open your config.plistin a text editor:
    1. Scroll down to NVRAM -> ADD -> 7C436110-AB2A-4BBB-A880-FE41995C9F82
      1. This entry should already exist in your config.plist, as it's used to supply csr-active-config, amongst others.
    2. Paste in the two lines of code given by the script, and save the file.
    3. With the lines added, file should look something like this (your data value will differ, of course):
      1. View attachment 499229
  17. Unmount your EFI, and put the USB back in the X299 system.
  18. Boot again from the USB, and continue the install by choosing "macOS Installer" from the OpenCore menu, as your normally would. It won't be the default entry, due to your broken NVRAM.
  19. If the method has been successful, you expect the next stage of the install to take 10-20+ minutes, rather than rebooting immediately as it would have done before.
  20. It will reboot 3 more times before you reach the setup screen.
  21. Note that on one or two of the later reboots you might see that the progress bar is right back to the beginning, and doesn't move at all during that stage of the process. This is OK, don't abort it; it should still complete fine. I believe the progress bar level is set by another NVRAM variable, and without this it shows the bar right at the beginning. It's just cosmetic.
  22. Once you've (hopefully) reached the setup screen and created your account and logged in, you can confirm that diskutil apfs list shows "Snapshot Sealed: Yes" (though the filesystem itself will be 'Broken', as we were talking about in recent posts), and that the OS is running fine.
  23. The NVRAM key you added (msu-product-url) can either be removed or left in config.plist - it should work identically for future updates if any require it, however Big Sur to Big Sur upgrades use a new method, based on snapshots, so it may not be needed again.

And that's it. Someone try it out and let me know if it works, and do report back if you have problems anywhere along the way.

Once it's confirmed to work on machines with real broken NVRAM, I'll start investigating the update process. And if/when I can get it working reliably for both installs and upgrades, I will contact Acidanthera and see if they'd be interested to add this method as a Quirk, to fix upgrade/install for anyone with non-working NVRAM. No guarantees they'll consider it suitable to add, but I'll have a go. At the very least, I'll look into making a Dortania guide for it in future.

But first we need to see if it works :)
I followed your guide to do a fresh install Big Sur on my ssd successfully and works great. What a amazing guide for people who has Asus x99 motherboard without BIOS firmware patching like me. Everything is working but i got black screen wake from sleep. I bet it has something to do with graphic card because it doesn't look right in system report - PCI section. Therefore, I tried patch SSD-VEGA64.aml for my graphic card. Unfortunately I failed and needs someone's help. Thanks
 

Attachments

  • 1.jpg
    1.jpg
    651.1 KB · Views: 34
  • 2.jpg
    2.jpg
    457.9 KB · Views: 34
  • 3.jpg
    3.jpg
    478.9 KB · Views: 32
  • config.plist
    34.1 KB · Views: 20
  • DSDT.aml
    217.6 KB · Views: 17
  • IOREG.save.ioreg
    16.4 MB · Views: 18
  • SSDT-X99-Vega64.aml
    1.4 KB · Views: 19
Joined
Jan 29, 2011
Messages
97
Motherboard
Asus WS X299 Sage 10G
CPU
i9-7980XE
Graphics
RX 580
Mac
  1. Mac mini
Mobile Phone
  1. iOS
Use the new RestrictEvents kext and it will fix your memory configuration errors. No need to add anything to the config.plist anymore. (Make sure Custom Memory is disabled in the plist).

Note this is for MacPro7,1 SMBIOS.




Go to System Preferences > Startup Disk > Unlock and pick your macOS disk and lock the tab again, it will bless macOS to be the default OS.

If you get some type of NVRAM error, you need to fix that.
Thanks @izo1 for the pointer on the RestricEvents kext - will have a look at this when I get some time.

The changes in System preferences for boot disk selection were the standard means of setting defaults but there is something different about the NVRAM on the EVGA X299 Dark resulting in any changes made in SP not sticking.
 
Joined
Jan 29, 2011
Messages
97
Motherboard
Asus WS X299 Sage 10G
CPU
i9-7980XE
Graphics
RX 580
Mac
  1. Mac mini
Mobile Phone
  1. iOS
Does anyone know why Intel Power Gadget is not reporting the Power draw accurately on the X299 (temps/frequency etc. seem 0k) IPG works 'out of the box' on the Z390's I have.

Screenshot 2021-01-11 at 10.30.37.png
 
Joined
Mar 18, 2017
Messages
1,031
Motherboard
ASUS ROG Rampage VI Extreme
CPU
i9-7940X
Graphics
2 X VEGA 56
Mac
  1. iMac
  2. Mac mini
Mobile Phone
  1. iOS
Does anyone know why Intel Power Gadget is not reporting the Power draw accurately on the X299 (temps/frequency etc. seem 0k) IPG works 'out of the box' on the Z390's I have.

View attachment 504618
Specific HW sensors were developed for our X299 system, they were part of FakeSMC. kext and pluggings like CPUsensors and HWsensors or SuperIOsensors see on Github @interferenc HWsensorsX299.

At that time, we were using Clover as bootloader.

Now with OPenCore boatloader I don't know if there are specifics sensors for X299 on SMCProcessor.kext or SMCSuperIO.kext
So this should explain some restrictions with Intel Power Gadget.

It seems possible to compile with Xcode the kext "HWsensors X299" and attach them to the OC EFI, but its just my idea and i don't know if it will work and if better.
 
Last edited:
Joined
Jan 29, 2011
Messages
97
Motherboard
Asus WS X299 Sage 10G
CPU
i9-7980XE
Graphics
RX 580
Mac
  1. Mac mini
Mobile Phone
  1. iOS
Thanks for that. When I get some time I'll have a look and report back with any updates.
 

Ellybz

Retired
Joined
Apr 16, 2017
Messages
415
Motherboard
Gigabyte X299 WU-8
CPU
I9-7980Xe
Graphics
RX 580
Mobile Phone
  1. Android
@dny87
You should not have any issues with any of the EFIs for Gigabyte X299 reported in this forum thread. they're all validated to work @100% with Big Sur. Note that during the install, if the activity led of your Hack is still blinking, it means that it's working, so be patient & let it do his thing. ( it might give you the idea it has frozen )

If you're a beginner with Open Core, I suggest you to do more readings or try the Dortania guide, it's a good way to start. The first posts by @Loloflatsix in this thread are also a "MUST" read.

Lastly, If you have tried all the Gigabyte EFIs reported by @Loloflatsix or myself in this thread, and none are working, your issue comes from somewhere else. ( Bios, GPU or hardware).

Don't forget to clean your NVRAM before the Install ( Boot picker option in OpenCore )
 
Last edited:
Joined
Mar 18, 2017
Messages
1,031
Motherboard
ASUS ROG Rampage VI Extreme
CPU
i9-7940X
Graphics
2 X VEGA 56
Mac
  1. iMac
  2. Mac mini
Mobile Phone
  1. iOS
EFI OC 0.6.5 Asus Rampage R6EE :
- SMBIOS MacPro7,1 with CustomMemory.plist ( To adapt for other configs with appropriate USBmap.kext, DeviceProperties, Custom SSDTs ( GPU, Thunderbolt, etc...), Serial Number, SMUUID, CustomMemory.plist, etc...)
 

Attachments

  • EFI OC 0.6.5 ASUS RAMPAGE R6EE.zip
    8.8 MB · Views: 105
Last edited:
Joined
Jan 29, 2011
Messages
97
Motherboard
Asus WS X299 Sage 10G
CPU
i9-7980XE
Graphics
RX 580
Mac
  1. Mac mini
Mobile Phone
  1. iOS
EFI OC 0.6.5 Asus Rampage R6EE :
- SMBIOS MacPro7,1 with CustomMemory.plist ( To adapt for other configs with appropriate USBmap.kext, DeviceProperties, Custom SSDTs ( GPU, Thunderbolt, etc...), Serial Number, SMUUID, CustomMemory.plist, etc...)
Here is my EFi for the X299 Dark based on Opencore 0.6.5.

I had posted a detailed guide for @dny87 which actually took me a long time but unfortunately it didn't pass moderation! No idea why.

Thanks for all who helped me on this platform particularly Loloflatsix.

Good luck with your builds.

Ian
 
Top