## 1. Project Overview & Quickstart (dortania/why-oc)

# why-oc

Open-source repository dortania/why-oc

### Repository Details
- **Repository:** [dortania/why-oc](https://github.com/dortania/why-oc)
- **Primary Language:** Code

*Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.*

## 2. Official Technical Reference & Guides (dortania/dortania.github.io)

## File: README.md

# Home to the Dortania Guides

Welcome to the Dortania home page. This site will serve as a starting place for your macOS journey.

---

## File: _config.yml

title: "Dortania"
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
github_username: dortania
theme: minima
header_pages:
  - topbar/a-about.markdown
  - topbar/b-troubleshooting.markdown
  - topbar/d-forums.markdown
  - docs/README.md
  - topbar/e-builds.markdown
plugins:
  - jekyll-feed
  - jekyll-mentions

---

## File: giscus.json

{
    "origins": ["https://dortania.github.io"]
}

---

## File: _posts/2019-10-07-catalina.md

---
layout: post
title:  "What's new in Catalina"
date:   2019-10-07 7:00:00 -0600
categories: Hackintosh updates
---

 * What has changed on the surface
    * Sidecar
    * Death of iTunes
    * iCloud Drive folder sharing
    * Screen Time
    * Apple Watch Authentication
 * What's new under the hood
    * All system files were moved to a read-only partition
    * Removal of 32bit support
    * Modification of the AirportBCRM4331.kext
    * Reinjection of AirportAtheros40 kext
    * Removal of MacPro4,1 and 5,1
    * Restore macOS from a snapshot
    * Kexts moved out of kernel space
    * Support for Catalyst based apps
    * Removal of the OpenGL fallback UI renderer
 * Current issues with Catalina
    * Lilu loading
    * AppleACPICPU stalling
    * Can't write to Library/Extensions to add my kexts
    * Requiring EC device
 * Should you update and how to proceed
 * What's new in the hackintosh scene?
    * A new ~~foe~~ Boot Loader has appeared!
    * AptioMemoryFix is dead, long live FwRuntimeServices!
    * Clover folder structre changes
    * Where's the Navi support?
    * Chrome being dumb again


# So where are the Nvidia Drivers?

 There are none, stop asking. There will be no support for non-Kepler GPUs in Catalina, let it go man. It's not healthy to keep a toxic relationship going, it's best for the both of you.

 If you need a new GPU, please refer to the new [GPU Buyers Guide](https://dortania.github.io/GPU-Buyers-Guide/) and the [Disable your unsupported GPU Guide](https://khronokernel-4.gitbook.io/disable-unsupported-gpus/)

# What has changed on the surface

 The average stuff, skip to **What's new under the hood** for the more important info.

 **Sidecar**

 This is probably the feature users are most excited for, what Sidecar allows us to do now is run a supported iPad running iPadOS 13 to be used as a secondary display to either your Mac Hackintosh with minimal latency compared to [duet display](http://www.duetdisplay.com/?gclid=CjwKCAjwx_boBRA9EiwA4kIELkwxgPYZMk-z68nN1hh0wWuJC2nkk7SREpKdYkMyTEhFskFcwZRscxoCofUQAvD_BwE) and [Astropad](https://astropad.com) with full Apple Pencil Passthrough.

 >But what's the catch?

 Well, the catch with this is that there are a few requirements to run Sidecar officially:

 * A GPU supporting H.265/HEVC encoding, Skylake+ iGPUs or Polaris/Vega dGPUs
 * An iPad with an A8X CPU
 * A [supported wireless card(mainly Bluetooth matters)](https://dortania.github.io/Wireless-Buyers-Guide/) or Lighting cable(Sidecar can operate both wirelessly and wired)
 * A SMBIOS supporting Sidecar
 * Both machines on the same Apple ID

 While it is possible to get around the SMBIOS limitation, it can be quite unstable for some users so we advise against modify the Sidecar framework unless you know what you're doing. And users have reported in laer betas that these hacks no longer work.

 Bypass the SMBIOS restriction:

     defaults write com.apple.sidecar.display allowAllDevices -bool YES

 Unlocking the System Preferance Pane:

     defaults write com.apple.sidecar.display hasShownPref -bool true

 [Source](https://twitter.com/stroughtonsmith/status/1136413491462594560)

 SMBIOS which officially support Sidecar:

 MacBook:

 * MacBook8,1
 * MacBook9,1
 * MacBook10,1

 MacBook Air:

 * MacBookAir8,1

 MacBook Pro:

 * MacBookPro13,1
 * MacBookPro13,2
 * MacBookPro13,3
 * MacBookPro14,1
 * MacBookPro14,2
 * MacBookPro14,3
 * MacBookPro15,1
 * MacBookPro15,2

 Mac Mini:

 * Macmini8,1

 iMac:

 * iMac17,1
 * iMac18,1
 * iMac18,2
 * iMac18,3
 * iMac19,1
 * iMac19,2

 iMac Pro:

 * iMacPro1,1

 Mac Pro:

 * MacPro7,1

 **Death of itunes**

 While for some reason this is what all the headlines want to talk about, the idea of iTunes is not dead. Instead, it's more of rebirth and cleaning of iTunes by separating it into 4 apps:

 * Music
 * Podcast
 * AppleTV
 * Finder

 And the only real groundbreaking change from this is that your iPhone will now be synced through Finder instead of iTunes.

 **iCloud Drive folder sharing**

 This one is my personal favourite as this will very useful for sharing files when troubleshooting Hackintoshes on the subreddit. But unfortunately were pretty stubborn in our ways so we'll probably still be dealing with sketchy websites when downloading EFIs, but a slav can dream.

 **Screen Time**

 Have a serious problem trying to do work on your mac/hack without getting distracted? Well, now you can finally curb a bit of that addiction and be a bit more productive as long as you have the willpower not to disable Screentime. We'll see how useful/annoying this becomes

 **Apple Watch Authentication**

 Pretty straight forward, macOS will allow you to replace your password with your Apple Watch in more places. Do keep in mind this requires a [supported wireless card](https://dortania.github.io/Wireless-Buyers-Guide/).

# What's new under the hood



 **All system files were moved to a read-only partition**

 Probably the biggest change to Catalina is the separation of user files from the systems. Where this becomes a real problem is users upgrading to Catalina from an existing partition as files can become damaged/corrupted while the conversion happens.

 To avoid this, make a new APFS volume just for Catalina and install fresh onto there. From there run migration assistant off your old partition and then delete it.

 **Removal of 32bit support**

 Another potential issue is that 32bit apps no longer work, the people who are most likely to be affected by this are laptop users who use USB wireless dongles that require old 32bit apps. And these apps are likely not to be updated.

 But the upside to this AMD users will have much better AMD support for many apps, problem is that Apple that still call upon Intel specific functions still break. So depending on how Adobe handles this, Lightroom and others may finally be fixed(or we realize that there's more code tied to Intel than we expected).

 **Modification of the AirportBCRM4331.kext**

 Quite an odd change is how the AirportBCRM4331 kext was merged into the AirPortBrcm4360 kext. While no hardware was dropped an odd side-effect came that AirPortBrcm4360 wouldn't load even when BCRM4331 based hardware was installed. From my tests, an authentic Apple Airport BCM94331 would load without issues but third party models seem to be a hit or miss.

 A solution to this is to force-load the AirPortBrcm4360 kext.

 **Reinjection of AirportAtheros40 kext**

 Well for those running older Atheros cards may have a rude wake up call, reinjecting the old AirportAtheros40.kext seems to fail on many systems. A partial solution is to actually port the entire IO80211 framework but this is not ideal for many reasons...

 Only good solution is looking for a new card: [Wireless Buyers Guide](https://dortania.github.io/Wireless-Buyers-Guide/).

 **Removal of MacPro4,1/5,1 and the death of Dual Socket Systems**

 Press F to pay respect for our fallen Cheesegrater, you've served us well but it is time for you to go now and rest. One odd quirk to Catalina is that now no systems are supporting Dual Socket CPUs in Apple's line up and because of this they've decided to change the AppleIntelMCEReporter.kext. This change causes errors when booting iMacPro1,1 or MacPro6,1 SMBIOS with Dual CPU configurations so we need to overcome this by blocking it. There’s multiple methods including making a [blocker kexts](https://github.com/khronokernel/DisableMCEReporter-/releases), blocking via OpenCore or using [CPUFriend](https://github.com/acidanthera/CPUFriend/releases). As things currently stand, CPUFriend cannot block but this may change in future releases.

 [Source](https://www.insanelymac.com/forum/topic/339035-pre-release-macos-catalina/?do=findComment&comment=2681826)

 **Restore macOS from snapshot**

 OS Update break literally everything? Well now you don't need to rely on third party software for snapshots, now you can easily return to a state where macOS wasn't broken. This is done within the recovery partition.

 **Kexts moved out of kernel space**

 While this won't directly affect us in Catalina, kexts running in kernel space will now be deprecated. What this means is kexts like [Lilu](https://github.com/acidanthera/Lilu) won't have the low-level access it requires to perform its necessary patches. But deprecation doesn't mean removed, Clover's kext injection system has been deprecated since 10.7 but Apple has yet to remove it from macOS(well 10.16 might finally change that). So don't fear too much but keep this as a reminder that not everything will last as it is. Most if not all of Apple's kernel extensions are still in kernel space so they got a shit ton of work to do themselves.

 **Support for Catalyst based apps**

 Get ready for a flood of iOS apps on the App Store cause now everyone's a Mac developer! There's no real hardware requirement besides natively supported hardware, that means users who have been patching their GPU drivers from High Sierra may have issues running Metal based applications.

 **Removal of the OpenGL fallback UI renderer**

 Unlike Mojave, systems with non-Metal GPUs can no longer be accelerated (without some super gross patches). This means that it's even more difficult to run a Vanilla system with older GPUs, so we recommend upgrading when possible similar to the Airport Atheros situation.

 Credit to u/ASentientBot

# Current issues with Catalina

 * Lilu won't load.
    * This means Lilu has not been updated for Catalina, either update [Lilu](https://github.com/acidanthera/Lilu/releases) or add flag `-lilubetaall`.
 * ~~It doesn't fill the void within you~~
    * ~~2 parts Green Apple Vodka, 1 part Clorox. Repeat every 15 min~~
 * Stalling on `kextd stall[0]: AppleACPICPU`.
    * SMC emulator isn't loading, make sure VirtualSMC and Lilu are updated. Temporary solution is `-lilubetaall`, update your kexts or swap for [FakeSMC](https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/)
 * Can't write to Library/Extensions to add my kexts.
    * While quite rare to need kexts in L/E, for those needing to do so can run `sudo mount -uw /` to mount the drive for read/write.
 * Stalling on `apfs_module_start...`, `Waiting for Root device`, `Waiting on...IOResources...`, `previous shutdown cause...`
    * So with macOS catalina, there were some changes in how AppleACPIEC works which makes it so when it doesn't pass the checks and therefore stall. Specifically the Embedded Controller(EC) has new processes happen to it:

 1. AppleACPIPlatform.kext loads and sets all devices with the ACPI name of `EC__` and device `PNP0C09` the property of `boot-ec`
 2. It then hands off control to its plugin, AppleACPIEC.kext, and starts a probe for either `PNP0C09` or `boot-ec`
 3. When loaded, it will then verify for the other meaning we must have both `PNP0C09` and `boot-ec`. If not, macOS will just get stuck but due to the nature of parallel kext loading we don't explicitly see the error instead seeing errors such as `apfs_module_start...`, `Waiting for Root device`, `Waiting on...IOResources...`, `previous shutdown cause...`, etc. And guess what, most PCs don't have their embedded controller named `EC__` instead known by `EC0_`, `H_EC` or `ECDV`.(Lenovos are the rare exception)

 To get around these problems, we have a whole guide!:

 * [Fixing ECs for macOS Catalina](https://khronokernel.github.io/EC-fix-guide/)

 This is also covered in the [OpenCore Vanilla Guide](https://dortania.github.io/OpenCore-Install-Guide/) already

 Sources:

 * [AppleLife](https://applelife.ru/posts/807985)
 * [Platform hardware implementation requirements](https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/platform-hardware-implementation-requirements)

# Should you update and how to proceed

 No, the majority shouldn't update as this is a .0 release meaning there's going to still be a lot of bugs hiding within potentially causing many headaches. The best practice is to wait until either 10.15.1 or even 10.15.2 as the majority of bugs will have been fixed by then.

 Regarding how to update, make check the following:

 * Backup EVERYTHING including your EFI before you updated your kexts or Clover
 * Update Clover
 * Update kexts
 * Update firmware drivers(make sure you adjusted for the new drivers/UEFI path)
 * Verify if your EC device is setup correctly(An absolute must, or else no Catalina for you)
 * Do a once over of the [Vanilla Guide](https://hackintosh.gitbook.io/-r-hackintosh-vanilla-desktop-guide/)(so you can see what methods have been removed and are no longer needed)
 * Make a new APFS volume to install Catalina on(never upgrade, always install fresh)
    * DiskUtility -> SSD -> + -> Add APFS Volume to Container
 * Install Catalina and use migration assistant on the old drive

 For those who want the terminal command for the USB:

     sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

# What's new in the Hackintosh scene?

 **A new** **~~foe~~** **Boot Loader has appeared!**

 From the folks that brought you the many wonders of the Hackintosh world as Lilu, VirtualSMC, WhateverGreen, AptioMemoryFix and so much more are here to present the next step in hackintoshing!: [OpenCore](https://github.com/acidanthera/OpenCorePkg). Currently in beta, what OpenCore wishes to accomplish is to make the Hackintosh environment more like a real mac by adopting many of these features and guidelines like Bless support and little to no ACPI patches. As things are now, most users have no reason to switch to OpenCore but as time goes on Clover may become more and more aged to the point that for many it will become too unstable.

 The most interesting part about OpenCore for AMD users is that this will alliviate most of the fear around macOS updates, specifically that the kernel patches will no longer need to be updated for every single minor OS update. The reason being is that the actual patches around AMD CPUs rarely had drastic change, instead just needing to  re-caluculate the offset for each update. Well with OpenCore, we're now able to specify a mask meaning that it'll figure out the offset for us. But this still isn't utimately perfect, reason being is Apple can always throw a curve ball like they did with `10.13.1-.3` vs `10.13.4-.6` but this is still great news. But the downside is that Clover users won't be getting macOS Catalina as AlGrey has no intention to work with Clover ever again instead letting others convert the patches, so better learn how to make your patches!

 OpenCore Catalina AMD patches have be posted on both the [AMD OS X Discord](https://discord.gg/EfCYAJW) and linked here(Patches work with all versions of High Sierra, Mojave and Catalina):

 * [OpenCore 17h patches](https://github.com/AMD-OSX/AMD_Vanilla/tree/opencore/17h)
 * [OpenCore 15h, 16h patches](https://github.com/AMD-OSX/AMD_Vanilla/tree/opencore/15h_16h)

 For those who are wanting a Vanilla Desktop Guide for OpenCore are in luck!:

 * [OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/)

 Please note that we're currently in beta but hoping to be in 1.0.0 release by the end of the month.

 **AptioMemoryFix is dead, long live FwRuntimeServices!**

 So as some of you may know or learning just now, AptioMemoryFix is now dead and will no longer receive any future support. If you've checked the GitHub page for AptioFixPkg, you probably read the following:

 >AptioFixPkg is now part of AppleSupportPkg and OpenCore, please use them instead:  
 >  
 >AptioMemoryFix.efi is split into OpenCore and FwRuntimeServices.efi.

 The problem with this is that this means support for Clover is completely dead and if you want the latest in firmware fixes you'll need to completely ditch clover for OpenCore. And you may read the FwRuntimeServices part but this is also exclusive to OpenCore so don't even try loading that with clover.

 But AptioMemoryFix won't be gong anywhere thankfully, you can still download the final release from the [github](https://github.com/acidanthera/AptioFixPkg/releases).

 >Are there alternatives?

 Not really, your other option being osxaptiofix3drv but that's not ideal for many people. As things stand, AptioMemoryFix still works perfectly fine but do note that for both future releases of macOS and newer hardware may not work correctly with AptioMemoryFix

 **Clover folder structre changes**

 A fairly simple change but one that will catch people off guard, so starting with Clover r4985 we see that the placement of .efi drivers have changed a bit:

 * `drivers64UEFI` \-> `drivers/UEFI`
 * `drivers64` \-> `drivers/BIOS`

 But do not fret, the old paths will still work as long as there's no files present in the new directories

 * [Clover's source code](https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/rEFIt_UEFI/refit/main.c#l1508)

 **Where's the Navi support?**

 As of 10.15.2, both the 5700 series and 5500 series are now compatible with macOS. Please see the [GPU Buyers Guide](https://dortania.github.io/GPU-Buyers-Guide/) for more info

 **Chrome being dumb again**

 Got SIP off and updated chrome? Well shit likely broke cause Chrome deleted a /var symlink, I'll point you to some posts that are better at explaining this than me:

 * [Google saying they fucked up and you need to reinstall](https://support.google.com/chrome/thread/15235262)
 * [u/Fargo\_Newb's work arounds](https://www.reddit.com/r/hackintosh/comments/d8tm8z/psa_google_chrome_updaterkeystone_rendering/)

 Hope you found this not so little post helpful,

 * Your local neighbourhood Hackintosh Slav

 Credit:

 * AppleLife for original EC accommodations
 * OpenCorePkg team for EC SSDTs
 * AlGrey for the AMD Kernel Patches

---

## File: _posts/2019-11-07-navi.md

---
layout: post
title:  "Radeon RX 5500 and 5500M support in 10.15.2 Beta 1"
date:   2019-11-07 7:00:00 -0600
categories: Hackintosh updates
---
 Well look at that, more Navi support in macOS. Though hopefully the installer screen has also been fixed for Navi GPUs, and quick reminder that users who experience black screen on Navi should add the boot flag `agdpmod=pikera` and have WEG version 1.3.4

 To check yourself, CD into S/L/E:

     grep -ir "7340" .

 PCI ID's can be found [here](https://pci-ids.ucw.cz/read/PC/1002)

 Edit: Well apparently we also got Navi 12 support hidden in there!

---

## File: _posts/2020-01-20-nvram.md

---
layout: post
title:  "NVRAM for all! 300 series users rejoice!"
date:   2020-01-20 7:00:00 -0600
categories: Hackintosh updates
---

So in the latest commit of OpenCorePkg, a new SSDT was added: [SSDT-PMC.dsl](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PMC.dsl).
What this SSDT does is bring back NVRAM for B360, B365, H310, H370, Z390, but why the hell did we have broken NVRAM to start with?

Well quite simple, Intel "forgot" to actually declare the FW chip as MMIO in ACPI and so XNU will ignore the MMIO region declared by the UEFI memory map. And so NVRAM SMM page fault'ed on unmapped page access, oh what fun!

>    So how do I use this SSDT?

Honestly quite simple, it requires no configuration and is plug-and-play. Plus its not tied to OpenCore, Clover users can run this as well. Do note that it requires LPCB in your `DSDT` but this is super common on Z390, you can verify by searching for `PCI0.LPCB`.

To compile in macOS:

* Grab [MaciASL](https://github.com/acidanthera/MaciASL/releases)
* Open the SSDT, `File -> Save As -> ACPI Machine Language`

To compile in Windows:

* Grab iasl: [Windows](https://acpica.org/sites/acpica/files/iasl-win-20180105.zip)
* Open Command Prompt and run: `path/to/iasl.exe path/to/SSDT-PMC.dsl`

To compile in Linux:

* Grab iasl: [Linux](http://amdosx.kellynet.nl/iasl.zip)
* Open Terminal and run: `path/to/iasl path/to/SSDT-PMC.dsl`

Once the file is compiled, you'll get the SSDT-PMC.**aml**. The extension is important as that's the compiled version, .dsl is just source code. Once you have the SSDT made, drop this into either EFI/CLOVER/ACPI/patched or EFI/OC/ACPI(remember to add it to the config as well if you run OpenCore)

For the lazy, I'll leave a precompiled file here: [SSDT-PMC.aml](https://github.com/dortania/Opencore-Install-Guide/blob/master/extra-files/SSDT-PMC.aml)

>    How do I get rid of my NVRAM emulation

Well Clover would like to give a quick "fuck you" first if you installed RC scripts, as you may need to mount Catalina as R/W with SIP off before you can even clean up its mess. What garbage do you need to clean? Well see the following:

* `/Volumes/EFI/EFI/CLOVER/drivers/UEFI/EmuVariableUefi-64.efi`
* `/Volumes/EFI/nvram.plist`
* `/etc/rc.clover.lib`
* `/etc/rc.boot.d/10.save_and_rotate_boot_log.local`
* `/etc/rc.boot.d/20.mount_ESP.local`
* `/etc/rc.boot.d/70.disable_sleep_proxy_client.local.disabled`
* `/etc/rc.shutdown.d/80.save_nvram_plist.local​`


For OpenCore users, all you need is to disable the following in your config:

* `Booter -> DisableVariableWrite -> False`
* `NVRAM -> LegacyEnable -> False`

And don't forget to delete the nvram.plist on the root of your EFI

>    How do I test if my NVRAM works?

Open up terminal and paste one line at a time:


    sudo -s
    sudo nvram -c 
    sudo nvram myvar=test
    exit


Then reboot and run this:

    nvram -p | grep -i myvar


If nothing returns then your NVRAM is not working. If a line containing `myvar test` returns, your NVRAM is working.

Note: `nvram -c` requires SIP to be off, an alternative is to wipe NVRAM at the boot menu. For clover, press F11. For OpenCore, select `CleanNvram`, reminder you'll need `Misc -> Security -> AllowNvramReset -> YES`.

---

## File: _posts/2020-03-22-catalina-10154.md

---
layout: post
title:  macOS 10.15.4 update
date:   2020-03-22 7:00:00 -0600
categories: Hackintosh updates
---

So today marks the release of macOS 10.15.4, a pretty average release for most users but quite a special one for laptop, Clover and AMD CPU users. 

For details on what's changed OS wise:

* [Apple Release Notes](https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_4_release_notes)
   * Pretty useless tbh
* [MacRumors](https://www.macrumors.com/2020/03/24/apple-releases-macos-catalina-10-15-4/)
   * Much more info

# Laptops

With this release, we now have official Ice Lake support! Do note that Apple rarely supports GT1 GPUs for more than a .1 update as more of an accident so be wary. At the moment we know the following iGPUs are supported:

* Iris Plus G4
* Iris Plus G7

Other issues are:

* ~~We still need framebuffer dumps to know the best platform ID~~
   * WhateverGreen DOCs have be updated with full framebuffer dumps: [AppleIntelICLLPGraphicsFramebuffer](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md)
* ~~MacBookAir9,1 isn't yet supported by [MacInfoPkg](https://github.com/acidanthera/MacInfoPkg)~~
   * As of commit [203a0ed](https://github.com/acidanthera/MacInfoPkg/commit/203a0edfda6f9e0776c0ea7df09a7fb5ec1fc2bc) we have MacBookAir9,1 support
* Memory protections are in place breaking AptioMemoryFix, OpenCore, and OcQuirks

OpenCore fixed the last one in 0.5.7 thanks to the quirk `ProtectUefiServices` which fixes the use of DevirtulizeMMIO allowing the macOS kernel to fit nicely. `ProtectUefiServices` has been added to [OcQuirks](https://github.com/ReddestDream/OcQuirks/releases) from revision 19. So be patient and don't rush out to buy a machine *just* for hackintoshing.

**Note**: This is only for Icelake laptops, this issue is not related to macOS instead the firmware found on these machines.

# Clover

Oh what fun, Clover's drunk again and won't boot for some of you! The specific issue seems to be only for Skylake and newer users. The specific of what happened:

* Apple added Ice Lake and Comet Lake support to the kernel
* Problem is it wouldn't fit as-is, so the mask of the processor changed
* This then meant that it turned from 16 bits to 20 bits long
* This then broke Clover's `KernelPM` and `AppleIntelCPUPM` patch

So because of this change, we have 4 paths to go down:

* Disable CFG-Lock in the BIOS 
   * See [Disabling CFG-Lock Guide](https://khronokernel-2.gitbook.io/opencore-vanilla-desktop-guide/extras/msr-lock)
* Use a CPU ID that still works with the old KernelPM patch
   * Broadwell and older are fine.
   * Note doing this can partially or completely break XCPM.

* Update to Clover with commit version [af8a84f](https://github.com/CloverHackyColor/CloverBootloader/commit/af8a84f4784f657e8d8937f0a19dc9695e22f6d9) or later
   * [r5107](https://github.com/CloverHackyColor/CloverBootloader/releases) is the minimum version, plus recent Cover updates moved to C++ breaking a lot of things so keep a backup.
* Buy a hackintosh that starts with the letter M 

For the CPU ID route, you can spoof to a Broadwell-H CPU with the following:

```text
config.plist -> KernelAndKextPatches -> FakeCPUID -> 0x040674
```

*  Remember doing this can partially or even completely break XCPM.

And ofc, OpenCore doesn't have any issues with this update. Just another nudge to go to the dark side. The specifics behind this is that Clover doesn't know anything about symbols or structures, and so the patch is very generic whereas OpenCore can be much more precise.

[Source](https://applelife.ru/threads/ustanovka-macos-catalina-10-15-na-intel-pc.2944136/page-572#post-866249)

# AMD Users

So with this update, the `CPU Family` patch has broken due to Ice Lake and Comet Lake shoving themselves in and changing the placing of families. So users will need to update their Kernel patches, specifically the following:

```
Comment: algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN
Count: 1
Enabled: Yes
Find: 31db803d00000000067500
Replace: bbbc4fea78e95d00000090
Mask: ffffffff000000ffffff00
MaxKernel: 19.99.99
MinKernel: 17.0.0
Skip: 0
```
Credit to [NoOne](https://github.com/IOIIIO) for updating the patches.

The [AMD OSX repo](https://github.com/AMD-OSX/AMD_Vanilla) has also updated the patches.

---

## File: _posts/2020-05-26-catalina-10155.md

---
layout: post
title:  macOS 10.15.5 update
date:   2020-05-26 8:20:00 -0400
categories: Hackintosh updates
---

So today marks the release of macOS 10.15.5, a pretty boring release for most users.

Main things to note:

* Official Comet Lake S/H support in the kernel
* Better Comet Lake iGPU support
* Battery health support

AMD users can update without hesitation as the OpenCore kernel patches have been confirmed working.

For details on what's changed OS wise:

* [Apple Release Notes](https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_5_release_notes)
* [MacRumors](https://www.macrumors.com/2020/03/24/apple-releases-macos-catalina-10-15-5/)

---

## File: _posts/2020-06-01-acidanthera-june.md

---
layout: post
title:  "Acidanthera Updates: June 2020"
date:   2020-06-01 15:00:00 -0700
categories: Hackintosh updates
---

# A message from vit9696

The previous release we published in May was an important step forward in stabilisation of all our products and an anniversary for OpenCore. This release marks the end of the long-lasting repository reorganisation period for all our UEFI products and delivers some very important features to ease your life.

Firstly, the debugging. While troubleshooting is not something you need often, when you do, it is crucial to have proper instruments. An iPhone camera is by all means a great debugging tool, but it is even greater when you do not have to use it. In the latest OpenCore version in addition to EfiBoot debug logging we implemented macOS kernel panic decoding and saving right onto ESP volume. After enabling this in the configuration you will automatically get text representation of all saved macOS kernel panics right after rebooting, which you can later symbolicate with the included `kpdescribe` utility if necessary.

Secondly, boot management. We understand that some people need multiboot support with Windows, sometimes even on the same drive your macOS installation exists. In the latest OpenCore version we reworked boot management from the ground to provide first-class Windows support. This was a tough decision, but it is here and brings better performance and compatibility. In addition to that with the help of the new bootstrap mechanism we were able to mostly resolve duplicated boot entries on ASUS APTIO V boards.

Thirdly, the instrumentation. [@PMHeart](https://github.com/PMheart) recovered our old OpenCore config checking utility, and it is now included right in the package to let you find obvious mistakes in the configuration. New ConfigValidity provides more helpful diagnostic messages and is also available for Windows. While currently it is very basic, we hope that it will evolve in the future. In addition to ConfigUtility several other instruments gained Windows support, and we also updated `dmidecode` with the latest changes from upstream and improved the formatting.

Fourthly, the interface. While not vital, a graphical interface is a nice thing to have, and [@usr-sse2](https://github.com/usr-sse2) worked hard to provide definite font-rendering and HiDPI screen support in the latest update to OpenCanopy. While OpenCanopy is still a preview and lacks some features compared to the builtin text interface like screen reading support, it is evolving with the time and getting important features and bugfixes like basic hotkey handling or seamless integration with EfiBoot or Shell. Other than that we were also able to resolve the input problem on some AMD firmwares.

Lastly, the recently released 10th generation platform. We tested some boards and can confirm that all the products received basic compatibility. Yet, even if there are not any problems on our side, there is quite an amount of issues in Z490 firmwares. For example, on the ASUS board we had Multi-Monitor functionality was broken, XMP made the system unbootable, and XHCI SSDT violated ACPI specification at its best. Even so, while we strongly recommend not to rush trying the new platform, for more advanced engineers we implemented a preview version of ACPI and SMBIOS table dumping right in OpenCore to ease the migration.

In the end I would like to express my sincere gratitude to Acidanthera and WWHC teams for their enthusiasm and professionalism, which make all of this possible. See you in August as Acidanthera takes a short summer vacation.

— Vit

# Changelogs

#### [OpenCore 0.5.9](https://github.com/acidanthera/OpenCorePkg/releases)

* Added full HiDPI support in OpenCanopy
* Improved OpenCanopy font rendering by using CoreText
* Fixed light and custom background font rendering
* Added `Boot####` options support in boot entry listing
* Removed `HideSelf` by pattern recognising `BOOTx64.efi`
* Added `BlacklistAppleUpdate` to avoid Apple FW updates
* Fixed accidental tool and NVRAM reset booting by default
* Fixed unrecognised select `com.apple.recovery.boot` entries
* Changed NVRAM reset not to erase `BootProtect` boot options
* Improved boot performance when picker UI is disabled
* Enforced the use of builtin picker when external fails
* Fixed warnings for empty NVRAM variables (e.g. rtc-blacklist)
* Added `ApplePanic` to store panic logs on ESP root
* Fixed `ReconnectOnResChange` reconnecting even without res change
* Fixed OpenCanopy showing internal icons for external drives
* Fixed OpenCanopy launching Shell with text over it
* Added partial hotkey support to OpenCanopy (e.g. Ctrl+Enter)
* Added builtin text renderer compatibility with Shell page mode
* Fixed `FadtEnableReset` with too small FACP tables and some laptops
* Fixed CPU detection crash with QEMU 5.0 and KVM accelerator
* Removed `RequestBootVarFallback` due to numerous bugs
* Added `DeduplicateBootOrder` UEFI quirk
* Removed `DirectGopCacheMode` due to being ineffective
* Fixed assertions on log exhaustion causing boot failures
* Fixed builtin text renderer failing to provide ConsoleControl
* Fixed compatibility with blit-only GOP (e.g. OVMF Bochs)
* Fixed ignoring `#` in DeviceProperty and NVRAM `Delete`
* Renamed `Block` to `Delete` in `ACPI`,`DeviceProperties`, and `NVRAM`
* Added MacBookPro16,2 and MacBookPro16,3 model codes
* Added PCI device scanning policy support (e.g. VIRTIO)
* Improved playback performance in AudioDxe
* Updated builtin firmware versions for SMBIOS and the rest
* Added improved CPU type detection for newer CPU types
* Added ConfigValidity utility and improved config validation
* Added serial port initialisation for serial debug logging
* Disabled empty debug log file creation to avoid ESP cluttering
* Added `TscSyncTimeout` quirk to workaround debug kernel assertions
* Added first-class Windows support to bless model
* Fixed `LapicKernelPanic` kernel quirk on 10.9
* Added prebuilt version of `CrScreenshotDxe` driver
* Fixed Hyper-V frequency detection compatibility
* Added `SysReport` option for DEBUG builds to dump system info
* Fixed crashes on some AMD firmwares when performing keyboard input

#### [AppleALC 1.5.0](https://github.com/acidanthera/AppleALC/releases)

* Update ALC283 layout-id 88 by xiaoleGun
* Fixed accidental reading of `alc-layout-id` on non-Apple firmwares
* Add patch to fix internal mic gain adjustment Conexant CX8050
* Move ALC255 layout-id 7 to layout-id 86
* Added ALC257 layout-id 86 for Lenovo T480 by armenio
* Fixed can't activate mute problem Conexant CX8070 layout-id 15 by lietxia
* Added ALC255 layout-id 20 for DELL 7447 by was3912734. Add Subwoofer drive.
* Added ALC662 layout-id 18 for MP67-DI/ESPRIMO Q900 by ryahpalma
* Added ALC256 layout-id 19 for Matebook X Pro 2019 by Durian-Life
* Added ALC256 layout-id 76 (4CH) for Matebook X Pro 2019 by Durian-Life

#### [VirtualSMC 1.1.4](https://github.com/acidanthera/VirtualSMC/releases)
 
 * Fixed incorrect revision reporting on T2 models (e.g. Macmini8,1)

#### [RTCMemoryFixup 1.0.6](https://github.com/acidanthera/RTCMemoryFixup/releases)

* Fix reading of key rtc-blacklist from NVRAM (only 4 bytes could be read)
* rtcfx_exclude can be combined with rtc-blacklist

#### [IntelMausi 1.0.3](https://github.com/acidanthera/IntelMausi/releases)

* Merged changes from 2.5.1d1

#### [dmidecode 3.2c](https://github.com/acidanthera/dmidecode/releases)

* Update to 5b3c8e99 with SMBIOS 3.2 improvements

#### [WhateverGreen 1.4.0](https://github.com/acidanthera/WhateverGreen/releases)

* Added 0x3EA6, 0x8A53, 0x9BC4, 0x9BC5, 0x9BC8 IGPU device-id
* Fixed `framebuffer-conX-alldata` patching regression
* Added `disable-hdmi-patches` device property alias to `-igfxnohdmi`

#### [Lilu 1.4.5](https://github.com/acidanthera/Lilu/releases)

* Fixed newer CPU generation detection
* Added failsafe versions of CML framebuffers

#### [VoodooInput 1.0.6](https://github.com/acidanthera/VoodooInput/releases)

* Reduced memory consumption and CPU usage
* Fixed dragging issues on some touchpads

#### [VoodooPS2 2.1.5](https://github.com/acidanthera/VoodooPS2/releases)

* Upgraded to VoodooInput 1.0.6
* Added logo + print scr hotkey to disable trackpad

# Guide Updates

While not made by Acidanthera, both the OpenCore Desktop and Laptop Guides have been updated with 0.5.9 support. And the desktop guide getting early Comet Lake-S support:

* [OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/)

— Khronokernel

---

## File: _posts/2020-08-03-acidanthera-august.md

---
layout: post
title:  "Acidanthera Updates: August 2020"
date:   2020-08-03 15:00:00 -0700
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Changelogs](#changelogs)
* [Dortania Updates](#dortania-updates)
* [Guide Updates](#guide-updates)

# A message from vit9696

Nice to meet you this summer again. By skipping a month we hoped to push in a small vacation for our team members, yet, with Big Sur as it was, there was no room for it to happen. While these two months were very bright for the new changes, they also helped us to assess the previous release and reconsider some processes.

Our greatest achievement in June is that we discovered no issues in OpenCore 0.5.9 requiring to stay on a previous release. To make issue handling even more transparent, from now on we will publish the [OpenCore Errata document](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Errata/Errata.pdf) containing notable issues and their workarounds. Thanks to Dortania Team and @dhinakg in particular this and several other documents are now available in [HTML format](https://dortania.github.io/docs) as well. And that is not all, with Dortania we have also launched a [community tracker](https://github.com/dortania/bugtracker/issues) to unify non-Acidanthera issues and a [regression-testing cellar](https://dortania.github.io/builds) containing binary pre-release versions of Acidanthera products on per-commit basis since Spring.

Let us get back to macOS 11. Big Sur is a big change, maybe not as big to do a major version increase, but it contains numerous under the hood changes that are yet to evolve. With this release we literally had to reimplement the kext injection from the ground. It is an entirely new state of the art piece of code we are very proud about with @Download-Fritz. As a consequence of this change, Lilu and its whole plugin system got a very serious rewrite as well. Lilu became noticeably more performant and flexible, though not all its APIs are available at the moment in 11.0. For example, one of such APIs, the userspace patcher, needs a rewrite, which we do not have the resources for at the moment. Today a number of our products received basic compatibility updates to support Big Sur, and today macOS Big Sur remains being an early beta and a part of a transitioning period. Please do not rush with it if your environment is important for you.

Extending our speech about the compatibility, we would like to say one important thing. We care. When we welcome the new Mac users that no longer can receive the updates. When we invest resources into OpenDuetPkg with @Goldfish64 to improve the support of older BIOS systems. When we implement the missing pieces of an advanced battery management driver and enable FAN configuration with @lvs1974. When we redo the Intel GPU reintegration with @07151129. When we implement [macOS native integration of Intel Wireless](https://github.com/usr-sse2/Black80211-Catalina) into [itwlm](https://github.com/OpenIntelWireless/itlwm) with @usr-sse2. We continue to interact with the community and accept patches from the outside, and we are looking forward to doing more fun stuff.

— Vit

# Changelogs

#### [OpenCore 0.6.0](https://github.com/acidanthera/OpenCorePkg/releases)

* Fixed sound corruption with AudioDxe
* Fixed icon choice for Apple FW update in OpenCanopy
* Fixed APFS driver loading on Fusion Drive
* Added Comet Lake HDA device code
* Fixed audio stream position reporting on non-Intel platforms
* Added `Firmware` mode to `ResetSystem` to reboot into preferences
* Replaced `BlacklistAppleUpdate` with `run-efi-updater` NVRAM variable
* Fixed reset value and detection in `FadtEnableReset` ACPI quirk
* Fixed freezes during boot option expansion with PXE boot entries
* Updated underlying EDK II package to edk2-stable202005
* Added `ProvideMaxSlide` quirk to improve laptop stability, thx @zhen-zen
* Fixed slide choice on platforms when 0 slide is unavailable, thx @zhen-zen
* Fixed assertions caused by unaligned file path access in DEBUG builds
* Renamed `ConfigValidity` utility to `ocvalidate` for consistency
* Added `GlobalConnect` for APFS loading to workaround older firmware issues
* Added 11.0 support for `AvoidRuntimeDefrag` Booter quirk
* Fixed 11.0 lapic kernel quirk as of DP1
* Improved boot selection scripts for macOS without NVRAM
* Added UGA protocol compatibility in `ProvideConsoleGop` quirk
* Added `UgaPassThrough` option to support UGA protocol over GOP
* Added `AppleFramebufferInfo` protocol implementation and override
* Fixed serial initialisation when file logging is disabled
* Fixed FSBFrequency reporting on Meron and similar CPUs
* Fixed incorrect volume icon dimension requirements in OpenCanopy
* Added preview version of KernelCollection injection code
* Fixed ACPI reset register detection in DxeIpl
* Added MacBookPro16,4 model code
* Updated builtin firmware versions for SMBIOS and the rest
* Fixed OSXSAVE reporting when emulating CPUID on newer CPUs
* Added `SerialInit` option to perform serial initialisation separately
* Fixed OpenDuetPkg booting on Intel G33 with SATA controller in RAID mode
* `PlatformInfo` `Automatic` for all models
* Fixed 32-bit OpenDuetPkg booting on machines with over 4 GBs of RAM
* Fixed delays with OpenDuetPkg booting with certain SATA controllers in IDE mode
* Fixed display name for some high core count i9 CPUs like 7920X
* Fixed SSDT-EC-USBX

#### [BT4LEContinuityFixup 1.1.5](https://github.com/acidanthera/BT4LEContinuityFixup)

* Fix an issue in routing for method __ZN25IOBluetoothHostController25SetControllerFeatureFlagsEj
* Added constants for 11.0 support

#### [NVMeFix 1.0.3](https://github.com/acidanthera/NVMeFix)

* Fix re-enabling APST after sleep (1.0.2 regression)
* Added constants for 11.0 support (no full compatibility provided)

#### [VoodooInput 1.0.7](https://github.com/acidanthera/VoodooInput/releases)

* Allowed to set finger type externally to fix swiping desktops when holding a dragged item
* Added a message to allow client to set gesture orientation when rotating a touchscreen (thx @Goshin)

#### [VoodooPS2 2.1.6](https://github.com/acidanthera/VoodooPS2/releases)

* Fix Command key being pressed after disabling the keyboard and trackpad with Command-PrtScr key combo
* Added a message to allow other kexts to disable the keyboard

#### [AppleALC 1.5.1](https://github.com/acidanthera/AppleALC/releases)

* Set MinKernel Catalina for 400 Series
* Added constants for 11.0 support
* Added 400 series 0x6c8 and 0x2c8 controller patch (thanks @lvs1974)
* Added ALC295 layout-id 24 for HP Pavilion / OMEN-2 by zty199
* Update CA0132 layout-id 7, 4, 2, 1 by wern-apfel
* Added IDT92HD95 layout-id 11 by wern-apfel
* Added Icelake Smart Sound Technology Audio Controller
* Fix Headphone NodeID，Add SPDIFOut NodeID，ALC255 layout-id 20 for DELL 7447 by was3912734
* Added ALC290 layout-id 15 for HP m6 n015dx by MacPeet
* Added ALC285 layout-61 for Lenovo Yoga C740 by fewtarius
* Added CA0132 LayoutID 99 - 5.1 channel for Alienware-M17X-R4 by DalianSky
* Added ALC289 layout-id 11 for alienware m17r2 by leeoem

#### [VirtualSMC 1.1.5](https://github.com/acidanthera/VirtualSMC/releases)
 
* Improved CHLC key value reporting
* Fixed B0PS and B0St key size to resolve broken fully charged state
* Fixed sometimes stuck battery update thx to @zhen-zen
* Added workaround for kBRemainingCapacityCmd exceeding kBFullChargeCapacityCmd
* Added preliminary 11.0 support
* Fixed SMCProcessor model detection warning
* Fixed legacy smc tool value calculation
* Fixed running smcread on 11.0 without IOKit framework
* Added a new plugin SMCDellSensors for Temp/FAN monitor/control
* Added basic SMCBatteryManager compatibility with 11.0
* Fixed crashes when trying to read CLKT key

#### [HibernationFixup 1.3.4](https://github.com/acidanthera/HibernationFixup)

* Improve auto-hibernate feature: correct next wake time disregarding the current sleep phase.
* Added constants for 11.0 support.

#### [WhateverGreen 1.4.1](https://github.com/acidanthera/WhateverGreen/releases)

* Added `igfxmetal=1` boot argument (and `enable-metal` property) to enable Metal on offline IGPU
* Fixed applying patches on CometLake IGPUs, thx @apocolipse
* Added constants required for 11.0 update
* Added the use of RPS control for all the command streamers on IGPU (disabled via `igfxnorpsc=1`)
* Add `-igfxvesa` to disable Intel Graphics acceleration.
* Fix black screen on igfx since 10.15.5
* Add workaround for rare force wake timeout panics on Intel KBL and CFL.
* Add Intel Westmere graphics support.

#### [Lilu 1.4.6](https://github.com/acidanthera/Lilu/releases)

* Added preliminary definitions for 11.0 support
* Temporarily disabled user patcher for 11.0
* Added `external-audio` property to ignore PCI audio cards
* Added in-memory symbol solving for 11.0
* Fixed accidentally solving stabs instead of normal symbols
* Added device publishing API to monitor device startup
* Added DeviceInfo caching for improved performance
* Added implicit slotted (medium) patches in KC mode to reduce patch size

#### [CPUFriend 1.2.1](https://github.com/acidanthera/CPUFriend)

* Added constants for 11.0 support

#### [AirportBrcmFixup 2.0.8](https://github.com/acidanthera/AirportBrcmFixup)

* Added constants for 11.0 support
* Property 'pci-aspm-default' with value 0 is not required for Broadcom BCM4350 chipset (with non-apple subsystem-vendor-id), 
since now it is injected/corrected and method IOPCIFamily::setASPMState called for provider to disable ASPM immediately.
* Add required dependencies into OSBundleLibraries section
* Remove injectors for AirPortBrcm4360 and AirPortBrcmNIC from main Info.plist and move them into separate plugins AirPortBrcm4360_Injector and 
AirPortBrcmNIC_Injector (kexts with plist only).
Under 10.16 (Big Sur) plugin AirPortBrcm4360_Injector.kext must be blocked by MaxKernel 19.9.9 or just removed, otherwise it will block loading of AirPortBrcmNIC
since class AirPortBrcm4360 is unsupported.
* Check whether brcmfx-driver value is incorrect (if specified value is unsupported in current osx system)
* Support boot-arg and property `brcmfx-aspm` to override value used for pci-aspm-default 

#### [DebugEnhancer 1.0.1](https://github.com/acidanthera/DebugEnhancer)

* Added constants for 11.0 support

#### [BrcmPatchRAM 2.5.4](https://github.com/acidanthera/BrcmPatchRAM)

* Added inject BCM2070 - BCM943224HMB, BCM943225HMB Combo

# Dortania Updates

With great efforts from one of our members, DhinakG, we're proud to announce Dortania's build site:

* https://dortania.github.io/builds/

What this site is meant is to be an easy to access list of all of Acidanthera's kexts and tools with the newest commits being built and posted here. Currently it's still in beta and would love for people to contribute via [PRs](https://github.com/dortania/build-repo), and there's plans to expand past Acidanthera-only tools.

# Guide Updates

Some of you may have noticed since our last update that the site has gone through a redesign and rewrite. The laptop guide has been merged into the desktop guide to create a unified install guide and post-install has been separated to a dedicated site.

We've also added a basic guide on macOS 11 (Big Sur) installs however we won't be providing proper support til official release.

* [OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/)
* [OpenCore Post-Install](https://dortania.github.io/OpenCore-Post-Install/)

— Khronokernel

---

## File: _posts/2020-09-07-acidanthera-september.md

---
layout: post
title:  "Acidanthera Updates: September 2020"
date:   2020-09-07 15:00:00 -0700
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Guide Updates](#guide-updates)
* [Changelogs](#changelogs)

# A message from vit9696

The summer is over and I am glad to meet you all in the beginning of autumn. Some of you might not remember but today is a very important day for the team. Exactly one year ago on 7 September OpenCore went out of a developer preview stage. Now we have accomplished many goals and created a mature product that is fast, functional, and easy to use. We continue to move forward with all our products and do the best to explore the opportunities in front of us.

One of the important parts of all our pursuits has always been interacting with the community. By making it convenient for the fellow engineers to contribute we enabled the opportunity to not only breed the new features from the inside but also let them to be offered from the outside. For instance, [AppleALC](https://github.com/acidanthera/AppleALC) is one of the greatest examples of such community collaboration we were able to achieve. This release includes Ice Lake IGPU patches by [@0xFireWolf](https://github.com/0xFireWolf) in [WhateverGreen](https://github.com/acidanthera/WhateverGreen), battery supplement information by [@zhen-zen](https://github.com/zhen-zen) in [SMCBatteryManager](https://github.com/acidanthera/VirtualSMC), much improved hotkey handling by [@varahash](https://github.com/varahash) in [OpenCore](https://github.com/acidanthera/OpenCorePkg/), and several other changes all provided externally.

Many will agree that doing laptop support is a non-trivial thing. There are many differences in both hardware and firmware across even very similar models. For us it means that we will never be able to cover all the peculiarities. In most cases you will be all alone with your issue and your only option will be to debug the driver yourself. Even so, we try to do what is practical. For example, [itlwm](https://github.com/usr-sse2/itlwm) IO80211Family integration I announced earlier is continuing to move forward and [@usr-sse2](https://github.com/usr-sse2) was able to achieve considerable progress with WPA Enterprise you will find in the upcoming commits. [AirportBrcmFixup](https://github.com/acidanthera/AirportBrcmFixup) was also improved quite a bit by [@lvs1974](https://github.com/lvs1974) bringing better compatibility with older operating systems and resolving some long-standing issues with exotic setups. [HibernationFixup](https://github.com/acidanthera/HibernationFixup) also got better.

Now to OpenCore. With 0.6.1 we managed to fit what we have planned long ago: macOS Snow Leopard support and Apple Secure Boot. When [@Goldfish64](https://github.com/Goldfish64) said he is adding Snow Leopard support, we immediately realized that this is a challenge. Nevertheless we all supported that initiative as much as we could, as macOS 10.6 is very dear to us. This release is the first release to showcase our efforts: macOS 10.6 will install and launch at top notch speeds as you always expect from OpenCore. Not only we fully support the installation but we are first to implement the fastest available kernel caching with fuzzy matching easily beating Chameleon performance.

Apple Secure Boot is a thing that makes sure that your Apple operating system is correctly installed and is not corrupted by a drive failure for instance. Before OpenCore it was only available to Macs with T2 and now, thanks to [@Download-Fritz](https://github.com/Download-Fritz) efforts, it is supported on any UEFI compatible firmware letting the developers and security researchers understand the boot flow of modern Apple Hardware. While it is just a preview and it is yet to undergo the security audit, you can already try it along with UEFI Secure Boot.

Enjoy the new features and see you soon.

— Vit

# Guide Updates

This month we've actually had numerous updates to the guides including adding the [Apple secure boot](https://dortania.github.io/OpenCore-Post-Install/) guide and even expanding our config guides to include even more hardware generations:

* Sandy Bridge(Both mobile and desktop)
* Ivy Bridge-E(HEDT and server)

And we also have plans to expand for UEFI based secure boot and adding Nehalem guides, however due to time constraints this will likely be added with next month's release. We really hope you enjoy the updated guides to go along side 0.6.1!

* [OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/)
* [OpenCore Post-Install](https://dortania.github.io/OpenCore-Post-Install/)

— Khronokernel

# Changelogs

#### [OpenCore 0.6.1](https://github.com/acidanthera/OpenCorePkg/releases)

* Improved recognition of early pressed hotkeys, thx @varahash
* Made DMG loading support configurable via `DmgLoading`
* Added iMac20,1 and iMac20,2 model codes
* Fixed display name for older Xeon CPUs like Xeon E5450
* Added Comet Lake-LP HDA device code
* Fixed OS boot selection on SATA controllers with legacy OPROMs
* Fixed RSDP ACPI table checksum recalculation
* Added immutablekernel loading support for 10.13+
* Fixed solving some symbols to zero in 11.0 kext inject
* Reduced OpenCanopy size by restricting boot management access
* Added `BuiltinText` variant for `TextRenderer` for older laptops
* Fixed `SyncRuntimePermissions` creating invalid MAT table
* Added EFI FAT image loading support (macOS 10.8 and earlier)
* Added 64-bit cacheless kext injection and patching support (macOS 10.9 and earlier)
* Added 64-bit mkext kext injection and patching support (macOS 10.6 and earlier)
* Fixed XNU hook matching non-kernel files
* Updated builtin firmware versions for SMBIOS and the rest
* Fixed patching of ACPI tables in low memory
* Fixed macOS 11.0 DMG recovery loading without hotplug
* Fixed `XhciPortLimit` quirk on 10.12.6 and possibly other versions
* Fixed `IncreasePciBarSize` quirk on 10.11.5 and possibly other versions
* Fixed `LapicKernelPanic` quirk on 10.8.5 and possibly other versions
* Fixed hard-lock caused by EHCI SMI in OpenDuetPkg
* Added preview UEFI Secure Boot compatibility
* Added `FuzzyMatch` option to support fuzzy kernelcache matching on 10.6 and earlier
* Added `KernelArch` option to specify architecture preference on older kernels
* Added `KernelCache` option to specify kernel caching preference for older kernels
* Added `Force` section to provide support for injecting drivers in older macOS
* Changed kernel driver injection to happen prior to kernel driver patching
* Added `Arch` filtering option to `Add`, `Block`, `Force`, and `Patch` sections
* Added `DisableLinkeditJettison` quirk to workaround 11.0b5 kernel panics
* Added debugging of missing fields in the configuration

#### [AppleALC 1.5.2](https://github.com/acidanthera/AppleALC/releases)

* Added missing layout7.xml for CA0132
* Added 400 series 0xA3F0 controller patch by goomadao
* Added ALCS1200A layout-id 11 for MAG-Z490-TOMAHAWK by owen0o0
* Added ALC269 layout-id 128 for Laptop NS4SL01 by ryahpalma
* Added ALCS1200A layout-id 50 for Gigabyte B460M Aorus Pro by VanXNF
* Added ALC280 layout-id 17 for Dell Optiplex 9020 SFF by pkendall64
* Added ALC236 layout-id 14 for Lenovo 330S by erinviegas
* Added ALC887 layout-id 12 for ASUS H81M-D by VanXNF
* Added ALCS1200A layout-id 49 for Asrock Z490M-ITX by VanXNF
* Added ALC269 layout-id 23 for Thinkpad T430 with fixed micophone inputlevel by haotiangood
* Added ALC245 layout-is 11 and 12 for Lenovo by soto2080
* Added ALC245 layout-id 13 for HP Omen 15 2020 by lunjielee
* Added ALC287 layout-id 11 for HP Omen 15 2020 by lunjielee

#### [VirtualSMC 1.1.6](https://github.com/acidanthera/VirtualSMC/releases)
 
* Added battery supplement info, thx @zhen-zen
* Fix audio lags in Safari caused by reading SMM in SMCDellSensors plugin
* Fix module version for SMCDellSensors, SMCBatteryManager and SMCLightSensor
* Optimised floating point sensor key reading with fewer arithmetic operations
* Improved SMCProcessor CPU power consumption by relaxing core synchronisation
* Fix key sensor key enumeration on Macmini8,x and MacBookPro models

#### [HibernationFixup 1.3.5](https://github.com/acidanthera/HibernationFixup)

* Postpone RTC wake in AppleRTC::setupDateTimeAlarm according to current standby/autopoweroff delay (if auto-hibernate feature and standby/autopoweroff is on) in order to avoid earlier wake.

#### [WhateverGreen 1.4.2](https://github.com/acidanthera/WhateverGreen/releases)

* Fixed `disable-external-gpu` (`-wegnoegpu`) on some systems
* Disabled RPS control patch by default due to a bug in 10.15.6 IGPU drivers
* Replaced `igfxnorpsc=1` with `igfxrpsc=1` to opt-in RPS control patch
* Support all valid Core Display Clock (CDCLK) frequencies to avoid the kernel panic of "Unsupported CD clock decimal frequency" on Intel ICL platforms. (by @0xFireWolf)
* Fix the kernel panic caused by an incorrectly calculated amount of DVMT pre-allocated memory on Intel ICL platforms. (by @0xFireWolf)

#### [Lilu 1.4.7](https://github.com/acidanthera/Lilu/releases)

* Added more platform headers for plugin compilation
* Fixed symbol chainloading regression in 1.4.6

#### [AirportBrcmFixup 2.0.9](https://github.com/acidanthera/AirportBrcmFixup/releases)

* boot-arg and property `brcmfx-aspm` supports special value `255` in order to skip logic disabling APSM for 0x14e4:0x43a3 (DW1820A). It can be used if you have masked pin 53 (CLKREQ#) and APSM L0|L1 is working.
* Improve service matching (the old implementation could cause hangs on boot)

#### [MaciASL 1.5.8](https://github.com/acidanthera/MaciASL/releases)

* Fixed parse error

---

## File: _posts/2020-10-05-acidanthera-october.md

---
layout: post
title:  "Acidanthera Updates: October 2020"
date:   2020-10-05 15:00:00 -0700
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Guide Updates](#guide-updates)
* [Changelogs](#changelogs)

# A message from vit9696

We are very pleased to meet you this evening to present our latest achievements in the scene. This update is particularly remarkable for one reason: today, OpenCore becomes the only openly available bootloader capable of running any version of macOS released for Intel CPUs, spanning as early as macOS 10.4 to macOS 11 (which is currently in the late beta phase). Most importantly, the architecture we created allows us to perform a very clean integration both code-wise and configuration-wise, allowing the user to have a single configuration for every macOS version ever needed. My congratulations go to all who made this possible.

Last month we stated that collaboration is a primary goal for Acidanthera in every aspect, and today we present our next steps in this direction. If you use multiple macOS versions you might have noticed that some kexts may not always work on an older operating system if built with a newer Xcode version. This is because the macOS kernel SDK is version dependent and does not always respect the API and ABI differences in the kernel. Previously we used various workarounds available in most Acidanthera kexts which let us target macOS 10.8 and sometimes even lower, and now these workarounds are available to everyone as a standalone product: [MacKernelSDK](https://github.com/acidanthera/MacKernelSDK). This product lets you build kernel extensions with basically any recent Xcode version for basically any macOS version. It is very easy to integrate in your environment and all the kexts in Acidanthera have already been migrated, providing a great example to numerous popular third-party kexts migrating right now.
 
Another important side of the collaboration is the ability to share our code. Previously, we made it possible to build standalone drivers like [OcQuirks](https://github.com/ReddestDream/OcQuirks) (which provided a compatibility layer for legacy bootloaders) and we also shared our code with various projects for classic Mac Pros letting them work with most GPUs available on the market. This time, we shared our core code with a popular legacy bootloader named [Clover](https://github.com/CloverHackyColor/CloverBootloader), letting it launch recent versions of macOS. Surely, we understand that such a project will never be as stable, fast, or secure as the original; that goes without saying. However, the users are those who we actually value. and we understand that not all these users have completed the migration, and so as part of our goodwill, we give them an ability to postpone this a little longer. Take your time while we care for your productivity.

For the technical part of the story, I cannot miss the chance to shed a little light on some key changes. [@Goldfish64](https://github.com/Goldfish64) merged all the remarkable work dedicated to 32-bit macOS compatibility, making it possible to install basically any version from a clean image through the original installer, even with CPUs as far back as the Pentium 4. To our own surprise, most of the validation team members were pleased to report that the migration of their old machines went very smoothly. [@BAndysc](https://github.com/BAndysc) and [@hieplpvip](https://github.com/hieplpvip) contributed basic ELAN touchpad support to [VoodooPS2](https://github.com/acidanthera/VoodooPS2) with a large number of touchpads working out of the box and more issues currently being worked on. [@zhen-zen](https://github.com/zhen-zen) and [@usr-sse2](https://github.com/usr-sse2) contributed a new driver called [BrightnessKeys](https://github.com/acidanthera/BrightnessKeys) that greatly simplifies the process of ACPI editing for backlight hotkey handling. [@lvs1974](https://github.com/lvs1974) and [@PMHeart](https://github.com/PMHeart) made it possible to reimplement [BT4LEContinuityFixup](https://github.com/acidanthera/BT4LEContinuityFixup)'s functionality into all recent macOS versions as a part of an OpenCore quirk known as `ExtendBTFeatureFlags`. Finally, the advancements in Intel Wireless support by [@usr-sse2](https://github.com/usr-sse2) were also merged upstream and released as a part of the latest [alpha release](https://github.com/OpenIntelWireless/itlwm/releases).

Every release is a considerable amount of effort by a small team with the members spending a lot of their free time to make it possible. They write code, they write documentation, they run a lot of tests, and they help to maintain the repositories and reply on the [bugtracker](https://github.com/acidanthera/bugtracker). While it is not possible to mention everyone in the highlights, I use this ability to thank them all once more.

We hope you enjoy the new features and stay safe as the situation gets more serious outside.

- Vit

# Guide Updates

Just like with last month, we've expanded our guide support once again! Specifically we've now added support for almost every native Intel CPU generation including:

* Yonah, Conroe and Penryn
* Lynnfield and Clarkdale
* Clarksfield and Arrandale
* Nehalem and Westmere

In addition to more legacy support hardware wise, we've also expanded our DuetPkg support to Windows, added more OS X install methods including 10.4 and much more info on legacy quirks in OpenCore. This is all thanks to the rigorous work from [@Goldfish64](https://github.com/Goldfish64) and [@vit9696](https://github.com/vit9696) on adding more legacy support to OpenCore itself!

We had quite a bit fun going back and messing with older versions of OS X and even experience some versions for the first time. I made a mini thread about my hardware here: [One box, every x86 install! HP DC 7900](https://www.reddit.com/r/hackintosh/comments/j0d6t0/one_box_every_x86_install_hp_dc_7900/)

* [OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/)

— Khronokernel

# Changelogs

#### [OpenCore 0.6.2](https://github.com/acidanthera/OpenCorePkg/releases)

- Updated builtin firmware versions for SMBIOS and the rest
- Added `ProcessorType` option to `Generic` allowing custom CPU names
- Fixed `UnblockFsConnect` option not working with APFS JumpStart
- Added IA32 binary variant to the release bundles
- Fixed improper handling of cacheless kexts without an Info.plist
- Fixed improper calculation of kext startup address for blocking
- Added mkext 32-bit kext injection (10.4-10.6)
- Added cacheless 32-bit kext injection (10.4-10.7)
- Added 32-bit kernel/kext patching/blocking support
- Fixed issues loading 10.7 EfiBoot
- Added `Type` to `ReservedMemory` to fulfil hibernation hack needs
- Added workaround to displaying `Preboot` instead of `Macintosh HD`
- Added prelinkedkernel 32-bit kext injection (10.6-10.7)
- Added `SystemMemoryStatus` to override memory replacement on some models
- Added older Pentium CPU recognition in SMBIOS 
- Added `ExtendBTFeatureFlags` to properly set `FeatureFlags` for Bluetooth (which substitutes BT4LEContinuityFixup) 
- Added `MinKernel`/`MaxKernel` to CPUID emulation and `DummyPowerManagement`
- Fixed `-legacy` not being added in `KernelArch` `Auto` mode
- Fixed `i386-user32` not forcing `i386` on macOS 10.7 on X64 firmwares
- Fixed `i386-user32` being incorrectly enabled in macOS 10.4, 10.5, and 10.7
- Disabled prelinked boot for macOS 10.4 and 10.5 in `KernelCache` `Auto` mode
- Fixed `macserial` compatibility with iMac20,x serials and other models from 2020
- Added `LegacyCommpage` quirk to improve pre-SSSE3 userspace compatibility
- Fixed legacy SATA HDDs displaying as external drives in the picker

#### [Lilu 1.4.8](https://github.com/acidanthera/Lilu/releases)

- Added MacKernelSDK with Xcode 12 compatibility
- Removed `kern_atomic.hpp` due to MacKernelSDK implementation
- Acidanthera MacKernelSDK is now required for all plugins
- Fixed Lilu loading on macOS 10.6 (not all APIs will be functional)
- Fixed plugin debug log not working with Lilu disabled

#### [AppleALC 1.5.3](https://github.com/acidanthera/AppleALC/releases)

- Fix ALCS1200A lost ID 11 by owen0o0
- Added MacKernelSDK with Xcode 12 compatibility

#### [WhateverGreen 1.4.3](https://github.com/acidanthera/WhateverGreen/releases)

- Added CFL and CML P630
- Added MacKernelSDK with Xcode 12 compatibility
- Fixed loading on macOS 10.11 and earlier

#### [VirtualSMC 1.1.7](https://github.com/acidanthera/VirtualSMC/releases)

- Added MacKernelSDK with Xcode 12 compatibility
- Fixed SMCDellSensors loading on macOS 10.8
- Added VirtualSMC support for 10.6 (most plugins require newer versions)
- Fixed rare kernel panic in SMCSuperIO
 
#### [AirportBrcmFixup 2.1.0](https://github.com/acidanthera/AirportBrcmFixup/releases)

- Add pci14e4,4331, pci14e4,4353  and pci14e4,4357  into AirPortBrcmNIC_Injector.kext  (in 11.0 only AirPortBrcmNIC can support these devices)
- Added MacKernelSDK with Xcode 12 compatibility
- Fixed macOS 10.8 compatibility (without ASPM support)

#### [HibernationFixup 1.3.6](https://github.com/acidanthera/HibernationFixup/releases)

- Postpone RTC wake in AppleRTC::setupDateTimeAlarm according to current standby/autopoweroff delay (if auto-hibernate feature and standby/autopoweroff is on)
in order to avoid earlier wake.

#### [RTCMemoryFixup 1.0.7](https://github.com/acidanthera/RTCMemoryFixup/releases)

- Added MacKernelSDK with Xcode 12 compatibility

#### [CPUFriend 1.2.2](https://github.com/acidanthera/CPUFriend/releases)

- Added MacKernelSDK with Xcode 12 compatibility

#### [DebugEnhancer 1.0.2](https://github.com/acidanthera/DebugEnhancer/releases)

- Added MacKernelSDK with Xcode 12 compatibility

#### [NVMeFix 1.0.4](https://github.com/acidanthera/NVMeFix/releases)

- Added MacKernelSDK with Xcode 12 compatibility

#### [IntelMausi 1.0.4](https://github.com/acidanthera/IntelMausi/releases)

- Added MacKernelSDK with Xcode 12 compatibility
- Added IntelSnowMausi variant for 10.6-10.8

#### [BrcmPatchRAM 2.5.5](https://github.com/acidanthera/BrcmPatchRAM/releases)

- Initial MacKernelSDK and Xcode 12 compatibility
- Added bundled BrcmPatchRAM.kext to the binaries

#### [VoodooInput 1.0.7](https://github.com/acidanthera/VoodooInput/releases)

- Initial MacKernelSDK and Xcode 12 compatibility

#### [VoodooPS2 2.1.7](https://github.com/acidanthera/VoodooPS2/releases)

- Initial MacKernelSDK and Xcode 12 compatibility
- Added support for select ELAN touchpads by BAndysc and hieplpvip
- Added constants for 11.0 support

#### [CpuTscSync 1.0.3](https://github.com/acidanthera/CpuTscSync/releases)

- Added MacKernelSDK with Xcode 12 compatibility

#### [BrightnessKeys 1.0.0](https://github.com/acidanthera/BrightnessKeys/releases)

- Initial release

---

## File: _posts/2020-11-02-acidanthera-november.md

---
layout: post
title:  "Acidanthera Updates: November 2020"
date:   2020-11-02 15:00:00 -0700
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Guide Updates](#guide-updates)
* [Changelogs](#changelogs)

# A message from vit9696

Welcome back. Today we are pleased to announce one more autumn software iteration in preparation for Big Sur. Based on our experience with the seeds, I believe I can safely admit that we are ready for it. Even so, I advise everyone not to rush and instead skip a couple of point releases before transitioning your primary installation. The amount of changes within the operating system itself has affected application developers a lot more than us, and naturally it will take time before all the software has been updated to work correctly in Big Sur.

With the November update we made further improvements in Apple Secure Boot support. The latest additions to Big Sur let us discover genuine issues in the implementation that were not critical to previous macOS versions. We fixed these problems and published the [ACDT0133PRU](https://github.com/acidanthera/bugtracker/blob/master/DOCUMENTS.md) note to explain the nuances to the general audience. We expect that its contents will soon appear in Dortania guides in some way. For improved security and stability we recommend all the users to enable Apple Secure Boot.

In addition to that, we resolved some long-standing problems with hardware configuration. In the current OpenCore version one can find SMBIOS memory property customization and Intel IGPU resolution patching for legacy systems contributed by [@Goldfish64](https://github.com/Goldfish64). We also included an [ACPI table](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-UNC.dsl) required by some X99 platforms for macOS 11 to function researched by [@RemB](https://github.com/remb). On the kext side, [@lvs1974](https://github.com/lvs1974) updated [SMCDellSensors](https://github.com/acidanthera/VirtualSMC) to improve Bluetooth audio stability, and [@black-dragon74](https://github.com/black-dragon74) contributed custom verb sending to [AppleALC](https://github.com/acidanthera/AppleALC/releases). Additionally [@0xFireWolf](https://github.com/0xFireWolf) continued the refactoring of IGPU patches in [WhateverGreen](WhateverGreen) and added automatic link rate calculation.

— Vit

# Guide Updates

This month we've taken a bit of a step back in regards to the install guide, and pivoted our time towards [post-install guide](https://dortania.github.io/OpenCore-Post-Install/) updates before things get too hectic with Big Sur's imminent release. The main things we've been working on:

* [Legacy Intel Patching](https://dortania.github.io/OpenCore-Post-Install/gpu-patching/legacy-intel/)
  * GMA series supported
* [Legacy Nvidia Patching](https://dortania.github.io/OpenCore-Post-Install/gpu-patching/nvidia-patching/)
  * Tesla through Fermi series supported
* [More in-depth WhateverGreen Patching](https://dortania.github.io/OpenCore-Post-Install/gpu-patching/intel-patching/)
  * Sandy bridge and newer supported
  
We know that documentation on legacy hardware can be quite difficult to find as more and more sites go offline, and even more challenging finding credible information from that era where users would throw anything at the wall till it sticks. So to ease users wanting to breath new life into older hardware or ditch Chameleon and Clover, we dedicated quite a bit of time and resources into documenting support for older GPUs. And thanks to the efforts of [@1Revenger1](https://github.com/1Revenger1/), we now have an amazing utility to help calculate NVCAP values for legacy Nvidia GPUs by simply importing your VBIOS into [NVCAP-Calculator](https://github.com/1Revenger1/NVCAP-Calculator).

Additionally, we've also begun work on a new guide to breath new life into legacy Macs. This guide focuses on setting up a Mac no longer supported by the latest OS, and installing OpenCore with little to no modifications to the file system. This allows for native OS updates, full features such as SIP and APFS snapshots allowing for a near-identical experience to a supported Macs. The guide is still a work in progress, as legacy GPU acceleration and AppleHDA patching are still being worked on, however this is the only way to get certain Macs like iMac11,x and MacBookPro6,x to boot Big Sur at all. You can read more about this new guide here:

* [OpenCore for Legacy Macs](https://dortania.github.io/OpenCore-For-Legacy-Macs/)

And as mentioned before, Big Sur's release is just around the corner. Unfortunately quite a bit has changed with the software catalogue so we do want to warn users in advance that gibMacOS may not fully support Windows or Linux initially (however macOS-based installers will still be fully supported). You may find [macrecovery.py](https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/macrecovery) to be a more reliable solution if there's issues with Big Sur and gibMacOS. If this does occur, please be patient while things would be patched up to accomodate the potential new GDMF update system, we will be updating the guides regularly with new information on Big Sur installs as it comes out.

We hope you enjoy the updates to the guides, and we'll be seeing you in a few weeks with a new Big Sur update thread on all things to watch out for with the release!

— Khronokernel

# Changelogs

#### [OpenCore 0.6.3](https://github.com/acidanthera/OpenCorePkg/releases)

- Added support for xml comments in plist files
- Updated underlying EDK II package to edk2-stable202008
- Provide fallbacks for NULL memory SMBIOS strings
- Fixed `BOOTx64.efi` and `BOOTIA32.efi` convention
- Fixed SMBIOS handling with multiple memory arrays
- Fixed memory array handle assignment on empty slots
- Fixed CPUID patching on certain versions of macOS 10.4.10 and 10.4.11
- Fixed incorrect core/thread counts on Pentium M processors
- Added `SSDT-UNC.dsl` ACPI sample to resolve X99 issues, thx @RemB
- Updated builtin firmware versions for SMBIOS and the rest
- Increased slide allocation reserve to 200 MB for Big Sur beta 10
- Fixed assert when trying to enable direct renderer on blit-only GOP
- Added support for custom memory properties
- Fixed intermittent 32-bit prelinking failures caused by improper Mach-O expansion
- Fixed failures in cacheless injection dependency resolution
- Fixed detection issues with older Atom CPUs
- Fixed `ScanPolicy` NVMe handling on MacPro5,1
- Fixed I/O issues on platforms incapable of reading over 1MB at once
- Fixed plist-only kext injection in Big Sur
- Add `ForceResolution` option for enabling non-default resolutions
- Fixed Ps2MouseDxe not properly loading under OpenDuetPkg
- Added workaround for read-only errors on some X299 boards
- Added support for `x86legacy` Secure Boot model
- Added missing Secure Boot NVRAM variables required by 11.0
- Added setting of `system-id` NVRAM variable
- Added `ForceSecureBootScheme` quirk for virtual machines
- Fixed kernel and ACPI patches failing to replace last bytes of memory

#### [Lilu 1.4.9](https://github.com/acidanthera/Lilu/releases)

- Added the PCI GMCH Graphics Control register definition. (by 0xFireWolf)
- Added a new API to solve multiple symbols in one shot conveniently. (by 0xFireWolf)
- Added a new `RouteRequest` constructor to work with function pointers without additional type castings. (by 0xFireWolf)

#### [AppleALC 1.5.4](https://github.com/acidanthera/AppleALC/releases)

- Improved Ice Lake controller patches by fewtarius
- Added verb sending functionality from userspace by black-dragon74
- Added ALC235 (display as ALC233) layout-id 35 for Lenovo Qitian M420-D046(C) by crysehillmes
- Added ALC892 layout-id 100 for MSI Z370-A PRO by GeorgeWan
- Added ALCS1200A layout-id 51 for for ASROCK Z490 Steel Legend by GeorgeWan
- Added ALC662 layout-id 66 for Lenovo Qitian M415-D339 by static-host
- Fixed ALC285 layout-Id 21 for X1C6 (by @fewtarius)
- Added ALC272 layout-id 12 for Lenovo Y470 by amu_1680c
- Added patch CX20751/2 by vasishath to fix internal mic gain adjustment (this fix microphone volume slider in system preferences)
- Added ALC230 layout 13 & 20 Jack Sense and EAPD support and add WakeConfigData to layout 13
- Added ALC290 layout-id 10 for HP Envy 15t-k200 w/ Beats Audio 2.1 by temp1122-sys

#### [WhateverGreen 1.4.4](https://github.com/acidanthera/WhateverGreen/releases)

- Extended the maximum link rate fix: Now probe the rate from DPCD automatically and support Intel ICL platforms. (by @0xFireWolf)
- Fixed an issue that LSPCON driver causes a page fault if the maximum link rate fix is not enabled. (by @0xFireWolf)

#### [VirtualSMC 1.1.8](https://github.com/acidanthera/VirtualSMC/releases)

- Reduce audio lags in SMCDellSensors
 
#### [AirportBrcmFixup 2.1.1](https://github.com/acidanthera/AirportBrcmFixup/releases)

- Fix an issue with posponed matching (method IOTimerEventSource::timerEventSource could fail)

#### [HibernationFixup 1.3.7](https://github.com/acidanthera/HibernationFixup/releases)

- Refactoring, setup next RTC wake manually if IOPMrootDomain::setMaintenanceWakeCalendar was not called before sleep
- Force next sleep if maintanence wake type is detected (RTC/SleepService/Maintenance)

#### [VoodooPS2 2.1.8](https://github.com/acidanthera/VoodooPS2/releases)

- Added support for receiving input form other kexts
- Fixed dynamic coordinate refresh for ELAN v3 touchpads

#### [BrightnessKeys 1.0.1](https://github.com/acidanthera/BrightnessKeys/releases)

- Recovered support for macOS 10.11-10.14
- Added message capability for sending key to primary keyboard and palm rejection

---

## File: _posts/2020-11-12-bigsur-new.md

---
layout: post
title:  "What's new in macOS 11, Big Sur!"
date:   2020-11-12 7:00:00 -0600
categories: Hackintosh updates
---

* [Reddit Thread](https://www.reddit.com/r/hackintosh/comments/jsziec/whats_new_in_macos_11_big_sur/)

It's that time of year again, and we've got a new version of macOS on our hands! This year we've finally jumped off the 10.xx naming scheme and now going to 11! And with that, a lot has changed under the hood in macOS.

As with [previous years](https://dortania.github.io/hackintosh/updates/2019/10/07/catalina.html), we'll be going over what's changed in macOS and what you should be aware of as a macOS and Hackintosh enthusiast.

* [Has Nvidia Support finally arrived?](#has-nvidia-support-finally-arrived)
* [What has changed on the surface](#what-has-changed-on-the-surface)
  * [A whole new iOS-like UI](#a-whole-new-ios-like-ui)
  * [macOS Snapshotting](#macos-snapshotting)
  * [Broken Kexts in Big Sur](#broken-kexts-in-big-sur)
* [What has changed under the hood](#what-has-changed-under-the-hood)
  * [New Kernel cache system: KernelCollections!](#new-kernel-cache-system-kernelcollections)
  * [New Kernel Requirements](#new-kernel-requirements)
    * [Secure Boot Changes](#secure-boot-changes)
    * [No more symbols required](#no-more-symbols-required)
  * [Broken Kexts in Big Sur](#broken-kexts-in-big-sur)
  * [MSI Navi installer Bug Resolved](#msi-navi-installer-bug-resolved)
  * [New AMD OS X Kernel Patches](#new-amd-os-x-patches)
  * [Other notable Hackintosh issues](#other-notable-hackintosh-issues)
    * [Several SMBIOS have been dropped](#several-smbios-have-been-dropped)
    * [Dropped hardware](#dropped-hardware)
    * [Extra long install process](#extra-long-install-process)
    * [X79 and X99 Boot issues](#x79-and-x99-boot-issues)
	* [Asus Z97 failing Stage 2 Installation](#asus-z97-failing-stage-2-installation)
    * [New RTC requirements](#new-rtc-requirements)
    * [SATA Issues](#sata-issues)
    * [Legacy GPU Patches currently unavailable](#legacy-gpu-patches-currently-unavailable)
* [What’s new in the Hackintosh scene?](#whats-new-in-the-hackintosh-scene)
  * [Dortania: a new organization has appeared](#dortania-a-new-organization-has-appeared)
  * [Dortania's Build Repo](#dortania-s-build-repo)
  * [True legacy macOS Support!](#true-legacy-macos-support)
  * [Intel Wireless: More native than ever!](#intel-wireless-more-native-than-ever)
  * [Clover's revival? A frankenstein of a bootloader](#clovers-revival-a-frankenstein-of-a-bootloader)
  * [Death of x86 and the future of Hackintoshing](#death-of-x86-and-the-future-of-hackintoshing)
* [Getting ready for macOS 11, Big Sur](#getting-ready-for-macos-11-big-sur)

# Has Nvidia Support finally arrived?



Sadly every year I have to answer the obligatory question, no there is no new Nvidia support. Currently [Nvidia's Kepler line](https://dortania.github.io/GPU-Buyers-Guide/modern-gpus/nvidia-gpu.html) is the only natively supported gen.

However macOS 11 makes some interesting changes to the boot process, specifically moving GPU drivers into stage 2 of booting. Why this is relevant is due to Apple's initial reason for killing off Web Drivers: Secure boot. What I mean is that secure boot cannot work with Nvidia's Web Drivers due to how early Nvidia's drivers have to initialize at, and thus Apple refused to sign the binaries. With Big Sur, there could be 3rd party GPUs however the chances are still super slim but slightly higher than with 10.14 and 10.15.

# What has changed on the surface

## A whole new iOS-like UI

Love it or hate it, we've got a new UI more reminiscent of iOS 14 with hints of skeuomorphism(A somewhat subtle call back to previous mac UIs which have neat details in the icons)

You can check out Apple's site to get a better idea:

* [Apple's Big Sur Preview](https://www.apple.com/macos/big-sur-preview/)

## macOS Snapshotting

A feature initially baked into APFS back in 2017 with the release of macOS 10.13, High Sierra, now macOS's main System volume has become both read-only and snapshotted. What this means is:

* 3rd parties have a much more difficult time modifying the system volume, allowing for greater security
* OS updates can now be installed while you're using the OS, similar to how iOS handles updates
* Time Machine can now more easily perform backups, without file inconsistencies with HFS Plus while you were using the machines

However there are a few things to note with this new enforcement of snapshotting:

* OS snapshots are not calculated as used space, instead being labeled as purgeable space
* Disabling macOS snapshots for the root volume with break software updates, and can corrupt data if one is applied


# What has changed under the hood

Quite a few things actually! Both in good and bad ways unfortunately.

* [New Kernel cache system: KernelCollections!](#new-kernel-cache-system-kernelcollections)
* [New Kernel Requirements](#new-kernel-requirements)
  * [Secure Boot Changes](#secure-boot-changes)
  * [No more symbols required](#no-more-symbols-required)
* [Broken Kexts in Big Sur](#broken-kexts-in-big-sur)
* [MSI Navi installer Bug Resolved](#msi-navi-installer-bug-resolved)
* [New AMD OS X Kernel Patches](#new-amd-os-x-patches)
* [Other notable Hackintosh issues](#other-notable-hackintosh-issues)
  * [Several SMBIOS have been dropped](#several-smbios-have-been-dropped)
  * [Dropped hardware](#dropped-hardware)
  * [Extra long install process](#extra-long-install-process)
  * [X79 and X99 Boot issues](#x79-and-x99-boot-issues)
  * [New RTC requirements](#new-rtc-requirements)
  * [SATA Issues](#sata-issues)

## New Kernel Cache system: KernelCollections!

So for the past 15 years, macOS has been using the Prelinked Kernel as a form of Kernel and Kext caching. And with macOS Big Sur's new Read-only, snapshot based system volume, a new version of caching has be developed: KernelCollections!

How this differs to previous OSes:

* Kexts can no longer be hot-loaded, instead requiring a reboot to load with `kmutil`
* [All kernels now support Secure Boot(ie. no more dedicated `immutablekernel`)](#secure-boot-changes)
  * Now all Macs will have some form of basic Secure Boot support
* [Symbols are no longer required](#no-more-symbols-required)

### Secure Boot Changes

With regards to Secure Boot, now all officially supported Macs will also now support some form of Secure Boot even if there's no T2 present. This is now done in 2 stages:

* macOS will now always verify the ECID value to the secure boot manifest files(if present)
  * On T2's this ECID value is burned into the chip
  * On regular Macs, the first 8 bytes of your SystemUUID value
  * On Hackintoshes, this will either be automatically generated by your SystemUUID value or [manually added with a cryptographically secure random number generator](https://dortania.github.io/OpenCore-Post-Install/universal/security/applesecureboot.html)
* OS Snapshots are now verified on each boot to ensure no system volume modifications occurred
  * apfs.kext and AppleImage4.kext verify the integrity of these snapshots

While technically these security features are optional and can be disabled after installation, many features including OS updates will no longer work reliably once disabled. This is due to the heavy reliance of snapshots for OS updates, as mentioned above and so we highly encourage all users to ensure at minimum `SecureBootModel` is set to `Default` or [higher](https://dortania.github.io/OpenCore-Post-Install/universal/security/applesecureboot.html).

* **Note**: ApECID is not required for functionality, and can be skipped if so desired.
* **Note 2**: OpenCore 0.6.3 or newer is required for Secure Boot in Big Sur.

### No more symbols required

This point is the most important part, as this is what we use for kext injection in OpenCore. Currently Apple has left symbols in place seemingly for debugging purposes however this is a bit worrying as Apple could outright remove symbols in later versions of macOS. But for Big Sur's cycle, we'll be good on that end however we'll be keeping an eye on future releases of macOS.

## New Kernel Requirements

With this update, the `AvoidRuntimeDefrag` Booter quirk in OpenCore broke. Because of this, the macOS kernel will fall flat when trying to boot. Reason for this is due to `cpu_count_enabled_logical_processors` requiring the MADT (APIC) table, and so OpenCore will now ensure this table is made accessible to the kernel. Users will however need a build of OpenCore 0.6.0 with commit [`bb12f5f`](https://github.com/acidanthera/OpenCorePkg/commit/9f59339e7eb8c213e84551df0fdbf9905cd98ca4) **or newer** to resolve this issue.

Additionally, both [Kernel Allocation requirements](https://github.com/acidanthera/OpenCorePkg/commit/c8bf19dc807548ba938a1e67a014531d647355b6) and [Secure Boot have also broken with Big Sur](https://github.com/acidanthera/OpenCorePkg/commit/1b0041493d4693f9505aa6415d93079ea59f7ab0) due to the new caching system discussed above. Thankfully these have also been resolved in OpenCore 0.6.3.


To check your OpenCore version, run the following in terminal:

```sh
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version
```

If you're not up-to-date and running OpenCore 0.6.3+, see here on how to upgrade OpenCore: [Updating OpenCore, Kexts and macOS](https://dortania.github.io/OpenCore-Post-Install/universal/update.html)

## Broken Kexts in Big Sur

Unfortunately with the aforementioned KernelCollections, some kexts have unfortunately broken or have been hindered in some way. The main kexts that currently have issues are anything relying on Lilu's userspace patching functionality:

* [WhateverGreen's](https://github.com/acidanthera/WhateverGreen) [DRM](https://dortania.github.io/OpenCore-Post-Install/universal/drm.html) and `-cdfon` patches
  * Most of WhateverGreen's functions are still working as they're kernelspace based
* [MacProMemoryNotificationDisabler](https://github.com/IOIIIO/MacProMemoryNotificationDisabler)
* [SystemProfilerMemoryFixup](https://github.com/Goldfish64/SystemProfilerMemoryFixup)

Thankfully most important kexts rely on kernelspace patcher which is now in fact working again.

## MSI Navi installer Bug Resolved

For those receiving boot failures in the installer due to having an MSI Navi GPU installed, macOS Big Sur has finally resolved this issue!

## New AMD OS X Kernel Patches

For those running on AMD-Based CPUs, you'll want to also update your kernel patches as well since patches have been rewritten for macOS Big Sur support:

* [AMD OSX Kernel Patches](https://github.com/AMD-OSX/AMD_Vanilla)

## Other notable Hackintosh issues

* [Several SMBIOS have been dropped](#several-smbios-have-been-dropped)
* [Dropped hardware](#dropped-hardware)
* [Extra long install process](#extra-long-install-process)
* [X79 and X99 Boot issues](#x79-and-x99-boot-issues)
* [Asus Z97 failing Stage 2 Installation](#asus-z97-failing-stage-2-installation)
* [New RTC requirements](#new-rtc-requirements)
* [SATA Issues](#sata-issues)

### Several SMBIOS have been dropped

Big Sur dropped a few Ivy Bridge and Haswell based SMBIOS from macOS, so see below that yours wasn't dropped:

* iMac14,3 and older
  * Note iMac14,4 is still supported
* MacPro5,1 and older
* MacMini6,x and older
* MacBook7,1 and older
* MacBookAir5,x and older
* MacBookPro10,x and older

If your SMBIOS was supported in Catalina and isn't included above, you're good to go! We also have a more in-depth page here: [Choosing the right SMBIOS](https://dortania.github.io/OpenCore-Install-Guide/extras/smbios-support.html)

For those wanting a simple translation for their Ivy and Haswell Machines:

* iMac13,1 should transition over to using iMac14,4
* iMac13,2 should transition over to using iMac15,1
* iMac14,2 and iMac14,3 should transition over to using iMac15,1
  * Note: AMD CPUs users should transition over to MacPro7,1
* iMac14,1 should transition over to iMac14,4

### Dropped hardware

Currently only certain hardware has been officially dropped:

* "Official" Consumer Ivy Bridge Support(U, H and S series)
  * These CPUs will still boot without much issue, but note that no Macs are supported with consumer Ivy Bridge in Big Sur.
  * Ivy Bridge-E CPUs are still supported thanks to being in MacPro6,1
* Ivy Bridge iGPUs slated for removal
  * HD 4000 and HD 2500, however currently these drivers are still present in 11.0.1
  * Similar to Mojave and Nvidia's Tesla drivers, we expect Apple to forget about them and only remove them in the next major OS update next year
* BCM4331 and BCM43224 based Wifi cards.
  * See [Wireless Buyers guide](https://dortania.github.io/Wireless-Buyers-Guide/) for potential cards to upgrade to.
  * Note, while AirPortBrcm4360.kext has been removed in Big Sur, support for the 4360 series cards have been moved into AirPortBrcmNIC.kext, which still exists.
  * For work-arounds, see here: [Legacy Wireless Kexts](https://github.com/khronokernel/IO80211-Patches)

### Extra long install process

Due to the new snapshot-based OS, installation now takes some extra time with sealing. If you get stuck at `Forcing CS_RUNTIME for entitlement`, **do not shutdown**. This will corrupt your install and break the sealing process, so please be patient:



### X79 and X99 Boot issues

With Big Sur, IOPCIFamily went through a decent rewriting causing many X79 and X99 boards to fail to boot as well as panic on IOPCIFamily. To resolve this issue, you'll need to disable the unused uncore bridge:

* [SSDT-UNC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-UNC.dsl)

You can also find prebuilts here for those who do not wish to compile the file themselves:

* [Dortania's Pre-Built SSDTs](https://dortania.github.io/Getting-Started-With-ACPI/ssdt-methods/ssdt-prebuilt.html)

### Asus Z97 failing Stage 2 Installation

With Big Sur, there's a higher reliance on native NVRAM for installation otherwise the installer will get stuck in a reboot loop. To resolve this you'll need to either:

* Install Big Sur on another machine, then transfer the drive
* Fix the motherboard's NVRAM

For the latter, see here: [Haswell ASUS Z97 Big Sur Update Thread](https://www.reddit.com/r/hackintosh/comments/jw7qf1/haswell_asus_z97_big_sur_update_and_installation/)

### New RTC requirements

With macOS Big Sur, AppleRTC has become much more picky on making sure your OEM correctly mapped the RTC regions in your ACPI tables. This is mainly relevant on Intel's HEDT series boards, I documented how to patch said RTC regions in OpenCorePkg:

* [SSDT-RTC0-RANGE](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-RTC0-RANGE.dsl)

For those having boot issues on X99 and X299, this section is super important; you'll likely get stuck at `PCI Configuration Begin`. You can also find prebuilts here for those who do not wish to compile the file themselves:

* [Dortania's Pre-Built SSDTs](https://dortania.github.io/Getting-Started-With-ACPI/ssdt-methods/ssdt-prebuilt.html)

### SATA Issues

For some reason, Apple removed the AppleIntelPchSeriesAHCI class from AppleAHCIPort.kext. Due to the outright removal of the class, trying to spoof to another ID (generally done by SATA-unsupported.kext) can fail for many and create instability for others.
  * A partial fix is to block Big Sur's AppleAHCIPort.kext and inject Catalina's version with any conflicting symbols being patched. You can find a sample kext here: [Catalina's patched AppleAHCIPort.kext](https://github.com/dortania/OpenCore-Install-Guide/blob/master/extra-files/CtlnaAHCIPort.kext.zip)
  * This will work in both Catalina and Big Sur so you can remove SATA-unsupported if you want. However we recommend setting the MinKernel value to 20.0.0 to avoid any potential issues.

### Legacy GPU Patches currently unavailable

Due to major changes in many frameworks around GPUs, those using [ASentientBot's](https://forums.macrumors.com/members/1135186/) legacy GPU patches are currently out of luck. We either recommend users with these older GPUs stay on Catalina until further developments arise or buy an [officially supported GPU](https://dortania.github.io/GPU-Buyers-Guide/)

# What’s new in the Hackintosh scene?

* [Dortania: a new organization has appeared](#dortania-a-new-organization-has-appeared)
* [Dortania's Build Repo](#dortania-s-build-repo)
* [True legacy macOS Support!](#true-legacy-macos-support)
* [Intel Wireless: More native than ever!](#intel-wireless-more-native-than-ever)
* [Clover's revival? A frankenstein of a bootloader](#clovers-revival-a-frankenstein-of-a-bootloader)
* [Death of x86 and the future of Hackintoshing](#death-of-x86-and-the-future-of-hackintoshing)

## Dortania: a new organization has appeared

As many of you have probably noticed, a new organization focusing on documenting the hackintoshing process has appeared. Originally under my alias, [Khronokernel](https://github.com/khronokernel), I started to transition my guides over to this new family as a way to concentrate the vast amount of information around Hackintoshes to both ease users and give a single trusted source for information. 

We work quite closely with the community and developers to ensure information's correct, up-to-date and of the best standards. While not perfect in every way, we hope to be the go-to resource for reliable Hackintosh information.

And for the times our information is either outdated, missing context or generally needs improving, we have our bug tracker to allow the community to more easily bring attention to issues and speak directly with the authors:

* [Dortania's Bugtracker](https://github.com/dortania/bugtracker)

## Dortania's Build Repo

For those who either want to run the lastest builds of a kext or need an easy way to test old builds of something, Dortania's Build Repo is for you!

* [**Build Repo**](https://dortania.github.io/builds/)

Kexts here are built right after commit, and currently supports most of Acidanthera's kexts and some 3rd party devs as well. If you'd like to add support for more kexts, feel free to PR: [Build Repo source](https://github.com/dortania/build-repo)

## True legacy macOS Support!

As of OpenCore's latest versioning, 0.6.2, you can now boot every version of x86-based builds of OS X/macOS! A huge achievement on [@Goldfish64](https://github.com/Goldfish64)'s part, we now support every major version of kernel cache both 32 and 64-bit wise. This means machines like Yonah and newer should work great with OpenCore and you can even relive the old days of OS X like OS X 10.4!

And Dortania guides have been updated accordingly to accommodate for builds of those eras, we hope you get as much enjoyment going back as we did working on this project!

## Intel Wireless: More native than ever!

Another amazing step forward in the Hackintosh community, near-native Intel Wifi support! Thanks to the endless work on many contributors of the [OpenIntelWireless project](https://github.com/OpenIntelWireless/), we can now use Apple's built-in IO80211 framework to have near identical support to those of Broadcom wireless cards including features like network access in recovery and control center support.

For more info on the developments, please see the itlwm project on GitHub: [itlwm](https://github.com/OpenIntelWireless/itlwm)

* Note, native support requires the AirportItlwm.kext and [SecureBootModel enabled on OpenCore](https://dortania.github.io/OpenCore-Post-Install/universal/security/applesecureboot.html). Alternatively you can force IO80211Family.kext to ensure AirportItlwm works correctly.
* Airdrop support currently is also not implemented, however is actively being worked on.

## Clover's revival? A frankestien of a bootloader

As many in the community have seen, a new bootloader popped up back in April of 2019 called [OpenCore](https://github.com/acidanthera/OpenCorePkg). This bootloader was made by the same people behind projects such as [Lilu](https://github.com/acidanthera/Lilu), [WhateverGreen](https://github.com/acidanthera/WhateverGreen), [AppleALC](https://github.com/acidanthera/AppleALC) and many other extremely important utilities for both the Mac and Hackintosh community. OpenCore's design had been properly thought out with security auditing and proper road mapping laid down, it was clear that this was to be the next stage of hackintoshing for the years we have left with x86.

And now lets bring this back to the old crowd favorite, [Clover](https://github.com/CloverHackyColor/CloverBootloader/). Clover has been having a rough time of recent both with the community and stability wise, with many devs jumping ship to OpenCore and Clover's stability breaking more and more with C++ rewrites, it was clear Clover was on its last legs. Interestingly enough, the community didn't want Clover to die, similarly to how Chameleon lived on through Enoch. And thus, we now have the [Clover OpenCore integration project](https://github.com/CloverHackyColor/CloverBootloader/tree/opencore_integration)(Now merged into Master with r5123+).

The goal is to combine OpenCore into Clover allowing the project to live a bit longer, as Clover's current state can no longer boot macOS Big Sur or older versions of OS X such as 10.6. As of writing, this project seems to be a bit confusing as there seems to be little reason to actually support Clover. Many of Clover's properties have [feature-parity in OpenCore](https://github.com/dortania/OpenCore-Install-Guide/tree/master/clover-conversion) and trying to combine both C++ and C ruins many of the features and benefits either languages provide. The main feature OpenCore does not support is macOS-only ACPI injection, however the reasoning is covered here: [Does OpenCore always inject SMBIOS and ACPI data into other OSes?](https://dortania.github.io/OpenCore-Install-Guide/why-oc.html#does-opencore-always-inject-smbios-and-acpi-data-into-other-oses)

## Death of x86 and the future of Hackintoshing

With macOS Big Sur, a big turning point is about to happen with Apple and their Macs. As we know it, Apple will be shifting to in-house designed Apple Silicon Macs(Really just ARM) and thus x86 machines will slowly be phased out of their lineup within 2 years. 

What does this mean for both x86 based Macs and Hackintoshing in general? Well we can expect about 5 years of proper OS support for the iMac20,x series which released earlier this year with an extra 2 years of security updates. After this, Apple will most likely stop shipping x86 builds of macOS and hackintoshing as we know it will have passed away.

For those still in denial and hope something like ARM Hackintoshes will arrive, please consider the following:

* We have yet to see a true iPhone "Hackintosh" and thus the likely hood of an ARM Hackintosh is unlikely as well
  * There have been successful attempts to get the iOS kernel running in virtual machines, however much work is still to be done
* Apple's use of "Apple Silicon" hints that ARM is not actually what future Macs will be running, instead we'll see highly customized chips *based* off ARM
  * For example, Apple will be heavily relying on hardware features such as [W^X](https://en.wikipedia.org/wiki/W%5EX), kernel memory protection, Pointer Auth, etc for security and thus both macOS and Applications will be dependant on it. This means hackintoshing on bare-metal(without a VM) will become extremely difficult without copious amounts of work
  * Also keep in mind Apple Silicon will no longer be UEFI-based like Intel Macs currently are, meaning a huge amount of work would also be required on this end as well

So while we may be heart broken the journey is coming to a stop in the somewhat near future, hackintoshing will still be a time piece in Apple's history. So enjoy it now while we still can, and we here at Dortania will still continue supporting the community with our guides till the very end!

# Getting ready for macOS 11, Big Sur

This will be your short run down if you skipped the above:

* Lilu's userspace patcher is broken
  * Due to this many kexts will break:
      * DiskArbitrationFixup
      * MacProMemoryNotificationDisabler
      * SidecarEnabler
      * SystemProfilerMemoryFixup
      * NoTouchID
      * WhateverGreen's DRM and -cdfon patches
* Many Ivy Bridge and Haswell SMBIOS were dropped
  * See above for what SMBIOS to choose
* Ivy Bridge iGPUs are to be dropped
  * Currently in 11.0.1, these drivers are still present
* BCM4331 and BCM43224 support was dropped
  * Solution listed here: [Legacy Wireless Kexts](https://github.com/khronokernel/IO80211-Patches)
* X79 and X99 require SSDT-UNC
  * See above how to make it
* X99 and X299 requires SSDT-RTC0-RANGE
  * See above how to make it
* Asus Z97 needing to fix NVRAM
  * See above
* AMD CPUs need their kernel patches updated
  * See above for new patches
* OpenCore 0.6.3 or newer is required to boot
* Latest releases of all your kexts

For the last 2, see here on how to update: [Updating OpenCore, Kexts and macOS](https://dortania.github.io/OpenCore-Post-Install/universal/update.html)

In regards to downloading Big Sur, OpenCore Install Guide has been updated to utilise macrecovery.py for Windows and Linux users. macOS users can still use GibMacOS.

And as with every year, the first few weeks to months of a new OS release are painful in the community. We **highly** advise users to stay away from Big Sur for first time installers. The reason is that we cannot determine whether issues are Apple related or with your specific machine, so it's best to install and debug a machine on a known working OS before testing out the new and shiny.

For more in-depth troubleshooting with Big Sur, see here: [OpenCore and macOS 11: Big Sur](https://dortania.github.io/OpenCore-Install-Guide/extras/big-sur/)

---

## File: _posts/2020-11-17-navi20.md

---
layout: post
title:  "Navi 20 PCI IDs added in Big Sur 11.1 beta!"
date:   2020-11-17 7:00:00 -0600
categories: Hackintosh updates
---

With todays new 11.1 beta, it seems Apple has dropped us a pleasant little surprise. Checking the X6000 framebuffer, we see plenty of new PCI IDs listed:

```
# Navi 21
<key>IOPCIMatch</key>
<string>0x73A01002 0x73A21002 0x73A31002 0x73AB1002 0x73AE1002 0x73BF1002</string>

# Navi 22
<key>IOPCIMatch</key>
<string>0x73C01002 0x73C11002 0x73C31002 0x73DF1002</string>

# Navi 23
<key>IOPCIMatch</key>
<string>0x73E01002 0x73E11002 0x73E21002 0x73FF1002</string>
```

From this we get:

* pci1002,73A0 = Unknown
* pci1002,73A2 = Unknown
* pci1002,73A3 = Unknown
* pci1002,73AB = Unknown
* pci1002,73AE = Unknown
* pci1002,73BF = Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]
* pci1002,73C0 = Unknown
* pci1002,73C1 = Unknown
* pci1002,73C3 = Generic Navi 22
* pci1002,73DF = Generic Navi 22
* pci1002,73E0 = Unknown
* pci1002,73E1 = Unknown
* pci1002,73E2 = Unknown
* pci1002,73FF = Generic Navi 23

Looks like we'll get day 1 support for the new Navi 20 GPUs! For more discussion, see our [reddit thread](https://www.reddit.com/r/hackintosh/comments/jw32qd/navi_20_pci_ids_added_in_big_sur_111_beta/)

---

## File: _posts/2020-12-07-acidanthera-december.md

---
layout: post
title:  "Acidanthera Updates: December 2020"
date:   2020-12-07 15:00:00 -0700
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Dortania Updates](#dortania-updates)
* [Changelogs](#changelogs)

# A message from vit9696

Hello. First of all, we would like to congratulate you with the beginning of the holiday season. Autumn provided us with a refreshing experience thanks to the Apple Silicon presentation, and just like everyone else we were quite pleased with Apple Silicon real-world task performance. Out of interest we performed several tests on Macmini9,1 and concluded that it performs almost on par with i7 8700k when compiling LLVM, and outperforms pretty much any AMD or Intel CPU when compiling OpenCore, which build system depends heavily on single-core performance. If you want more details, check [this post](https://applelife.ru/posts/909181) for the commands and numbers. To ensure smooth transitioning we updated most of the applications and tools to compile and execute on Apple Silicon. However, despite all that effort I should say that for the nearest future Intel platform will remain our primary target, and we will continue polishing our software as needed.

While this is not quite true for volunteer open-source projects, there still is some sense in the common saying that the greater popularity inevitably leads to the greater responsibility. Since OpenCore now gets well over 100,000 downloads monthly, we tried to eliminate the technical debt in most commonly mentioned areas. One of these areas was Boot Option handling in the firmwares. Many firmwares have absolutely terrific bugs and badly violate the UEFI specification, creating genuine security vulnerabilities. Unfortunately, popular OEMs, like ASUS, continue to ignore all the reports. Trying to do at least something, we included a large number of workarounds for such firmwares with [@Download-Fritz](https://github.com/Download-Fritz) in OpenCore 0.6.4. So far this resolved all the issues we encountered. Check [this page](https://github.com/acidanthera/bugtracker/issues/1222#issuecomment-739241310) for the upgrade steps and issue details if you think you may be affected or use `BootProtect`.

Additionally, we discovered that macOS 11 broke the ability to disable third-party firmware upgrades via NVRAM, causing installation issues on platforms with some Macmini or Mac Pro firmware identifiers. This was addressed by `BlacklistAppleUpdate` UEFI quirk. We also improved several other quirks responsible for properly booting macOS Big Sur in Safe Mode (`EnableSafeModeSlide`), installing macOS before Mountain Lion (`AllowRelocationBlock`), and securing your environment in specific situations (`DisableSingleUser`). Due to a constant demand in perfect user experience, we made it possible to disable mouse control and allowed per-volume icons in OpenCanopy. Furthermore, Boot Chime sound can now be controlled through macOS Big Sur preferences, and advanced users can create manual bootloader patches thanks to [@PMHeart](https://github.com/PMHeart).

Other projects also received minor but important changes. [VoodooInput](https://github.com/acidanthera/VoodooInput/) now supports trackpoint information, which we plan to later use for reducing the code duplication across different trackpad projects. [HibernationFixup](https://github.com/acidanthera/HibernationFixup/) got further improvements in automatic hibernation. [Lilu](https://github.com/acidanthera/Lilu/) and [SMCDellSensors](https://github.com/acidanthera/VirtualSMC/) got stability fixes specific to Big Sur, and [SMCBatteryManager](https://github.com/acidanthera/VirtualSMC/) provided some tuning to the recent extended supplement information addition. [WhateverGreen](https://github.com/acidanthera/WhateverGreen/) now also runs in Safe Mode resolving black screen issues on platforms requiring AGDP patches. Thanks to [@Dhinakg](https://github.com/Dhinakg) and [@zhen-zen](https://github.com/zhen-zen), from this release onwards all the projects are built with GitHub Actions, which so far provided not only faster build times, but also build artifacts, which let you test your contributions through the official build suite.

——Vit

# Dortania Updates

This month has been a fairly quiet commit cycle for us on the guides, and thanks to this bit of peace we here at Dortania have been able to dedicate more time to some smaller projects. The project we've been hard at work on this month has been our [OpenCore Legacy Patcher](https://github.com/dortania/Opencore-Legacy-Patcher). 

The goal of this tool is simple:

* Allow Mac machines dropped by Apple to run newer versions of macOS
* And ensure all of this is kept in memory, allowing for all security features compared to other basic patchers

Because of this philosophy, we've gained a lot of features most patchers cannot compare to. This includes:

* Native OTA updates
* Full SIP, AMFI, Gatekeeper and other macOS secuirty features
* Full FileVault 2 support
* APFS Snapshotting
* Native IO80211 usage for many broadcom cards
* Only current way to boot Arrandale, Lynnfield and Clarkdale Macs
  * ie. iMac11,1, iMac11,2, iMac11,3, MacBookPro6,1, MacBookPro6,2, MacBookPro6,3
 
We hope that the community can also use our tools to the fullest potential, and we want to give some big thanks to Acidanthera for the countless hours, days, months and years spent working on tools used in our project such as OpenCorePkg, Lilu, WhateverGreen, etc 

——Khronokernel

# Changelogs

#### [OpenCore 0.6.4](https://github.com/acidanthera/OpenCorePkg/releases)

- Added `BlacklistAppleUpdate` to fix macOS 11 broken update optout
- Dropped HII services from OpenDuet improving size and performance
- Fixed patching of injected kexts in mkext
- Added support for launching from relative paths
- Added direct path passing for tools via `RealPath`
- Allowed launching tools and entries in text mode via `TextMode`
- Updated builtin firmware versions for SMBIOS and the rest
- Fixed ACPI patches not applying if tables are in locked memory
- Fixed `EnableSafeModeSlide` on macOS 11
- Added `AllowRelocationBlock` quirk for older macOS and safe mode
- Fixed CPU frequency calculation on AMD 19h family
- Updated recovery_urls
- Fixed `DisableSingleUser` quirk when Apple Secure Boot is enabled
- Added `BootstrapShort` to workaround buggy Insyde firmwares
- Changed `Bootstrap(Short)` to choose dynamic entry (requires NVRAM reset)
- Avoided `Boot` prefix in `RequestBootVarRouting` to workaround AMI issues
- Added bootloader patch support in `Booter` `Patch` section
- Fixed startup hang on firmwares allowong reentrance for timer functions
- Made pointer control optional for OpenCanopy via `PickerAttributes`
- Added support for `StartupMute` variable in `PlayChime`
- Added support for per-volume icons for APFS on Preboot
- Removed HII dependency from OpenUsbKbDxe driver
- Fixed undefined behavior in OpenDuet causing random crashes and hangs

#### [Lilu 1.4.5](https://github.com/acidanthera/Lilu/releases)

- Fixed Apple HDEF detection made by NVIDIA
- Fixed race-condition in select kext detection during patching (thx to lvs1974)

#### [AppleALC 1.5.5](https://github.com/acidanthera/AppleALC/releases)

- Fixed kext loading issues on 10.8 and similar operating system
- Added a requirement to inject `alc-verbs` or use `alc-verbs=1` argument for custom verbs
- Added ALC255 layout-id 66 for Dell Optiplex7060/7070MT(Separate LineOut) by Dynamix1997
- Fixed Jack Sense and EAPD on ALC 236 layout ID 14 by erinviegas
- Added VIA VT2021 layout-id 13 support for all 3 analog lineOUTs on Gigabyte GA-Z77X-D3H (rev. 1.0) by enrysan0
- Added ALC283 layout-id 13 for (Alldo)Cube Mix Plus by Aldo97
- Fix PinConfigs ALC662v3 for Lenovo M415-D339
- Added ALC295 layout-id 22 for HP Spectre x360 by aleixjf
- Added ALC285 layout-id 71 for Spectre x360 ap0xxx by jpuxdev
- Added ALC221 layout-id 88 for HP ProDesk 400 G2 Desktop Mini PC by dragonbbc
- Added CX8200 layout-id 80 for LG Gram 17 17z990 by rdmitry0911
- Added ALC269 layout-id 91 for Chuwi CoreBox by Luca1991
- Modify CX20632 layout-id 20 - Added Mic support and outputs mute controls - HP EliteDesk 800 G4/G5 mini by sisumara
- Added ALC671 layout-id 16 for Fujitsu Q558 by sisumara
- Added `-dev` option to alc-verb to support sending commands to all codecs

#### [WhateverGreen 1.4.5](https://github.com/acidanthera/WhateverGreen/releases)

- Enabled loading in safe mode (mainly for AGDP fixes)
- Resolved an issue that the maximum link rate fix is not working properly on Intel Comet Lake platforms. (Thanks @CoronaHack)
- Allowed enabling `igfxrpsc` on Comet Lake
- Fixed failed to route IsTypeCOnlySystem warning from Skylake to Ice Lake

#### [VirtualSMC 1.1.9](https://github.com/acidanthera/VirtualSMC/releases)

- Improve manual fan control in SMCDellSensors (use control registers 0x35a3 and 0x34a3 to cover more Dell models)
- Fix processKext in SMCDellSensors (could be called multiple times for the same kext since flag Reloadable was set)
- Reduce audio lags in SMCDellSensors when USB audio device is used
- Allow not injecting TB0T SMC key when it is unavailable in SMCBatteryManager
 
#### [AirportBrcmFixup 2.1.2](https://github.com/acidanthera/AirportBrcmFixup/releases)

- Do not patch airport drivers missing in the system (set of available drivers depends on the system version). 
For systems with manually added airport drivers this behaviour can be overridden by boot-arg or property `brcmfx-alldrv`

#### [HibernationFixup 1.3.8](https://github.com/acidanthera/HibernationFixup/releases)

- Improve auto hibernation: immediate hibernate if standbydelaylow / autopoweroffdelay is 0, fast resume after hibernate, code cleanup

#### [VoodooPS2 2.1.8](https://github.com/acidanthera/VoodooPS2/releases)

- Disabled PrntScr remap by default, see `SSDT-PrtSc-Remap.dsl` for example to re-enable it
- Disabled Command and Option remap by default, see `SSDT-Swap-CommandOption.dsl` for example to re-enable it

#### [VoodooInput 1.0.9](https://github.com/acidanthera/VoodooInput/releases)

- Add trackpoint device from VoodooTrackpoint

#### [MaciASL 1.5.9](https://github.com/acidanthera/MaciASL/releases)

- Updated iasl compiler versions
- Updated icons for Big Sur UI
- Updated bundled iasl compilers
- Compatibility with macOS 10.8 or older is not guaranteed
- Fixed crashes when processing certain ACPI files
- Fixed DSDT fetch error on Apple Silicon

---

## File: _posts/2021-01-04-acidanthera-january.md

---
layout: post
title:  "Acidanthera Updates: January 2021"
date:   2021-01-04 15:00:00 -0700
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Dortania Updates](#dortania-updates)
* [Changelogs](#changelogs)

# A message from vit9696

Happy New Year everyone! We hope that you have had and perhaps still have some calm holidays and are ready to check-in for a small but important update we prepared. We begin this year under the slogan of stability and usability improvements, and this time we have done really well to help you maintain your setup.

To begin with, [@PMheart](https://github.com/PMheart) wrote an absolutely overwhelming update to [ocvalidate utility](https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/ocvalidate). As some of you may already know, ocvalidate is an OpenCore configuration checking tool that reports issues that are clear violations of the specification, i.e. semantic mistakes in the configuration. [@PMheart](https://github.com/PMheart) added many semantical checks that allow not only finding missing fields or wrong field types, but also various inconsistencies, incorrect values, duplicate entries, and many more. Hopefully, ocvalidate will continue to ensure a cleaner configuration for everyone. Other than that, several other utilities like [dmidecode](https://github.com/acidanthera/dmidecode), [macserial, macrecovery, and LogoutHook](https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities) got their own updates with special thanks going to [@roddy20](https://github.com/roddy20) for still caring about older hardware.

It has been quite some time since we made changes to [OpenCanopy](https://github.com/acidanthera/OpenCorePkg), so this update brings small but important changes to its audio-visual experience. From now on you can utilize prefixes for the icon packs, and as a result, a new Modern icon pack was bundled as a built-in addendum thanks to [@Andrey1970AppleLife](https://github.com/Andrey1970AppleLife). We are continuing to make the artists' lives better, and hopefully, this change will make their experience even more smooth. In addition, we also brought audio assistant support to OpenCanopy and re-encoded the audio files, significantly reducing their size.

The road to Big Sur was not quite smooth for some, and this update brings a few more compatibility improvements. [NVMeFix](https://github.com/acidanthera/NVMeFix) got initial macOS 11 support, noticeably reducing laptop power consumption, and MacPro7,1 users got a new [RestrictEvents kext](https://github.com/acidanthera/RestrictEvents), resolving issues with the memory misconfiguration notifications. Last but not least, [@savvamitrofanov](https://github.com/savvamitrofanov) spent quite some time exploring the issues in [IntelMausi](https://github.com/acidanthera/IntelMausi) and he was eventually able to resolve many speed issues and Wake on Lan problems for some machines. While we still recommend the [upstream version](https://github.com/Mieze/IntelMausiEthernet) and provide no support for our variant, perhaps the changes made are useful for further development.

——Vit

# Dortania Updates

Happy new year to everyone from Dortania! As we're coming off the holidays, we wanted to take a look back at what's happened in the community over the past year.

Late March last year we had the release of macOS 10.15.4, where we got official support for Comet and Ice Lake CPUs. Overall Comet Lake's introduction was quite smooth however Ice Lake's iGPU drivers needed more work done to ensure stable operations with consumer PCs. Not too long after, [@0xFireWolf](https://github.com/0xFireWolf) and others in the community had adapted WhateverGreen into fully supporting Ice Lake's iGPUs.

Soon after in early April, we started working on a new organization to centralize Hackintosh documentation as well as allowing more users to join in and contribute. Initially, most of the guides on Dortania were hosted under my alias, khronokernel, meaning the work was heavily tied to me. But with Dortania, this new organization, we were able to bring in a much larger contributor base allowing us to expand and improve the quality of our sites. 

From there came June and Apple's WWDC event. Here we were introduced to both macOS 11, Big Sur as well as Apple's transition away from Intel towards their in-house silicon. While the public was all eyes on the death of x86 in macOS, here in the community we had much bigger fish to fry. From Apple's new kernel cache system, to the snapshot-based system volume and reworked framework caching system, there was much to be done. Before Big Sur's release, Acidanthera had almost all of the most important issues resolved.

Overall it's been quite a roller coaster, but we're still committed to supporting Hackintoshes till the end. While the popularity in building a hack will go down, we know many of you are still around to learn and to tinker. And for those enthusiasts, we're more than happy to continue writing.

And for my final words, I wanted to dedicate a bit of this in memory of my late father, Volodymyr Grymalyuk. A man passionate about his work, I inherited a lot of your drive and passion for your work, I am truly honored to be your son and hope for a safe passage in the after-life.

——Mykola Grymalyuk (Khronokernel)

# Changelogs

#### [OpenCore 0.6.5](https://github.com/acidanthera/OpenCorePkg/releases)

* Fixed installing OpenDuet on protected volumes
* Updated underlying EDK II package to edk2-stable202011
* Updated builtin firmware versions for SMBIOS and the rest
* Fixed macrecovery server protocol compatibility
* Added basic audio assistant support in OpenCanopy
* Added compiled ACPI samples to the package
* Fixed timer resolution restoration at boot time
* Fixed memory capacity when using custom SMBIOS memory config
* Removed no longer required `DeduplicateBootOrder` quirk
* Fixed macserial crashes when processing invalid serials
* Fixed macserial issues when processing 2021 year serials
* Added advanced error checking in ocvalidate utility
* Added `SetupDelay` to configure audio setup delay
* Reworked LogoutHook.command to support older macOS
* Implemented MP3 audio decoding for audio assistant support
* Added support for `PickerVariant` for more theme variants
* Added `OC_ATTR_HIDE_THEMED_ICONS` `PickerAttribute` for Time Machine

#### [RestrictEvents 1.0.0](https://github.com/acidanthera/RestrictEvents/releases)

* Initial release

#### [WhateverGreen 1.4.6](https://github.com/acidanthera/WhateverGreen/releases)

* Backlight registers fix replaces the previous Coffee Lake backlight fix and is now available on Intel Ice Lake platforms.
* Boot argument `igfxcflbklt=1` as well as device property `enable-cfl-backlight-fix` are deprecated and replaced by `-igfxblr` and `enable-backlight-registers-fix`.
* Add max pixel clock override through `-igfxmpc` boot argument or `enable-max-pixel-clock-override` and `max-pixel-clock-frequency` device properties
* Moved PNLF samples to OpenCore

#### [IntelMausi 1.0.5](https://github.com/acidanthera/IntelMausi/releases)

* Merged changes from 2.5.3d1
* Updated e1000e sources from Linux upstream branch
* Solved high-load throttling problem for I219 family
* Add support for new I219 Cannon-Point family devices
    * I219-LM13
    * I219-V13
    * I219-LM14
    * I219-V14
    * I219-LM15
    * I219-V15
    * I219-LM16
    * I219-V16
    * I219-LM17
    * I219-V17
    * I219-LM18
    * I219-V18
    * I219-LM19
    * I219-V19

#### [NVMeFix 1.0.5](https://github.com/acidanthera/NVMeFix/releases)

* Fixed quirks enabling per controller
* Fixed initialisation on 10.15+

#### [CPUFriend 1.2.3](https://github.com/acidanthera/CPUFriend/releases)

* Improved path handling in generator scripts

#### [VoodooPS2 2.2.0](https://github.com/acidanthera/VoodooPS2/releases)

* Added VoodooRmi compatibility to allow external touchpad resets

#### [AppleALC 1.5.6](https://github.com/acidanthera/AppleALC/releases)

* Improved `alc-verbs` availability checking
* Add Realtek ALC256 layout-id 67 for Dell OptiPlex 7080
* Add ALC222 layout-id 11 for HP EliteDesk 800 G6 Mini
* Add ALC256 layout-id 69 Xiaomi Pro Enhanced 2019

#### [HibernationFixup 1.3.9](https://github.com/acidanthera/HibernationFixup/releases)

* Auto hibernation: properly handle transition from dark wake to full wake
* Extend method emuVariableIsDetected in order to use EfiRuntimeServices if nvram cannot be accessed in standard way

#### [dmidecode 3.3a](https://github.com/acidanthera/dmidecode/releases)

* Update to 3c111e4f with SMBIOS 3.3 improvements

---

## File: _posts/2021-02-01-acidanthera-february.md

---
layout: post
title:  "Acidanthera Updates: February 2021"
date:   2021-02-01 15:00:00 -0700
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Dortania Updates](#dortania-updates)
* [Changelogs](#changelogs)

# A message from vit9696

It is nice to meet you with the first actually made in 2021 release. This time we have a handful changes to share with.
 
As some of you noticed this time we slightly postponed the deadline from the usual, and the primary reason behind this was to be able to include some imminent changes in OpenCore. After some long and tiring work with the PE/COFF loader [@mhaeuser](https://github.com/mhaeuser) (ex Download-Fritz) finally wrote a formal proof of its most critical properties. As we plan to later include it in EDK II and essentially in every new UEFI firmware, we now launch a second testing phase by embedding the up-to-date version in OpenCore. For the bootloader, the most important changes are the fixes for certain potential memory corruptions and enhanced APFS driver signature verification, provided as an extension to the base code. Our technically-inclined users may also find the [original paper](https://github.com/mhaeuser/ISPRASOpen-SecurePE) to be an interesting read.
 
The only more important thing to security is what the end-user interacts with, at least for some :P. This is why [@mhaeuser](https://github.com/mhaeuser) continued his OpenCanopy project introducing item scrolling with a large amount of boot options, background image support, which can also be used as a logo through transparency and background colour, and relaxed image dimensions, which of course are well-documented in the PDF spec following our usual standards. Marginal usability improvements also cover [@PMheart's](https://github.com/PMheart) additions to ocvalidate, which many found really helpful, and [@Goldfish64's](https://github.com/Goldfish64) audio configuration additions to SysReport. Besides that, we got two new drivers: OpenHfsPlus and OpenPartitionDxe. OpenHfsPlus is a tireless effort by [@shchuko](https://github.com/shchuko), who continued [@gsomlo's](https://github.com/gsomlo) and [@nms42's](https://github.com/nms42) work by finishing a poison-free non-GPL HFS+ driver. While it is still inferior to Apple's driver, its speed is clearly better than VBoxHfs, which is now deprecated. OpenPartitionDxe on the other hand improves compatibility with legacy macOS recoveries.
 
Sometimes the changes are not dictated by the necessity to improve things on our end or even our bugs, but rather flaws in the design & code of the other parties. This release includes three changes that happened due to exactly this kind of issues. One of them is the result of Apple’s APFS design, which does not track trimmed areas, resulting in essentially broken trim support for a vast amount of third-party SSDs. The discovery and an ugly workaround are described in the [SetApfsTrimTimeout section](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Configuration.pdf) thanks to [@lvs1974's](https://github.com/lvs1974) efforts. The second issue is a design flaw of the older SMBIOS specifications, which caused confusion of how UUIDs can be read and written. While no changes are needed for the existing users, some new users might benefit from the improvements in dmidecode and the new [SetApfsTrimTimeout option](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Configuration.pdf). Last but not least was a discovery that some firmwares disable support for UEFI driver loading, even with UEFI Secure Boot disabled. This obviously violates the UEFI specification, but [Microsoft](https://github.com/badstorm/surface-pro-7-opencore/issues/9) thinks differently, breaking the entire loading of OpenCore. If any Microsoft Surface firmware developers are reading this, it will help if you provide a comment on the matter, since even the provided workaround by transitioning to the app only uncovered further issues.
 
Besides OpenCore, our kexts also got notable updates. AppleALC got legacy Mac support, thanks to [@khronokernel](https://github.com/khronokernel), SMCDellSensors got fan control improvements, thanks to [@lvs1974](https://github.com/lvs1974), and on the Lilu side, we added a few helper APIs that show how one can perform basic userspace patches in Big Sur. This was used in WhateverGreen to improve MacPro5,1 compatibility. This makes it all for today; we are all very glad to hear your support.
 
——Vit

# Dortania Updates

A new year and a whole lot of changes from us and Acidanthera! As Vit mentioned earlier, BootProtect has now been reworked into LaucherOption and we've updates the Post Install Guide accordingly. This also includes a new section just for those updating, in cases where people may be a bit overwhelmed with the Configuration.pdf:

* [Updating Bootstrap in 0.6.6](https://dortania.github.io/OpenCore-Post-Install/multiboot/bootstrap.html#updating-bootstrap-in-0-6-6)

Besides the main user facing changes with Dortania, I've taken a bit of time to experiment with Apple's latest silicon. Specifically emulating older versions of Mac OS X and macOS on an M1 MacBook Pro and even on iOS devices. You can read a bit more about my experiment here(even ended up with a geekbench single core of [68!](https://browser.geekbench.com/v5/cpu/6070899)):

* [Virtualizing OpenCore and x86 macOS on Apple Silicon (and even iOS!)](https://khronokernel.github.io/apple/silicon/2021/01/17/QEMU-AS.html)

——Khronokernel

# Changelogs

#### [OpenCore 0.6.6](https://github.com/acidanthera/OpenCorePkg/releases)

- Added keyboard and pointer entry scroll support in OpenCanopy
- Added background image support in OpenCanopy
- Fixed selector boot option choice in OpenCanopy
- Relaxed selector dimensions for OpenCanopy
- Added `MaxBIOSVersion` option to `Generic`
- Fixed MLB verification feature in macrecovery
- Replaced `VBoxHfs` driver with `OpenHfsPlus`
- Added audio codec dumping to `SysReport`
- Fixed compatibility with page protection for all binaries
- Fixed crashes in OpenUsbKbDxe when handling unsupported devices
- Removed `HdaCodecDump` application in favor of `SysReport`
- Added `SetApfsTrimTimeout` to tune APFS trim command
- Changed `OpenCore.efi` to application to improve FW compatibility
- Added `DisableSecurityPolicy` UEFI quirk to workaround driver loading
- Added support for ranged widget connections in AudioDxe
- Fixed supplying non-RT `SetVirtualAddressMap` for non-macOS systems
- Fixed using `SystemUuid` from `DataHub` in non-Automatic mode for `SMBIOS`
- Dropped failsafe defaults from `Generic` to match non-Automatic mode
- Replaced `BootProtect` with `LauncherOption` and `LauncherPath`
- Added `OpenPartitionDxe` with Apple Partition Management scheme
- Improved ocvalidate checks in `Misc`, `NVRAM`, and `UEFI` sections
- Fixed multiple flaws in EFI image loading, APFS driver in particular
- Fixed NVRAM `system-id` being accidentally stored in Little Endian format
- Added `UseRawUuidEncoding` to choose SMBIOS UUID encoding style
- Updated builtin firmware versions for SMBIOS and the rest

#### [Lilu 1.5.1](https://github.com/acidanthera/Lilu/releases)

- Added `lilu_os_memmem` and `lilu_os_memchr` APIs
- Added `getSharedCachePath` API to obtain current cache path
- Added `LIKELY`/`UNLIKELY` macros

#### [WhateverGreen 1.4.7](https://github.com/acidanthera/WhateverGreen/releases)

- Implemented `unfairgva` device property (use `<01 00 00 00>` value for MP5,1 to enable streaming DRM)

#### [VirtualSMC 1.2.0](https://github.com/acidanthera/VirtualSMC/releases)

- Improve manual fan control in SMCDellSensors (switch off manual control before going to sleep), rename control boot-args (start with -dell)

#### [VoodooPS2 2.2.1](https://github.com/acidanthera/VoodooPS2/releases)

- Fix issue with registering of services matched by property name "RM,deliverNotifications". It solves issue with broadcasting timestamp for the last pressed key and handling of QuietTimeAfterTyping [see bug #1415](https://github.com/acidanthera/bugtracker/issues/1415) 

#### [VoodooInput 1.1.0](https://github.com/acidanthera/VoodooInput/releases)

- Eliminate leftover scaling of physical dimensions by x10

#### [AppleALC 1.5.7](https://github.com/acidanthera/AppleALC/releases)

- Add support for legacy Macs
- Added ALC289 layout-id 99 for Dell XPS 13 9300 by DalianSky
- Added ALC225 layout-id 90 for Dell Inspiron 5379 by fast900
- Added ALC274 layout-id 28 working speakers/mic Maingear Element 3 (TongFang 17 Barebone) by 343iChurch
- Added ALC256 layout-id 77 for Asus x430_s4300FN by fangf2018
- Added ALC256 layout-id 88 for Asus x430_s4300FN by fangf2018
- Fix Mic for ALC221 layout-id 88 HP ProDesk 400 G2 Desktop Mini PC
- Added ALC897 layout-id 66 for ASUS_PRIME_B460M-K by Dynamix1997

#### [BrcmPatchRAM 2.5.6](https://github.com/acidanthera/BrcmPatchRAM/releases)

- Added inject Laird BT851 Bluetooth 5.0 USB dongle
- Added legacy Bluetooth injection kext

#### [dmidecode 3.3b](https://github.com/acidanthera/dmidecode/releases)

- Update to a4b31b2b

---

## File: _posts/2021-03-01-acidanthera-march.md

---
layout: post
title:  "Acidanthera Updates: March 2021"
date:   2021-03-01 15:00:00 -0700
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Dortania Updates](#dortania-updates)
* [Changelogs](#changelogs)

# A message from vit9696

Hello everyone,

Today we are making a logical step forward in improving the compatibility of less popular configurations throughout the stack:

* As our Mac user quantity expands we continue to provide special options dedicated for them in particular. Thanks to [@PMheart](https://github.com/PMheart) and [@Bmju](https://github.com/Bmju) we got things like `GopPassThrough` option, OEM serial handling, the ability to reuse firmware features, and other SMBIOS values. Certain Macs that started to have trouble booting on with 0.6.7 should now also work fine.
* Another hardware range we needed better support for is brand new hardware. After over a month of remote debugging, we were able to identify the problem with memory mapping on Microsoft Surface and several other laptops and successfully fix it.
* For the legacy hardware we resolved multiple issues related to displayed and actual CPU frequency rounding, particularly for the CPUs with a fractional multiplier. [@nms42](https://github.com/nms42) also provided patches to avoid NVIDIA kernel log spam in Big Sur. As a bonus OpenCore can now activate HPET support on legacy Intel machines.

Besides that, we published new utilities like `acdtinfo` and `ocpasswordgen` to help to analyze kext installations and set OpenCore password correspondingly. In addition to that [@mhaeuser](https://github.com/mhaeuser) fixed a long-standing bug with version reporting through NVRAM which may have resulted in extra flash wear. VoodooPS2 received NumLock key support thx to [@chilledHamza](https://github.com/chilledHamza) and VoodooInput got overall code simplification thx to [@zhen-zen](https://github.com/zhen-zen).

While this is clearly not all and certain features were left behind for better testing, we hope that a considerable portion of the userbase will find their long-standing bugs fixed as a consequence.

——Vit

# Dortania Updates

A new month for us with many of changes and improvements over at Acidanthera. With Dortania, we've added a fair number of improvements to our guides including documentation on OpenCore's password system as well as `ocvalidate` info thanks to [@dreamwhite](https://github.com/dreamwhite)!

Looking over to future changes in Dortania, we'd like to notify users of a potentially [large scale issue of `XhciPortLimit` in macOS 11.3 Beta 2(20E5186d) and newer](https://github.com/acidanthera/bugtracker/issues/1514). The specific issue regards users who have this quirk enabled and have not mapped their USB ports, as macOS 11.3 will now boot-loop for many users on installs, updates as well as regular OS boots. We've already prepped a [PR](https://github.com/dortania/OpenCore-Install-Guide/pull/238/files) to help warn users as well as provide work-arounds to this situation like hosting recovery images.

* Note: Users who have `XhciPortLimit` disabled need not worry, however please ensure you've [mapped your USB ports](https://dortania.github.io/OpenCore-Post-Install/usb/) before updating

Currently we expect 11.3 to be released to the public sometime this week or the coming weeks, so when these changes hit the public we will be merging the changes. Additionally, whenever there are new reports of `XhciPortLimit` being fixed, we will be updating the guide to ensure users know. For users who'd like to aid in the patches, you can find the binaries of [11.3 Beta 1 and Beta 2 kexts ](https://github.com/acidanthera/bugtracker/issues/1514) as well as the source for [XhciPortLimit Patches](https://github.com/acidanthera/OpenCorePkg/blob/cbd2fa3ad306c123f2acaed5d2277bacfd48917b/Library/OcAppleKernelLib/CommonPatches.c#L527-L740).

**UPDATE**: With macOS 11.3 Beta 3(20E5196f), `XhciPortLimit` is now working correctly. You can easily install and update macOS with this quirk enabled.

——Khronokernel

# Changelogs

#### [OpenCore 0.6.7](https://github.com/acidanthera/OpenCorePkg/releases)

- Fixed ocvalidate return code to be non-zero when issues are found
- Added `OEM` values to `PlatformInfo` in `Automatic` mode
- Improved CPU frequency calculation on Haswell and earlier
- Fixed issues when applying certain patches
- Added `SSN` (and `HW_SSN`) variable support
- Added onscreen early logging in DEBUG builds for legacy firmware
- Added workaround for firmware not specifying DeviceHandle at bootstrap
- Added support for R/O page tables in `SetupVirtualMap` quirk
- Added OEM preservation for certain Apple SMBIOS tables
- Fixed switching to graphics mode when entering OpenCanopy
- Fixed installing Apple FB Info protocol when no GOP exists
- Fixed abort timeout sound in OpenCanopy on key press
- Added `GopPassThrough` option to support GOP protocol over UGA
- Fixed CPU speed rounding for certain Xeon and Core 2 CPUs
- Removed `KeyMergeThreshold` as it never functioned anyway
- Added `acdtinfo` utility to lookup certain products
- Fixed `FSBFrequency` calculation with fractional multiplier
- Fixed showing core count for some AMD CPUs
- Added `ResetTrafficClass` to reset TCSEL to T0 on legacy HDA
- Fixed default boot entry selection without timeout for builtin picker
- Added ocpasswordgen utility to generate OpenCore password data
- Added `ActivateHpetSupport` quirk to activate HPET support
- Fixed `opencore-version` reporting the incorrect version in rare cases

#### [WhateverGreen 1.4.7](https://github.com/acidanthera/WhateverGreen/releases)

- Fixed debug messages from cursor manipulation with NVIDIA GPUs on macOS 11

#### [VirtualSMC 1.2.1](https://github.com/acidanthera/VirtualSMC/releases)

- Fix version publishing for VirtualSMC and plugins

#### [VoodooPS2 2.2.2](https://github.com/acidanthera/VoodooPS2/releases)

- Added NumLockSupport & NumLockOnAtBoot

#### [VoodooInput 1.1.1](https://github.com/acidanthera/VoodooInput/releases)

- Remove angle calculation

#### [AppleALC 1.5.8](https://github.com/acidanthera/AppleALC/releases)

- Improved resource packaging by stripping optional tags

#### [BrcmPatchRAM 2.5.7](https://github.com/acidanthera/BrcmPatchRAM/releases)

- Added BCM94360Z4 identifiers for injection

---

## File: _posts/2021-04-05-acidanthera-april.md

---
layout: post
title:  "Acidanthera Updates: April 2021"
date:   2021-04-05 14:45:00 -0400
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Dortania Updates](#dortania-updates)
* [Changelogs](#changelogs)

# A message from vit9696

On a charming evening in the beginning of April it may be interesting to discuss how our work is accepted by a wider audience. For us, the engineers, the primary focus will unavoidably be the people we know, and quite often these people work in similar spheres. However, as history says, it is still important not to lose contact with the normal humans. Sane normal humans may well be obsessed by technology but they think in more rational categories. What I imply is when an overwhelming change happens under the hood with the core parts being rewritten from scratch, making things far better: more compatible, faster, filled with practical though not so common features, the usual reaction is "it’s great to see things improving steadily bit by bit". A completely different picture is seen when a user-visible change happens. Be it just a single icon on the page, the reaction will be a furore of "what a huge difference it makes".

This is funny but realistic. And since all of us love having fun and value good looking things, we did exactly that. You asked and we delivered. With this release OpenCanopy was rewritten along with the builtin picker and in fact it redefined how all the user input is handled. @Andrey1970AppleLife, @mhaeuser, and @MikeBeaton did a great job on this, planning, designing, writing code, testing, and repeating from scratch, over and over again, and I can guess some of the artists will definitely call this the year of the OpenCanopy desktop :P. It got a whole lot better: gained the ability to shutdown or reboot and started to feature fancy animations like boot entry label scrolling. It even received a fully graphical password input UI to protect advanced setups from tampering, revived the ability to show disk image suffixes with full voice assistance, acquired a visual indication for various keyboard actions like tabbing or holding control to set the default boot entry, what not. Of course all of this comes with 4K support and more than acceptable FPS even on low-end setups.

Another big news is that the new Intel Desktop CPU generation landed. This state of the art all in one solution provides incredible flexibility and finally replaces the well established toolset of an iron, a solderer, and a blowtorch. With an average user it will reduce the cryptography computation times by more than a light-year and will guarantee immediate response tolerance. Besides that, it can seriously be used as a central processor unit, and it still manages to run macOS without a hitch against its will as long as you forget about the graphics. With @vandroiy2013 we spent a few productive evenings conducting all kinds of tests and provided all the basic updates to the bootloader and kexts to ensure immediate compatibility. The early writeup is already [published](https://applelife.ru/posts/933615) and at this time we are expanding our knowledge and providing all the information to the folks at Dortania to write more helpful documentation.

And this is not all. Every week we hang a conscript for the crowd to see and ponder about someone who did not read the ACPI specification and destroyed a Windows installation. Implementing OS-specific ACPI patching would have been a great idea as an April Fools joke, but it is not happening since we don’t have a good sense of humour. But instead we are giving out something better: a way to lookup a device, a method, or a field and apply patches relative to it. Just like you normally do for your kernel and kext patches. This piece of work, initially prototyped by @koralexa and @Ubsefor, is quite mighty, and though still in beta, may ease building of a bunch of existing and new laptop setups. As usual it provides a standalone utility named ACPIe for debugging purposes.

While these are the grand features, there surely are more to add to the list. One day a user came to our bugtracker and asked to monitor a NUC. We did not quite get the idea at first, you just launch them, but after we reread it for a second time we realised that it was just a mere precedent of no hardware documentation available to accomplish this. This lasted for a while until somebody provided us with what we needed… only to realise that the hardware does not support reading fans or temperatures at all via any standardised interface. And the datasheet has no information on the non-standard one, period. We felt a little disappointed and accidentally added a new class of SuperIO sensors to SMCSuperIO (a VirtualSMC plugin): EC sensors. These sensors are unfortunately hardware specific and documented roughly nowhere. As a result it is not only very hard to add them but it needs to be done for every piece of hardware. Even so, along with @joedmru and @osy after a heavy reverse-engineering session, we prototyped a solution for Intel NUCs and today we have small hopes that various engineers will follow our experience and submit patches for their own hardware into our codebase. Not necessarily just for the EC sensors.

Besides that, there are many minor changes. HibernationFixup and SMCDellSensors became more configurable thanks to [@lvs1974](https://github.com/lvs1974). [@Goldfish64](https://github.com/Goldfish64) fixed various server board issues including dual-processor SMBIOS support and various ACPI bugfixes. We polished the UI for MaciASL and updated iasl compilers to more recent versions with @Moorre. We updated AppleALC and WhateverGreen to include RocketLake features like per-GPU disabling and several controller patches. There are several changes for legacy Macs that resolve CPU frequency calculation and integrate better with their ecosystem, and for all the rest you will have to look over the changelogs, which have about right size this day.

———Vit

# Dortania Updates

It's been a relatively slow month for us here at Dortania. It's been fairly quiet on the guide front, so we've been working on our [OpenCore Legacy Patcher](https://github.com/dortania/OpenCore-Legacy-Patcher/) for unsupported Macs, quashing quite a few bugs, such as fixing a black screen issue on MacBookPro9,1 , preventing the SMC updater from running, and fixing a MacPro5,1 graphics issue. We've also been working on adding new features, including configurable SMBIOS spoofing, debug builds, and codesigning and notarization.

Our biggest update this month is that we've been making great progress on adding GPU acceleration support for older machines to our patcher. Thanks to the invaluable work of [@ASentientBot](https://asentientbot.github.io/), we've been able to get acceleration on quite a bunch of machines, including machines with unsupported NVIDIA, AMD, and Intel graphics. However, there's still a lot of work to do as there are quite a few issues, and we're hard at work fixing them. You can track our progress here:

* [Legacy GPU status tracker](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)

Although we're not looking for testers at this time, we do appreciate any ways you can contribute, including [contributing patches or code improvements](https://github.com/dortania/OpenCore-Legacy-Patcher/pulls), [reporting issues](https://github.com/dortania/OpenCore-Legacy-Patcher/issues), or [supporting us with hardware donations](https://dortania.github.io/OpenCore-Legacy-Patcher/DONATE.html).

———dhinakg

# Changelogs

#### [OpenCore 0.6.8](https://github.com/acidanthera/OpenCorePkg/releases)
- Switched to VS2019 toolchain for Windows builds
- Reduced legacy boot install interaction effort
- Increased OpenCanopy rendering performance
- Added OpenCanopy Shut Down and Restart buttons
- Reduced OpenCanopy mouse pointer input lag
- Fixed that cursor bounds could be different from OpenCanopy's
- Improved builtin picker rendering performance
- Added Memory Type decoding for SMBIOS in `Automatic` mode
- Properly support setting custom entries as default boot options
- Fixed creating log file when root file system is not writable
- Fixed `DisableSingleUser` not being enabled in certain cases
- Added `ForceBooterSignature` quirk for Mac EFI firmware
- Fixed OpenCanopy sometimes cutting off shown boot entries
- Further improved CPU frequency calculation on legacy CPUs
- Fixed SMBIOS SMC version encoding sequence
- Added TSC frequency reading from Apple Platform Info
- Added TSC frequency reading for Apple devices with nForce chipsets
- Added `Base` and `BaseSkip` lookup for ACPI patches
- Fixed ACPI table magic corruption during patching
- Fixed unnatural OpenCanopy and FileVault 2 cursor movement
- Fixed OpenCanopy interrupt handling causing missed events and lag
- Improved OpenCanopy double-click detection 
- Reduced OpenCanopy touch input lag and improved usability
- Improved keypress responsiveness in OpenCanopy and builtin pickers
- Improved non-repeating key detection in OpenCanopy and builtin pickers
- Fixed Escape preventing OpenCanopy fade up until released, on some systems
- Fixed fast repeat then stall issue with key handling on some PS/2 systems
- Added accurate Shift+Enter/Shift+Index detection when using PollAppleHotKeys
- Added 'set default' indicator to builtin picker
- Replaced VerifyMsrE2 with ControlMsrE2 also allowing unlock on some firmwares
- Fixed OpenCanopy flicker when refreshing the entry view
- Added OpenCanopy TAB navigation support
- Added OpenCanopy graphical password interface
- Added OpenCanopy pulsing animation to signal timeout
- Added OpenCanopy 'set default' indicator
- Fixed OpenCanopy not aborting timeout on pointer click
- Fixed OpenCanopy intro animation not scaling with UIScale
- Add OpenCanopy boot entry label scrolling (fixes missing long labels)
- Added tabbable Shutdown and Restart buttons to builtin picker
- Fixed in-firmware shutdown for some systems running OpenDuet
- Added Zero as alias hotkey for Escape, to force show picker if hidden
- Added =/+ key as alias for CTRL to set default OS
- Added additional support for configuring correct key repeat behaviour with KeySupport mode
- Fixed CPU multiplier detection on pre-Nehalem Intel CPUs
- Fixed incorrect handling of multiple processors and processor cache in SMBIOS
- Matched default Apple boot picker cursor start position
- Updated OpenShell `devices` command to support misaligned device names returned by some Apple firmware
- Added `(dmg)` suffix to DMG boot options in OpenCanopy
- Added identifiers for Rocket Lake and Tiger Lake CPUs
- Added PickerAudioAssist 'disk image' indication
- Fixed PickerAudioAssist indications played twice in rare cases
- Improved OpenCanopy pointer acceleration
- Added more precise control on `AppleEvent` protocol properties and features
- Added dynamic keyboard protocol installation on CrScreenshotDxe
- Support starting UEFI tools with argument support (e.g. `ControlMsrE2`) without arguments from picker
- Fixed OpenCanopy font height calculation, may reject previously working fonts and mitigate memory corruption
- Fixed incorrect identification of Xeon E5XXX/E5-XXXX and Xeon WXXXX/W-XXXX CPUs
- Added RSDP, RSDT, and XSDT handling to `NormalizeHeaders` ACPI quirk

#### [NVMeFix 1.0.6](https://github.com/acidanthera/NVMeFix/releases)
- Added APST workaround for Kingston A2000

#### [AppleALC 1.5.9](https://github.com/acidanthera/AppleALC/releases)
- Added CS4206 layout-id 24 and 60
- Added 500 Series (0xF0C8 Z590 + Intel 10 Gen) PCH HD Audio Controller
- Added 500 Series (0x43C8 Z590 + Intel 11 Gen) PCH HD Audio Controller
- Added ALC289 layout-id 87 for Alienware m15 by GitNaufal
- Added ALC289 layout-id 15 for Dell 7730 Precision CM240 by MacPeet
- Added ALC897 layout-id 69 for MSI-Z490-A Pro by mathcampbell
- Added IDT 92HD95 layout-id 14 for LenovoG710 by Svilen88
- Added ALC235 layout-id 18 for asrock 310 bb by viorel78
- Added controller patch for 100 Series (8086:A170) by dhinakg

#### [Lilu 1.5.2](https://github.com/acidanthera/Lilu/releases)
- Fixed AZAL recognition as GPU audio on certain AMD platforms (thx to wkpark)
- Added external GPU disabling API with device and kernel selection via properties
- Added identifiers for Rocket Lake and Tiger Lake CPUs
- Added API to disable builtin GPU (IGPU)
- Reduced hardware presence bruteforce to a more sensible value

#### [HibernationFixup 1.4.0](https://github.com/acidanthera/HibernationFixup/releases)
- Auto hibernation: added possibility to disable power event kStimulusDarkWakeActivityTickle in kernel, so this event cannot be a trigger for switching from dark wake to full wake.
Can be turned on via bit `DisableStimulusDarkWakeActivityTickle=128` in boot-arg `hbfx-ahbm`.
- Support options in NVRAM (GUID = E09B9297-7928-4440-9AAB-D1F8536FBF0A or LiluReadOnlyGuid)

#### [WhateverGreen 1.4.9](https://github.com/acidanthera/WhateverGreen/releases)
- Added per-GPU disabling API: inject `disable-gpu` to disable
- Added per-GPU disabling kernel version specification: inject `disable-gpu-min` / `disable-gpu-max` to select kernel version to disable (inclusive range)
- Added IGPU disabling API: inject `disable-gpu` to disable or use `-wegnoigpu` boot argument
- Optimised Rocket Lake startup as IGPU is unsupported

#### [BrcmPatchRAM 2.5.8](https://github.com/acidanthera/BrcmPatchRAM/releases)
- Added BCM94360Z3 identifiers for injection

#### [VoodooInput 1.1.2](https://github.com/acidanthera/VoodooInput/releases)
- Improved touch state abstraction

#### [MaciASL 1.6.0](https://github.com/acidanthera/MaciASL/releases)
- Updated iasl compiler versions
- Fixed exceptions generated when performing certain tasks

#### [VirtualSMC 1.2.2](https://github.com/acidanthera/VirtualSMC/releases)
- Improve manual fan control in SMCDellSensors (SMM access is enabled even if audio is played)
- Fixed sensor DEBUG logging with `-liludbgall` argument
- Improved startup performance when probing SuperIO chips by splitting vendors
- Added SuperIO device activation when it is disabled on probe
- Added support for Nuvoton NCT6796D-E (0xD42A)
- Added support for ITE IT8987 (requires DEBUG firmware, not available for public)
- Added Intel NUC monitoring (requires manual configuration via `ec-device`, see `EmbeddedControllers.md`)

---

## File: _posts/2021-04-24-rocket-lake.md

---
layout: post
title:  "Intel Z590 compatibility with macOS"
date:   2021-04-24 14:45:00 -0400
categories: Hackintosh updates
---
As I mentioned earlier in the monthly release notes blogpost, over the last weeks we did a great job with @vandroiy2013 in testing Intel Z590 with Comet Lake (10th generation) and Rocket Lake (11th generation) CPUs. While our experience was generally positive it was still full of unexpected caveats and nuances, so below we tried to write a summary, while our colleagues from Dortania integrate the discovered knowledge into more complete guides. All the discoveries are logically structured into sections depending on the hardware or software part. Most things do not differ from Z490, so we skipped this stuff.

_Please keep in mind that up to the moment we tested only two ASUS motherboards and although the described issues should normally apply to the other vendors, we can neither guarantee that we spotted them all, nor say that we performed all the tests even at the boards we had at hand._

#### BIOS

The overall BIOS impression is really messy. The firmware are actively worked on, and while this continues you can expect all kind of glitches and performance loss. While the firmware has not bricked for us yet, we had numerous black screens, especially when doing performance tuning and overclocking. The good news is that firmware updates gradually provided better stability and noticeably improved performance, so we strongly advise to keep the BIOS up-to-date for the next months at the very least.

* Apple RTC checksum writes still cause firmware configuration corruption, and as a result `DisableRtcChecksum` is still needed. So far we have not observed issues on the EfiBoot level, but using `rtc-blacklist` to exclude the Apple checksum area in UEFI as well will not hurt. Just for a reminder, `AWAC` still cannot be turned off, and thus enabling `RTC` still needs an SSDT.
* GOP performance is terrible in some BIOS versions. For unknown reasons both IGPU and dGPU (multiple Polaris and Navi cards) have vey slow rendering in UEFI and XNU kernel 1st stage regardless of the CPU generation. This was mostly addressed by the firmware updates, but in our opinion verbose boot is still visually a bit slower than older boards. Fortunately it does not affect booted macOS performance anyhow.
* XMP is completely broken in early BIOS versions. In most cases the motherboard will simply not boot without a CMOS reset. BIOS updates got that fixed, yet manual overclocking does not seem to be working as stable as in Z490.
* Sometimes the firmware randomly switches the GPU slot to PCIe x8 or x1 with no software solution but with a simple replug resolving the problem. We failed to find a logical explanation, yet always checking the lane count is by all means reasonable anyway.
* PCIe 4.0 ports work just fine and deliver PCIe 4.0 speeds with newer SSDs and GPUs. However, dynamically resizable BARs are unsupported by macOS and should always be disabled.

#### CPU tuning

CPU-related things to keep in mind when booting with Z590:

* RKL requires CML `CPUID` virtualization for booting.
* Both CML and RKL CPUs are XCPM-compatible. However, stock XCPM frequency vectors will generally halve the performance, and need to be replaced with [custom ones](https://github.com/dortania/bugtracker/issues/190) through CPUFriend.
* On RKL CPUs Intel Power Gadget shows slightly incorrect frequencies and also randomly crashes macOS on S3 wake, making its installation strongly undesired.
* On ASUS boards a fairly standard Nuvoton SuperIO is installed and is thus fully supported by SMCSuperIO (e.g. fans, voltages). Each board requires a profile to interpret the values of course.

While not strictly related to macOS, very few people would use the configurations at Intel stock values, so here are some extras:

* RKL CPUs are very very hot and power-consuming. In case overclocking is done, testing normal multicore load with e.g. Cinebench and `AVX-512` with e.g. OCCT for at least half an hour each in WIndows is an absolute must. Note, that AIDA64 incorrectly reports throttling when `AVX-512` frequency lowering is in effect as of now.
* For us ASUS automatic overclocking resulted in terribly high CPU voltage (+1.5V), and we had to use negative offsetting to get adequate temperatures. The good news is that after a reasonable amount of experiments with the BIOS 4.9 GHz on all cores under `AVX-512`  should be doable by roughly any liquid cooling, even 240mm.
* Benchmark values between macOS and Windows are roughly the same as long as CPU power management functions correctly and customised frequency vectors are installed.

#### Graphics support

Since there is no sane reason to use an IGPU-inclusive Mac model with not working IGPU, CPUFriend is generally required. IM201 vectors generally fit as they provide up to 4 GHz stepping. IPG detects the CPUs and shows their temperatures and load as well.

* CML IGPU works fine without connectors as a video decoding accelerator for Polaris. Using CML IGPU exclusively will require manual connector patching. We did not test that thoroughly as IGPU-only configurations are prone to errors.
* RKL IGPU is unsupported and will likely never be. Booting with RKL IGPU enabled with or without connectors results in boot failure (black screen). Can be disabled by WEG in macOS exclusively through injecting `disable-gpu` into an `IGPU` device. This can let other systems use IGPU acceleration to off-load tasks.
* DRM support (both streaming and purchased media) will not work with any IGPU, but will work fine with IMP11 or MP71 Mac models and a dGPU (e.g. Polaris, Navi).

#### Audio support

There are two board types in regards to sound support:
1. Standard Realtek HDA based boards (commonly ALC889 and ALC1220).
2. Realtek USB audio based boards (commonly ALC4080 and ALC4082).

For the first type the solution is to use AppleALC to patch AppleHDA as usual. Surprisingly, depending on the CPU different audio controller ID is provided: 0xF0C8 for CML and 0x43C8 RKL. We have no idea why that happens since HDA controller is a part of the chipset, but hopefully these two identifiers are all we will face. Both are present in the latest AppleALC release. We tested speakers, phones, and a microphone on ALC889 and observed no issues.

For the second type no patching is required, but AppleALC is still necessary for digital audio support (HDMI, DP). Automatic device switching and S/PDIF works without issues as well. By default USB audio will cause macOS to immediately wake after sleep. The fix is explained in the USB section below.

#### USB support

The amount of USB ports does not fit the 26 port limit (2.0 + 3.x) just as usual. Without the plist-only kext describing every USB port in most cases even the basic macOS Installer will be uncontrollable through the mouse and keyboard regardless of the port limit quirks. To workaround it creating a plist-only kext with just the first 26 USB 2.0 and USB 3.x devices is highly recommended. Such an action should be enough to get the mouse, the keyboard, and the USB media work in at least some ports to perform the installation and configure all the devices properly.

To workaround this immediate S3 wake issue caused the audio controller the USB port it is connected to (commonly `HS02` on ASUS, yet can easily be found in the I/O Registry) needs to be given an internal type via the USB port plist kext (`UsbConnector` → `255`). Afterwards the board should sleep just fine. To resolve the issue with USB wake not lighting the screen [USBWakeFixup](https://github.com/osy/USBWakeFixup) is still needed.

We are yet to test the current levels produced by the ports, but charging the devices works fine at the very least. So far no disconnections across the S3 sleep-wake cycles were spotted. Broadcom Bluetooth from BCM94360CS2 connected to the NGFF slot can be controlled from BIOS and works natively. This actually is an improvement as on Z390 and Z490 boards with the Broadcom combo modules we only had Wi-Fi working from the NGFF slot and not the Bluetooth.

#### Networking

Most boards come with either 1 Gbps or 2.5 Gbps Intel LAN. The former works with IntelMausi and the latter works out of the box with AppleIntelI210Ethernet but requires a `device-id` injection of `<F2150000>` and a kext patch. This is all the same as with the CML boards. Additionally, with macOS 11.4 Beta 1, Apple has opened up AppleIntelI210Ethernet to supporting a larger array of devices including the i225-V NIC found on most higher end boards. This requires no `device-id` injection or kext patch. For 11.3 and older, see below kernel patch:

```
Base:       __Z18e1000_set_mac_typeP8e1000_hw
Find:       F2150000
Replace:    F3150000
Identifier: com.apple.driver.AppleIntelI210Ethernet
```

The preinstalled Wi-Fi cards (Intel AX210) are generally not (yet) compatible with OpenIntelWireless and need to be replaced. The amount of space behind the cover does not let using an Apple original module in the NGFF slot with higher-end boards, but one should be able to fit the BCM94360NG or some others. The use of non-original modules is a trial and error as usual, unfortunately.

#### Power cycle

* ACPI S3 (sleep) works just fine, but requires some effort with the USB stack as described above. This is especially true when USB audio is used. Interestingly Polaris wake up issues in combination with LG 4K HDR screens common on older boards are back. With Z590 it may be required to power the screen before wake. Otherwise replug or programmatic input switch may be needed to avoid black screen after wake.
* ACPI S4 (hibernation) is a no go. For us the firmware simply did not POST after waking from S4. We observed black screen and OpenCore was not reached up until two hard reboots with a normal boot to follow.
* Authenticated restart and seamless update installation work fine with (and without) File Vault 2 full disk encryption. RTC patches are needed, at least for ASUS.

#### Conclusion

Our overall impression with Z590 is mixed, but so far we have not found any issues that we could not resolve or at least workaround, maybe except the RKL IGPU drivers. We are yet to test special things, like Intel Thunderbolt controller, but despite no firmware patches as of yet, there exist reports with storage devices working without too much hassle almost out of the box. All our products were updated to provide basic support and the whole standard operating system range (macOS, Windows, and Linux) work fine.

———Vit

---

## File: _posts/2021-05-03-acidanthera-may.md

---
layout: post
title:  "Acidanthera Updates: May 2021"
date:   2021-05-03 14:45:00 -0400
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Dortania Updates](#dortania-updates)
* [Changelogs](#changelogs)

# A message from vit9696

This nice May evening brings us to another point in the Acidanthera chronology. To our surprise, it is not as minor as we initially expected. We were able to deliver not just the bug fixes but also features and more importantly we built certain design concepts that will help us go over the next steps.

Our primary objective was to continue investigating the new Z590 platform, and our belief at the time is that we succeeded in going over all the major nuances. Till the Dortania guides are updated you can use a separate [blog post](https://dortania.github.io/hackintosh/updates/2021/04/24/rocket-lake.html) covering all the caveats and our findings to work around them. In addition to Z590, we summarized our knowledge regarding NVMe SSD compatibility and provided a [list](https://github.com/dortania/bugtracker/issues/192) compiled by [@Andrey1970AppleLife](https://github.com/Andrey1970AppleLife) to help with the choice. We are very grateful to all the volunteers who provided the data, thank you! Eventually, the list will find its way to the Dortania guides, one way or the other.

After the previous OpenCore release brought numerous changes to the OpenCanopy interface, we discovered minor discrepancies in the implementation and addressed them accordingly. The mouse cursor should now move properly over the whole screen area, new power management buttons became optional, arrow keys will wrap around the boot entry list, and the version string can now be shown in the bottom right corner similar to the textual user interface. All thanks to [@MikeBeaton](https://github.com/MikeBeaton) and [@mhaeuser](https://github.com/mhaeuser).

When we introduced Apple Secure Boot last year we mentioned that while it is quite fast, the signature verification process can still be further optimized on newer platforms. Thanks to [@MikhailKrichanov](https://github.com/MikhailKrichanov) this actually happened and we were able to win up to a second during the boot time on Intel 3rd generation CPUs and newer with the `EnableVectorAcceleration` quirk enabled. This setting should be harmless even on unsupported CPUs, so we recommend keeping it enabled in case further acceleration features are added to the bootloader. The other OpenCore changes of this time are: NVIDIA graphics output support for legacy Mac Pro computers, utility binaries for Linux, updated EDK II codebase, and recent Mac EFI firmware versions.

On the kext side, we fixed IntelMausi loading on macOS 10.11, Lilu kernel patcher functioning on macOS 10.7, and NVMeFix support on macOS 11.3. Since more and more users will now opt with the `MacPro7,1` model, we provided a full explanation on why the memory misconfigured warning happens in the [reference manual](https://github.com/acidanthera/OpenCorePkg/commit/5db7147293e952fbdd9c3168631b0f75a9c09b81#diff-ff76194142498a223908566484df3ed947764eace1ae6104347516807422c9acR5332-R5346) and two workarounds of your choice: a custom plist sample and an update to RestrictEvents, which provides the natural About Mac user interface regardless of the Mac model. RestrictEvents now also allows customizing the CPU description and NVMeFix makes it possible to enable ASPM on Macs with limited device property access. SMCSuperIO EC sensors became more powerful and include bug fixes to Intel NUCs and the fan reading support on certain laptops sharing the design concept. Last but not least, MaciASL and the bundled ACPI compilers are now built with Apple Silicon support and no longer require Rosetta to run.

———Vit

# Dortania Updates

This month's been a big release cycle for us including many long-awaited features for [OpenCore Legacy Patcher](https://github.com/dortania/OpenCore-Legacy-Patcher/)! These include:

* Public Beta Support for Legacy Graphics Acceleration Patches thanks to [@ASentientBot](https://asentientbot.github.io/)
  * Including Nvidia's Tesla and Fermi, AMD/ATI's TeraScale 1 and Intel's Ironlake and Sandy Bridge graphics
  * [Current Issues](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)
* Sidecar support for models with Metal-based Intel iGPUs
  * Based off our new [SidecarFixup Extension](https://github.com/khronokernel/SidecarFixup)
* AppleALC Support for 2011 and older Models
  * No longer relying on root patching for audio support
* Add El Capitan era Wifi card support
  * First of any patcher for Big Sur
* Windows 10 PCI Allocation patches for UEFI
  * Allowing better Audio and eGPU support on Sandy and Ivy Bridge Macs
* Support for Native Macs, allowing better 3rd Party Hardware support
  * Includes 3rd Party NVMe Patches, allowing for up-to 90% power reduction at idle on non-Apple drives
  * Sidecar Support for models excluded by Apple

Overall we're extremely happy with the progress made, and with macOS 12 a little over a month away we eagerly await to see what else Apple has for us to fix. Hope everyone enjoys the new releases!

———Khronokernel

# Changelogs

#### [OpenCore 0.6.9](https://github.com/acidanthera/OpenCorePkg/releases)

- Fixed out-of-sync cursor movement rectangle when loading e.g. CrScreenshotDxe
- Updated underlying EDK II package to edk2-stable202102
- Applied consistent enforcement of required minimum Apple OEM Apple Event protocol version
- Changed CustomDelays to less surprising boolean setting with failsafe of false
- Changed key repeat failsafes and sample values to Apple OEM values
- Changed PointerSpeedMul failsafe to Apple OEM value
- Updated docs to include configuration of key repeat settings with and without KeySupport
- Prevented 'set default' UI when action not permitted by security config
- Added `ForgeUefiSupport` quirk to workaround legacy EFI 1.x firmwares compatibility
- Added `ReloadOptionRoms` quirk to force-load Option ROMs on PCI devices
- Added `OC_ATTR_USE_MINIMAL_UI` to allow running pickers with no Shutdown and Restart buttons
- Added display of OpenCore version number to OpenCanopy as well as builtin picker, depending on existing ExposeSensitiveData bit
- Added support for case-insensitive argument handling in the UEFI tools
- Added vector acceleration of SHA-512 and SHA-384 hashing algorithms, thx @MikhailKrichanov
- Fixed wraparound when using arrow keys in OpenCanopy
- Updated builtin firmware versions for SMBIOS and the rest
- Added bundled Linux versions for userspace utilities
- Fixed fallback SMBIOS `Manufacturer` value to `NO DIMM` for empty slots
- Fixed assertions when running OpenCanopy with low resolution, will fallbacks to builtin now

#### [IntelMausi 1.0.6](https://github.com/acidanthera/IntelMausi/releases)

- Fixed loading on 10.11 and earlier (regressed in 1.0.5)

#### [VirtualSMC 1.2.3](https://github.com/acidanthera/VirtualSMC/releases)

- Fixed Intel NUC EC sensors not showing proper values on some platforms
- Added `generic` EC sensor type
- Added EC fan monitoring support on `HP Pavilion 14 CE2072NL`, thx @1alessandro1

#### [AppleALC 1.6.0](https://github.com/acidanthera/AppleALC/releases)

- Added `use-layout-id` property to use `layout-id` as is on Macs
- Added `use-apple-layout-id` property to use `apple-layout-id` as `layout-id` on Macs
- Fixed CS4206 and ALC885 support for legacy Macs
- Improvement ALC289 layout-id 87 for Alienware m15 by GitNaufal
- Added ALC1220 layout-id 98 for Mi Gaming Notebook Creator by Xsixu
- Added ALC1220 layout-id 100 for Hasee_G8-CU7PK by R-a-s-c-a-l

#### [VoodooPS2 2.2.3](https://github.com/acidanthera/OpenCorePkg/releases)

- Added `DisableDeepSleep` to workaround ACPI S3 wakes on some Synaptics touchpads

#### [NVMeFix 1.0.7](https://github.com/acidanthera/NVMeFix/releases)

- Fixed symbol solving on macOS 11.3
- Added `-nvmefaspm` boot argument to force ASPM L1 on all NVMe SSDs

#### [RestrictEvents 1.0.1](https://github.com/acidanthera/RestrictEvents/releases)

- Disabled `MacPro7,1` RAM & PCI Expansion Slot UIs
- Disabled `MacBookAir` memory view restrictions
- Added CPU brand string patch

#### [MaciASL 1.6.1](https://github.com/acidanthera/MaciASL/releases)

- Enabled codesigning and notarisation
- Added native ARM builds for iasl compilers
- Updated iasl compiler versions

#### [Lilu 1.5.3](https://github.com/acidanthera/Lilu/releases)

- Fixed kernel patcher support on 10.7

---

## File: _posts/2021-06-07-acidanthera-june.md

---
layout: post
title:  "Acidanthera Updates: June 2021"
date:   2021-06-07 14:45:00 -0400
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Changelogs](#changelogs)

# A message from vit9696

Pleasure to meet you on this summer day. This release commemorates a second ten-version cycle for OpenCore, and we shall say that we are quite satisfied with the achievements we accomplished over the year. Big Sur support, a really tough thing, Apple Secure Boot, legacy platform support including 32-bit computers with macOS 10.4, a whole lot of visual improvements, hardware compatibility and performance fixes, documentation rewrite, usability refinements. We did way more than we planned, and are grateful to the support from our families, friends, who encouraged us and helped to find spare time, from the external contributors, who brought new features and helped to track the issues, from the community that started to build an ecosystem based on the entities we create. Thank you all for being here!

We have three major highlights for today, and our first is OpenCanopy. We worked hard to understand what the artists need from the user interface, and did our best to integrate it in a best possible way that does not contradict the OpenCore architecture. With this update a new icon concept lands in OpenCanopy. While previously the themes were limited to a small list of predefined icon names, newly introduced flavours allow arbitrary icon names that do not depend on OpenCore code and can be maintained by the community. For better understanding @MikeBeaton additionally wrote a [writeup](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Flavours.md) explaining the caveats and defining the initial list. Besides that, we built a new home for all the artists: [OpenCanopy Gallery](https://dortania.github.io/OpenCanopy-Gallery). While still under development, OpenCanopy Gallery already hosts a few examples and is waiting for your contributions.

Next thing to discuss are virtual machines. Virtual machines are an essential part of our everyday workflow. Those who do not use them directly may be running them indirectly. It may be slightly uncommon knowledge but modern Windows runs itself as a [virtual machine](https://docs.microsoft.com/windows-hardware/design/device-experiences/oem-vbs). What it means for the end-user is that every modern operating system comes with a virtualisation stack. Linux and macOS come with accelerators: Hypervisor.framework and KVM accordingly. There needs to be third-party software that can utilise these mechanisms to run virtual machines, like VMware or QEMU. Windows comes with an all-in-one solution — Hyper-V. Since the amount of Windows users continues to grow, we agreed that being able to install macOS with the builtin hypervisor on Windows is a must. With thus release Goldfish64 implemented all the basics in MacHyperVSupport.

Last but not least are our continuing tests of the Z590 platform. As more boards continue to go through our hands, we discover more new issues or let's say possibilities:
- Since most Z590 boards have USB audio, we built a light version of our audio supplement driver — AppleALCU. This driver only has digital audio patches and is recommended for these setups.
- Many ASUS boards for some reason fail to enable ASPM on the NVMe SSDs and GPUs. As a result one needs to inject `pci-aspm-default` with `<02 00 00 00>` value into the relevant devices and their parent bridges, when not observing the lower 2 bits, to fix the bug.
- Disabling the `IGPU` via  `disable-gpu` property may not be sufficient as it may happen late. This may result in broken sleep or DRM issues. To workaround that one can inject `class-code` with `<FF FF FF FF>` value and `name` with `"unused"` value.
- ASMedia USB HUB used in ASUS boards to split the USB ports (e.g. 1 to 4) may immediately wake the system after sleep when working in USB 3.x mode for the first sleep attempt. This one looks extremely random and may be a bug of certain particular boards, but at the very least one can force it in 2.0 mode as a workaround.

That's all for the highlights, see below for a complete changelog and have a nice evening.

———Vit

# Changelogs

#### [OpenCore 0.7.0](https://github.com/acidanthera/OpenCorePkg/releases)

- Fixed NVRAM reset on firmware with write-protected `BootOptionSupport`
- Improved direct GOP renderer performance for certain cases
- Added support for display rotation in direct GOP renderer
- Fixed handling multinode device paths in LoadedImage and elsewhere
- Changed OpenCanopy image directory to support directory prefixes
- Changed OpenCanopy preferred image set to `Acidanthera\GoldenGate`
- Removed `.icns` and `<TOOLPATH>.icns` support
- Added content flavour system allowing custom boot entry icons compatible across icon packs
- Added automatic flavour detection for macOS boot entries
- Added `ProvideCurrentCpuInfo` quirk to provide correct TSC/FSB for Hyper-V virtual machines
- Added Hyper-V device path expansion to allow setting default boot volume
- Added `Apple` variant of `GopPassThrough` to handle only `AppleFramebufferInfo` handles
- Fixed further kernel patches not being processed if a patch was skipped due to arch mismatch
- Added optional Toggle SIP system boot menu option
- Added `CsrUtil.efi` tool, similar to Apple `csrutil`
- Removed support for `<TOOLPATH>.lbl`/`.l2x` pre-drawn entry labels
- Fixed previous text not cleared before console mode tools and entries in OpenCanopy
- Fixed DEBUG build crashes with `GopPassThrough` and `UgaPassThrough`
- Added flavour for memory testing utilities
- Updated recommended `memtest86` config in sample `.plist` files
- Defined bootloader flavours
- Applied own flavour to OC build
- Added CPU topology fixes to `ProvideCurrentCpuInfo` quirk
- Updated OC default SIP disabled value
- Documented SIP values which affect macOS updates
- Added `csr-data` Apple NVRAM var to docs
- Fixed file alignment causing codesign issues with CLANGPDB images
- Replaced `AdviseWindows` with `AdviseFeatures` to support APFS


#### [RestrictEvents 1.0.2](https://github.com/acidanthera/RestrictEvents/releases)

- Fixed patching CPU brand string with 8 core configurations
- Fixed detecting CPU core count on some CPU models
- Added single-core CPU brand string spoofing support

#### [AppleALC 1.6.1](https://github.com/acidanthera/AppleALC/releases)

- Fixed broken data in CS4206's layout76.xml
- Added PathMapID 4206 and 8800 for ALC885's Layout 67 and 73
- Fixed broken data in ALC289's layout87.xml
- Fixed automatic resource formatting on build
- Fixed ALC885's Info.plist Platforms entry
- Added 400 Series (0xF1C8 Z490 + Intel 11 Gen) PCH HD Audio Controller
- Fixed `alc-verb` device indexing giving varying results over reboots
- Added device listing with indices via `-L`/`-l` in `alc-verb`
- Added AppleALCU kext variant for digital-only audio setup
- Disabled kext patching for verb support and delays when not requested
- FIxed replace count in `WhiskeyLake` HDA patches
- Separated Intel `WhiskeyLake` laptop and desktop patches
- Added ALC1220 layout-id 35 for MSI GP75 9SD by Win7GM
- Added ALC1200 (display as ALCS1200A) layout-id 69 for Asrock Z490M ITX/AC by Lorys89 & Vorshim92
- Added ALC293 layout-id 30 for HASEE ZX8-CT5DA by RushiaBoingBoing
- Added ALC255 layout-id 96 for dell 5559 by Bhavin
- Fix mute on Conxexant CX 20724 by Human7900
- Added ALC1220 layout-id 17 for Gigabyte Z490 Vision G manual SP/HP by NIBLIZE
- Added ALC255 layout-id 82 for minisforum U820 by daliansky
- Added ALC282 layout-id 21 for TinyMonster ECO by DalianSky

#### [NVMeFix 1.0.8](https://github.com/acidanthera/NVMeFix/releases)

- Fixed applying quirks based on the disk name and serial
- Make Kingston A2000 quirk specific to S5Z42105

#### [VirtualSMC 1.2.4](https://github.com/acidanthera/VirtualSMC/releases)

- Added support for NCT6683D series

#### [BrightnessKeys 1.0.2](https://github.com/acidanthera/BrightnessKeys/releases)

- Fixed potential null pointer dereference crash

#### [WhateverGreen 1.5.0](https://github.com/acidanthera/WhateverGreen/releases)

- Fixed AMD WX-4170 name for 67E0 device id
- Added NVIDIA driver error logging with `-ngfxdbg`

#### [SidecarFixup 1.0.1](https://github.com/acidanthera/SidecarFixup/releases)

- Fixed excessive memory comparison
- Fixed boot argument handling on Secure Boot enabled macOS

#### [BrcmPatchRAM 2.5.9](https://github.com/acidanthera/BrcmPatchRAM/releases)

- Added BCM94352Z identifiers for injection

#### [MacHyperVSupport 0.5](https://github.com/acidanthera/MacHyperVSupport/releases)


#### [gfxutil 1.81b](https://github.com/acidanthera/gfxutil/releases)

- Improved compatibility with older EFI device paths having invalid trailing node (0xFF)

#### [UEFIGraphicsFB 1.0.0](https://github.com/acidanthera/UEFIGraphicsFB/releases)

- Initial release

---

## File: _posts/2021-07-05-acidanthera-july.md

---
layout: post
title:  "Acidanthera Updates: July 2021"
date:   2021-07-05 14:45:00 -0400
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Changelogs](#changelogs)

# A message from vit9696

It’s nice to see us moving forward with another macOS iteration bringing stabilization to a major overhaul we saw last year. macOS 12 is an all-around positive change from what we experienced since it fixed a fair number of bugs and brought rather few deprecations, bringing several new features on the surface and changing little in the background. Another thing to come was Windows, which a number of our users rely on, and its new version with new system requirements.

As most of you noticed, OpenCore 0.7.0 works just fine with both macOS 12 and Windows 11 without any special changes in normal circumstances. With macOS, some minor nuances needed to be addressed. Some quirks broke (e.g. `ProvideCurrentCpuInfo` or `PowerTimeoutKernelPanic`) and we fixed them. SMBIOS identifiers were also updated and we synced our database. OpenCanopy flavour recommendations were updated in addition to fixing some issues spotted with certain setups thanks to the attentive eyes of [@MikeBeaton](https://github.com/MikeBeaton). To help identifying and diagnosing the hardware on newer hardware setups [@PMheart](https://github.com/PMheart) included CPU MSR and PCI device information in the SysReport OpenCore functionality.

For Windows 11 we provided [a document](https://www.applelife.ru/posts/947082), outlining the requirements and the potential paths to work around them, hopefully avoiding any future misunderstanding. Besides that, we created a new tool, named `TpmInfo`, which helps everyone understand Intel hardware capabilities in regards to firmware TPM. Time will show whether we can find the resources to emulate certain features requested by Windows 11 in OpenCore, but it is not our priority at the moment, since roughly any post-Skylake system is compatible and only 8-year-old systems will optionally need emulation. As a reminder, please note, that any system needs to have _UEFI Secure Boot_ functionality enabled to properly support Windows 11. OpenCore has fully supported this for quite some time, and all the instructions are already included in the corresponding section of the OpenCore reference manual. We will later release a Dortania guide that is easier to follow. 

On the kernel side, there were several really important changes. Lilu got a brand new kext patcher, which unifies the approach for all the operating systems from macOS 10.6 to macOS 12, avoiding many hacks we had earlier and making our QC more reliable. As usual, all the plugins will need to be updated to support macOS 12, and we have already made changes in most of our own plugins, which are also included in this update. Many plugins are now also supported on macOS 10.6 (in 64-bit mode), including AppleALC, VirtualSMC, SMCBatteryManager, and WhateverGreen. All of this comes as a result of enormous work by [@Goldfish64](https://github.com/Goldfish64). After some research with [@dhinakg](https://github.com/dhinakg) we were able to find a solution for Bluetooth issues on macOS 12, which landed as a standalone kext named BlueToolFixup. To keep more continuity features available on an as-is basis [@khronokernel](https://github.com/khronokernel) brought more patches to SidecarFixup, making it widen the support of AirPlay to Mac, Universal Control, and so on.

This is all for today, a complete changelog is provided below.
———Vit

# Changelogs

#### [OpenCore 0.7.1](https://github.com/acidanthera/OpenCorePkg/releases)

- Added `SyncTableIds` quirk to sync modified table OEM identifiers
- Added CPU Info (MSRs) dumping to `SysReport`
- Updated builtin firmware versions for SMBIOS and the rest
- Fixed `PowerTimeoutKernelPanic` on macOS 12
- Fixed transparency click detection on OpenCanopy boot entries
- Added PCI device info dumping to `SysReport`
- Fixed `SetApfsTrimTimeout` on macOS 12
- Documented requirement for SetDefault.icns width to match Selector.icns width
- Added explicit warn and safe fallback to builtin picker on failure to match the above
- Added VSCode source level IDE debug config example to debug docs
- Added other minor debug docs updates
- Fixed incorrect timeout of built-in picker on IA32
- Added support for custom kernels on ESP partition
- Fixed DEBUG ASSERT on pressing change entry keys with single boot entry in OpenCanopy
- Added recommended `Apple12` and `Windows11` flavours
- Added `TpmInfo` tool to DEBUG TPM status
- Fixed incorrect OpenCanopy initial display when default entry beyond right of screen
- Fixed `ProvideCurrentCpuInfo` MSR patch on macOS 12

#### [Lilu 1.5.4](https://github.com/acidanthera/Lilu/releases)

- Allow loading on macOS 12 without `-lilubetaall` (With adapted for macOS 12 plug-ins)
- Added guarding for address slot usage to avoid potential kernel routing overflow
- Allow using medium size function routing in the kernel
- Added medium size function routing for `Long` mode as they are functionally equivalent
- Added `matchSharedCachePath` API to support dyld cache matching on macOS 12
- Added `_kmod` hooking for kext listening to unify kext patcher logic
- Added zlib decompression API
- Fixed kernel patcher support on 64-bit 10.6
- Added new GPU switching API

#### [AppleALC 1.6.2](https://github.com/acidanthera/AppleALC/releases)

- Added constants for macOS 12 support
- Added 10.6 and 10.7 support in 64-bit mode

#### [VirtualSMC 1.2.5](https://github.com/acidanthera/VirtualSMC/releases)

- Added preliminary macOS 12 support
- Added macOS 10.6 support for SMCBatteryManager

#### [WhateverGreen 1.5.1](https://github.com/acidanthera/WhateverGreen/releases)

- Added constants required for macOS 12 update
- Added Intel Arrandale graphics support on 10.6 and 10.7 64-bit

#### [CPUFriend 1.2.4](https://github.com/acidanthera/CPUFriend/releases)

- Added constants for macOS 12 support

#### [RestrictEvents 1.0.3](https://github.com/acidanthera/RestrictEvents/releases)

- Added constants for macOS 12 support
- Rewrote `eficheck` restrictions to avoid slowdowns

#### [DebugEnhancer 1.0.3](https://github.com/acidanthera/DebugEnhancer/releases)

- Added constants for macOS 12 support

#### [SidecarFixup 1.0.2](https://github.com/acidanthera/SidecarFixup/releases)

- Added constants for macOS 12 support
- Fixed macOS 12 shared cache compatibility
- Unlock AirPlay to Mac, Universal Control and NightShift Functionality

#### [NVMeFix 1.0.9](https://github.com/acidanthera/NVMeFix/releases)

- Added constants for macOS 12 support
- Fixed macOS 12 compatibility

#### [BrcmPatchRAM 2.6.0](https://github.com/acidanthera/BrcmPatchRAM/releases)

- Added BlueToolFixup for macOS 12 compatibility

#### [IntelMausi 1.0.7](https://github.com/acidanthera/IntelMausi/releases)

- Added force WOL support (`mausi-force-wol` device property or `-mausiwol` boot argument)

#### [VoodooPS2 2.2.4](https://github.com/acidanthera/VoodooPS2/releases)

- Fixed incorrect command gate initialization causing panics

#### [AirportBrcmFixup 2.1.3](https://github.com/acidanthera/AirportBrcmFixup/releases)

- Added constants for macOS 12 support

---

## File: _posts/2021-08-02-acidanthera-august.md

---
layout: post
title: "Acidanthera Updates: August 2021"
date: 2021-08-02 14:30:00 -0400
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Changelogs](#changelogs)

# A message from vit9696

With the vacation season ongoing we continue to deliver minor updates to all the products improving overall stability and compatibility.

We understand the importance of security, and this is why all our products are built with security in mind. With this release OpenCore becomes even more tamper resistant by introducing [stack canary](https://en.wikipedia.org/wiki/Buffer_overflow_protection) support thanks to @MikhailKrichanov. Furthermore, we fixed macOS 12 Apple Secure Boot compatibility. As a side measure, we deprecated Apple Secure Boot support for macOS 10.15 and older with the default preferences. The primary reason is due to these operating systems not having advanced protective measures such as root volume authentication like in macOS 11 and above. To continue using Apple Secure Boot with older operating systems one will need to specify `j137` in the `SecureBootModel` parameter, yet this value will not work with macOS 12. Similarly to Apple Secure Boot, APFS driver verification requirements were also bumped to macOS 11 and newer, and thus require one to change `MinDate` and `MinVersion` in the APFS section if older macOS versions need to be launched.

On the kernel side @Goldfish64 pioneered with 32-bit kernel extension support, expanding Lilu, VirtualSMC, and SMCBatteryManager compatibility to macOS 10.4 and above. We will continue to expand older macOS compatibility to help the developers test their software on various configurations. WhateverGreen got device-id spoofing support for AMD cards, letting newer RX 6900 GPUs run without a hassle. RestrictEvents became more configurable and received minor enhancements for better compatibility with macOS 10.15 and older.

— Vit

# Changelogs

#### [OpenCore 0.7.2](https://github.com/acidanthera/OpenCorePkg/releases)

* Fixed OSBundleLibraries/OSBundleLibaries64 handling
* Added `GraphicsInputMirroring` to fix lost keystrokes in some non-Apple graphical UEFI apps
* Added support for stack canaries (security cookies / stack guards)
* Fixed unintialised memory access in AudioDxe causing audio playback failure
* Changed `Default` Apple Secure Boot model to `x86legacy` for better security and compatibility
* Increased default APFS `MinDate` and `MinVersion` to macOS Big Sur for better security
* Updated builtin firmware versions for SMBIOS and the rest
* Improved SSDT-PNLF compatibility with Windows and newer graphics
* Fixed CLANGPDB OpenCore builds by shortening OC magic

#### [Lilu 1.5.5](https://github.com/acidanthera/Lilu/releases)

* Added a variant of `KernelPatcher::findAndReplace` that requires both `find` and `replace` buffers to have the same length.
* Added support for macOS 10.4 and newer

#### [AppleALC 1.6.3](https://github.com/acidanthera/AppleALC/releases)

* Update ALC289 layout-id 87 by GitNaufal
* Update ALC235 layout-id 18 for AsRock 310 BB by viorel78

#### [VirtualSMC 1.2.6](https://github.com/acidanthera/VirtualSMC/releases)

* Added macOS 10.4 support for VirtualSMC and SMCBatteryManager

#### [WhateverGreen 1.5.2](https://github.com/acidanthera/WhateverGreen/releases)

* Added `device-id` spoofing support for AMD graphics

#### [FeatureUnlock 1.0.3](https://github.com/acidanthera/FeatureUnlock/releases)

* Rename project from SidecarFixup to FeatureUnlock

#### [HibernationFixup 1.4.2](https://github.com/acidanthera/HibernationFixup/releases)

* Use method routeMultipleLong instead of routeMultiple in order to avoid conflict with future versions of CpuTscSync

#### [MacHyperVSupport 0.6.0](https://github.com/acidanthera/MacHyperVSupport/releases)

* Added constants for macOS 12 support
* Enable loading on 32-bit macOS 10.6 and 10.7

---

## File: _posts/2021-09-06-acidanthera-september.md

---
layout: post
title: "Acidanthera Updates: September 2021"
date: 2021-09-06 19:00:00 -0400
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Changelogs](#changelogs)

# A message from vit9696

This month completes the vacation season, and this time we have something special to present. For a long time Linux support was a grey area in OpenCore. It worked and we fixed the reported issues when it did not. However, one needed to perform a fair amount of work to make Linux natively display in the OpenCore boot pickers, whether built-in or the shiny OpenCanopy. This fall, this is finally changing.

With OpenCore 0.7.3, we present a preview version of the OpenLinuxBoot.efi driver, which delivers first-class Linux support for OpenCore without any chainloading required like GRUB or rEFInd. @MikeBeaton did a really great job on this. His driver supports all sorts of distributions, including [blspec](https://systemd.io/BOOT_LOADER_SPECIFICATION) compatibility, automatic detection of other installation types / schemes, and even manual configuration for particularily peculiar setups. There is a comprehensive section on how to use it in the reference manual, as well as in the discussion for the [PR](https://github.com/acidanthera/OpenCorePkg/pull/282). While we have had positive experiences so far, we must still warn you that the driver has just landed and is still in a beta stage.

Among other bootloader changes there are several stability fixes, new quirks for older hardware courtesy of @mhaeuser, and security revampments by @MikhailKrichanov. As for the drivers, WhateverGreen got a long awaited backlight smoothing support for the Intel GPUs thanks to @0xFireWolf. After months of hard work from @Goldfish64 AppleALC and VirtualSMC are now available on 32-bit macOS versions up to 10.4 for the first time. To add more, VoodooPS2 also received support for the touchpad muxers thanks to @1Revenger1.

— Vit

# Changelogs

#### [OpenCore 0.7.3](https://github.com/acidanthera/OpenCorePkg/releases)

* Improved SSDT-PNLF compatibility with CFL+ graphics
* Fixed OpenCanopy performance loss due to redrawing introduced in 0.6.9
* Added pattern-based automatic variable initialisation for better security
* Updated underlying EDK II package to edk2-stable202108
* Updated Apple Secure Boot variables for `x86legacy`
* Updated Linux variants in Flavours.md
* Implemented Boot Entry Protocol, allowing plug-in boot entry drivers
* Added StringBuffer and FlexArray libraries
* Updated Drivers to support arguments (requires config.plist update, see samples)
* Added OpenLinuxBoot driver: OC-native Linux autodetect and boot without chaining via GRUB
* Fixed overlong boot entry names breaking text flow in builtin menu
* Added `ForceOcWriteFlash` UEFI quirk to enable writing OC system variables

#### [Lilu 1.5.6](https://github.com/acidanthera/Lilu/releases)

* Added the circular buffer API.
* Added convenient helpers to check a value (available as of C++17).
* Added the `OSObjectWrapper` API to wrap a non-`OSObject` value.

#### [AppleALC 1.6.4](https://github.com/acidanthera/AppleALC/releases)

* Added 10.4 and 10.5 support, and 10.6 and 10.7 support in 32-bit mode
* Update STAC9200 layout-id 11 to support 10.4 to 10.6
* Added STAC9205 layout-id 11 for Dell Inspiron 1520 and Latitude D630
* Fixed crash on GPUs without digital audio support introduced in 1.6.1
* Added ALC623 layout-id 21 for Lenovo M70T by Andres ZeroCross
* Seperated Laptop/Desktop patches for 8086:A171 to fix HDMI audio on Intel NUC
* Added ALC236 layout-id 36 for Lenovo Ideapad 510s 14isk by volcbs
* Added ALC235 layout-id 12 for Dell Optiplex 7040 MT by wern-apfel
* Improved CA0132 layout-id 7 by removing not needed MuteGPIO by wern-apfel
* Added ALC235 layout-id 8 for Intel NUC 8 by wern-apfel
* Added ALC269 layout-id 69 for MSI GF63 Thin 9SEXR  by Vorshim92
* Added ALC289 layout-id 93 for XPS 9500 4k by sweet3c
* Added ALC892 layout-id 32 for custom G4/G5mod

#### [VirtualSMC 1.2.7](https://github.com/acidanthera/VirtualSMC/releases)

* Fixed build settings for 32-bit
* Added EC fan monitoring support on `HP OMEN Laptop 15-ek0xxx`, thx @lunjielee
* Added `fan0-dividend` to support more EC fan monitors

#### [WhateverGreen 1.5.3](https://github.com/acidanthera/WhateverGreen/releases)

Note: This release requires Lilu v1.5.6 or later.

* Added `no-gfx-spoof` to avoid forcing `device-id` values from PCI I/O.
* Added the backlight smoother submodule that makes brightness transitions smoother on Intel IVB+ platforms. (by @0xFireWolf)
* MMIO Register Access submodules are now available on Intel IVB+ platforms. (by @0xFireWolf)
* Improved ASUS-made AMD R9 380 GPU identification
* Fixed `applbkl` property with `<00 00 00 00>` value failing to disable backlight patches

#### [HibernationFixup 1.4.3](https://github.com/acidanthera/HibernationFixup/releases)

* Use method routeMultipleLong instead of routeMultiple in order to avoid conflict with DebugEnhancer

#### [DebugEnhancer 1.0.4](https://github.com/acidanthera/DebugEnhancer/releases)

* Use method routeMultipleLong instead of routeMultiple in order to avoid conflict with HibernationFixup

#### [VoodooPS2 2.2.5](https://github.com/acidanthera/VoodooPS2/releases)

* Added support for touchpads with multiplexors

#### [RestrictEvents 1.0.4](https://github.com/acidanthera/RestrictEvents/releases)

* Fixed dual-core CPU spoofing on macOS 10.14 and earlier
* Allow preserving MP7,1 UI through `revnopatch` in NVRAM or boot-args
* Skip leading spaces for automatically received CPU names

#### [CpuTscSync 1.0.4](https://github.com/acidanthera/CpuTscSync/releases)

* Added constants for macOS 12 support
* Added macOS 12 compatibility for CPUs with `MSR_IA32_TSC_ADJUST` (03Bh)

---

## File: _posts/2021-10-06-acidanthera-october.md

---
layout: post
title: "Acidanthera Updates: October 2021"
date: 2021-10-06 20:45:00 -0400
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* Changelogs (coming soon!)

*Note: This post was originally supposed to go up on 2021-10-04. We are sorry for the delay.*

# A message from vit9696

Hello everyone,

This update brings full support to macOS 12, which we expect to land this fall. Please make sure to refresh your setups and try to avoid updating mission critical systems as early as possible to avoid surprises just as usual.

Among the notable bootloader changes there are Apple Secure Boot refinements, which resolved macOS Monterey installation and update issues, Linux boot bugfixes and improved documentation for better compatibility with Linux distros, as well as issues with older hardware fixed.

For kexts we included Intel Ice Lake refinements which were discovered by @kingo132 and @m0d16l14n1 and contributed by @0xFirewolf into WhateverGreen. In addition, more compatibility updates to CPUTscSync by @lvs1974, regression fixes in VoodooPS2 by @1Revenger1, and networking support in MacHyperVSupport by @Goldfish64.

We hope you like the progress going smoothly and wish you a nice autumn upgrade.

— Vit

---

## File: _posts/2021-11-01-acidanthera-november.md

---
layout: post
title: "Acidanthera Updates: November 2021"
date: 2021-11-01 12:00:00 -0400
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Changelogs](#changelogs)

# A message from vit9696

Good evening,

Considering all the effort spent on making our projects feature-rich and stable, we have long awaited the monthly changelist to decrease in size and contain less ground-breaking adjustments. While we have not reached this state yet, this release is a great example of our shift to a new strategy. The main changes are dictated by three factors: macOS changes, hardware releases, and security enhancements we continue to pursue.

The updates to OpenCore include a long-awaited feature: Resizable BAR configuration for GPUs. Resizable BAR is a PCI specification feature which allows control of the amount of video memory visible from the CPU. While macOS does support this feature, it limits the supported BAR sizes by 1 GB and seems to be unstable with BARs above 256 MB. If both your GPU and your firmware support Resizable BAR, setting `ResizeAppleGpuBars` to `0` will update GPU registers to their defaults when booting macOS and fix the hangs on newer boards. The [updated reference manual](https://github.com/acidanthera/OpenCorePkg/blob/0.7.5/Docs/Configuration.pdf) includes all the relevant details for the technically inclined. Among the other improvements are recovery image signature checking in `macrecovery` by @jspraul and @zhangyoufu, ensuring that the image is not corrupted and comes directly from Apple, and minor OpenLinuxBoot improvements by @MikeBeaton, resolving an annoying hang with some distributions.

As for kernel driver changes, after the Bluetooth stack overhaul in macOS 12, we are still trying to get things in line. Thanks to contributions from @dhinakg, @usr-sse2, @williambj1, and @zxystd, BlueToolFixup makes most devices work on any Mac model with on-off support. Please note that Continuity and AirDrop features may not function correctly [for the time being](https://github.com/acidanthera/bugtracker/issues/1821) on macOS 12. Other than that, with @lvs1974 we extended Lilu APIs to support trampoline routing on macOS 10.15 and earlier, which fixed an unpleasant regression in HibernationFixup and CpuTscSync causing boot or sleep wake failures. @kingo132 added PWM backlight control for AMD 5000-series to WhateverGreen and @0xFireWolf resolved some flickering issues on Ice Lake GPUs. Thanks to @1Revenger1, VoodooPS2 got a bugfix for the recently added muxing code, which caused some devices to crash on sleep wake.

This is all for the highlights, we hope you enjoy macOS 12 on your non-production systems. Besides that, while we are moderately excited about the imminent release of Intel Alder Lake, we use this message as a reminder that this platform is not supported and may actually have architectural incompatibilities with macOS.

— Vit

# Changelogs

#### [OpenCore 0.7.5](https://github.com/acidanthera/OpenCorePkg/releases)

- Revised OpenLinuxBoot documentation
- Supported Linux ostree boot layout
- Fixed external drive icons for Boot Entry Protocol
- Added GPU Resize BAR quirks to reduce BARs on per-OS basis
- Fixed OpenLinuxBoot hang bug after correct detection of some distros
- Added DMG signature check during download, thx @jspraul and @zhangyoufu
- Updated builtin firmware versions for SMBIOS and the rest
- Updated recovery downloading commands to include macOS 11 and 12

#### [Lilu 1.5.7](https://github.com/acidanthera/Lilu/releases)

- Added address slot support for all 64-bit macOS version

#### [AppleALC 1.6.6](https://github.com/acidanthera/AppleALC/releases)

- Added ALC256 layout-id 24 for Intel NUC NUC10i5FNH by Andres ZeroCross
- Added Conexant CX11970 (CX8400) layout-id 13 for Acer Swift 3 SF31* (Ice Lake) by m0d16l14n1
- Added ALCS1200A layout-id 7 for B550M Gaming Carbon WIFI by Kila2
- Try to solve wake up mute for GP75 9SD by Win7GM
- Added ALC256 layout-id 33 for Huawei Matebook D15 MRC-W10 by im1ke
- Added ALC892 layout-id 23 for ASRock B365 Pro4 by TheHackGuy
- Fixed ALC221 layout-id 11 for HP6300/8300 rear line-in jack by adding DSP functions by aloha-cn

#### [WhateverGreen 1.5.5](https://github.com/acidanthera/WhateverGreen/releases)

- Changed the default delay of optimizing display data buffer allocations from 0 to 1 second to fix the issue that both internal and external displays flicker on some Ice Lake-based laptops. (Thanks @m0d16l14n1)
- Disabled the black screen fix on Ice Lake platforms as it is only applicable to SKL/KBL/CFL/CML platforms.
- Disabled the force complete modeset submodule on Ice Lake platforms as HDMI/DVI connections are not supported by the driver.
- Added AMD Radeon RX 5000 series PWM backlight control support. (Thanks to @kingo132)

#### [BrcmPatchRAM 2.6.1](https://github.com/acidanthera/BrcmPatchRAM/releases)

- Improved BlueToolFixup compatibility with macOS 12b10 (thx @dhinakg, @williambj1)
- Fixed bluetooth support on MBP15,4 and other similar boards (thx @dhinakg, @usr-sse2)
- Fixed bluetooth not working on macOS 12 after the first power cycle (thx @williambj1, @zxystd)

#### [VoodooPS2 2.2.7](https://github.com/acidanthera/VoodooPS2/releases)

- Fixed kernel panic after S3

#### [HibernationFixup 1.4.5](https://github.com/acidanthera/HibernationFixup/releases)

- When battery level is critical, try to put macOS into sleep/hibernate mode only once per minute.

---

## File: _posts/2021-12-06-acidanthera-december.md

---
layout: post
title: "Acidanthera Updates: December 2021"
date: 2021-12-06 23:50:00 -0500
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Changelogs](#changelogs)

# A message from vit9696

Good evening,

As some of you already noticed, winter is coming. However, unlike the streets freezing and getting covered with snow, the development here starts to accelerate. This time we worked hard to get better support for Intel Alder Lake, about which we are going to give a separate post. Other than that, we addressed a few unpleasant bugs that affected certain legacy systems in a pretty bad manner.

First, Intel Alder Lake. This required a substantial amount of changes in OpenCore and kexts, and we believe it is possible that more changes might happen in the future. OpenCore currently recognises the 12th CPU generation by Intel and includes several ACPI samples that make the bring-up process smoother. We also adjusted some quirks like `ProvideConsoleGop` to workaround ASUS firmware specialties. Thanks to @R-a-s-c-a-l, AppleALC was updated to support Z690's audio controller, although we have not been able to test this ourselves yet. We also crafted a pilot version of the CpuTopologySync driver, allowing the use of efficiency cores in macOS. I thank @vandroiy2013 for spending days and nights debugging this piece of hardware, giving smart ideas, and all in all helping me understand the caveats.

Thanks to @Goldfish64, OpenCore now supports higher resolution mode-set on old NVIDIA GPUs through the BiosVideo driver. OpenCore will also let one automatically select the display scaling depending on the connected screen, which eases the ability to swap monitors. To switch to this new option one will need to perform an NVRAM reset, and @PMheart also updated ocvalidate to ensure that new settings have appropriate values. Label scrolling glitches were also fixed in OpenCanopy thanks to @mikebeaton and @mhaeuser. We hope that the overall rendering experience will be a little better with this update.

`ProtectUefiServices` will no longer crash certain Dell computers thanks to @al3xtjames and `FadtEnableReset` will make sure Dell computers reboot thanks to @Goldfish64 again. `ScanPolicy` can now handle old Samsung NVMe drives, which are exposed as PCI drives, not NVMe. Thanks to @mikebeaton, legacy Macs can get virtual machine support not just in macOS through `EnableVmx` quirk. After @mikhailkrichanov's updates GCC builds are functional again.

Lilu got crash fixes on 10.15 and older. With the recent efforts of @khronokernel and @dhinakg, FeatureUnlock received updated patches for macOS 12.1 and minor performance improvements. @lvs1974 additionally pushed some compatibility fixes into SMCDellSensors.

That makes it for this evening.

— Vit

# Changelogs

#### [OpenCore 0.7.6](https://github.com/acidanthera/OpenCorePkg/releases)

- Fixed stack canary support when compiling with GCC
- Added automatic scaling factor detection
- Explicitly restricted `ResizeAppleGpuBars` to 0 and -1
- Fixed OpenCanopy long labels fade-out over graphics background
- Fixed `ProvideConsoleGop` not disabling blit-only modes (e.g. on Z690)
- Fixed Alder Lake SMBIOS CPU model information
- Added XCPM CPU power management ACPI table for Intel Alder Lake
- Updated draw order to avoid graphics tearing in OpenCanopy
- Fixed handling PCI device paths with logical units in ScanPolicy
- Added `ReconnectGraphicsOnConnect` option for enabling alternative UEFI graphics drivers
- Added BiosVideo.efi driver to use with `ReconnectGraphicsOnConnect`
- Changed `FadtEnableReset` to avoid unreliable keyboard controller reset
- Added `EnableVmx` quirk to allow virtualization in other OS on some Macs
- Upgraded `ProtectUefiServices` to prevent GRUB shim overwriting service pointers when chainloading with Secure Boot enabled
- Removed deprecated SSDT-PNLFCFL
- Fixed handling of zero-sized Memory Attributes Table

#### [Lilu 1.5.8](https://github.com/acidanthera/Lilu/releases)

- Fixed kernel panic on macOS 10.15 and earlier introduced in 1.5.7
- Added Alder Lake CPU model support
- Added shared patcher instance grabbing API

#### [AppleALC 1.6.7](https://github.com/acidanthera/AppleALC/releases)

- Added 600-series controller patch by @R-a-s-c-a-l
- Added ALC282 layout-id 69 for Lenovo IdeaPad Z510 by hoseinrez
- Added ALC285 layout-id 66 for for Lenovo Legion S740 15-IRH by @R-a-s-c-a-l
- Fix PinConfigs Device and Port in ALC662v3 by static-host
- Added ALC269 layout-id 25 for Medium Akoya p6653 by hua0512
- Added ALC235 layout-id 13 for Deskmini H470 by dumk1217
- Added ALC283 layout-id 12 for ThinkCentre M73(10AX) ALC283 by dumk1217
- Added ALC285 layout-id 88 for Yoga S740 by frozenzero123
- Fix ALC256 layout-id 67 unable to change the built-in Speaker Volume through the hotkey after unplugging the headphone by @R-a-s-c-a-l
- Fix ALC298 layout-id 11 wake data for Alienware 17 R4 by RockJesus
- Added ALC282 layout-id 30 for Soarsea S210H by Jokerman1991
- Added ALC662 layout-id 19 for MSI X79A-GD65 by @wy414012

#### [VirtualSMC 1.2.8](https://github.com/acidanthera/VirtualSMC/releases)

- Do not override CPU proximity SMC key in SMCDellSensors + minor fixes in logic

#### [FeatureUnlock 1.0.4](https://github.com/acidanthera/FeatureUnlock/releases)

- Fixed AirPlay to Mac support with macOS 12.1
- Refactored patch sets to only patch model families
- Resolved rare OS-side crashing from Sidecar patching
- Added AssetCache patch for `kern.hv_vmm_present` usage
- Disabled iPad/Sidecar exemption by default
  - Patch set does not work on devices running iOS 14 or newer
- Added additional boot-args for specific patch disabling

#### [DebugEnhancer 1.0.5](https://github.com/acidanthera/DebugEnhancer/releases)

- Support boot-arg `-dbgenhiolog` to redirect IOLog output to kernel vprintf

#### [CpuTopologySync 1.0.0](https://github.com/acidanthera/CpuTopologySync/releases)

- *Initial release 🎉*

---

## File: _posts/2022-01-08-alder-lake.md

---
layout: post
title: "Intel Z690 compatibility with macOS"
date: 2022-01-08 19:30:00 -0500
categories: Hackintosh updates
---
Last year, when I presented the Z590 nuances here on Dortania ([main paper](https://dortania.github.io/hackintosh/updates/2021/04/24/rocket-lake.html), [amendments](https://dortania.github.io/hackintosh/updates/2021/06/07/acidanthera-june.html), [sample configuration](https://github.com/dortania/bugtracker/issues/221)), I was rather worried that with the introduction of Intel Z690 architecture we will be out of luck. Today I am confident that it is not the case. While it is far from perfect and while it is harder to make Alder Lake run on the kernel side, after several days of experiments with @vandroiy2013 we were able to make it. Here comes what one needs to be aware of when building a Z690-based setup. As usual, the previous knowledge of Z490 and Z590 still applies, and I strongly advise you to acquaint yourself with these platforms first.

_Please keep in mind that up to this moment we have only tested one ASUS motherboard and although the described issues should normally apply to the other vendors, we can neither guarantee that we spotted them all, nor say that we performed all the tests even with the board we had at hand._

#### BIOS

Given that we waited a bit longer for a news post this time, Alder Lake firmware were updated to be more acceptable.

- Apple RTC issues are finally resolved at least in ASUS boards. While one still obviously needs an AWAC SSDT table, `DisableRtcChecksum` or `RTCMemoryFixup.kext` are no longer required.
- CFG Lock may not be configurable in preferences on ASUS boards. This is an obvious BIOS bug, although it may not cause boot failures. We had to unlock it manually through the Shell method described in OpenCore Reference Manual. Unlocking with ControlMsrE2 was unsuccessful, but we did not investigate it much.
- XMP works at least with DDR5 we had at hand, but there were reports of no issues with DDR4 as well. While macOS does not name DDR5 as DDR5 in the profiler, this nuance is purely cosmetic.
- We did not have PCIe 5.0 hardware to ensure optimal performance, but there were no issues with PCIe 4.0 and 3.0 including Resize Bar support handled by the `ResizeAppleGpuBars` quirk.
- We did not have native Thunderbolt support in our board, but Z690 Thunderbolt firmware is also part of the main firmware, and thus can hardly be modified. Flashed PCIe cards should work fine though.
- ASUS boards have a new aggregate GOP instance, which causes black screen during macOS first stage. This is addressed in the `ProvideConsoleGop` quirk starting with OpenCore 0.7.6.
- Most firmware dropped `Processor`-based CPU definition in ACPI and switched to `Device`-based definition, which is not recognised by macOS. To workaround this one needs to use the `SSDT-PLUG-ALT` ACPI table.

#### CPU tuning

Unlike the previous generation, only Alder Lake CPUs are supported in Z690 boards. Furthermore, the new CPUs utilise a heterogenous architecture, similarly to [big.LITTLE](https://en.wikipedia.org/wiki/ARM_big.LITTLE) found in ARM. There is a trade-off between using different core kinds and getting better multicore performance and sticking with performance cores. In case you enable the efficiency cores be aware: 
- All cores are to support the same instruction set on x86, which means AVX-512 is disabled.
- Ring bus frequency is lowered to match the efficiency cores (3.6 vs 5.0), which slowdowns the overall performance.
- XNU scheduler does not distinguish core types in macOS and will work no better than current Windows 10 in terms of core assignment.
- More patches are required for XNU when using the efficiency cores, though handled automatically by the `ProvideCurrentCpuInfo` quirk starting with OpenCore 0.7.7.
- Enabling the efficiency cores will require [RestrictEvents](https://github.com/acidanthera/RestrictEvents) CPU name spoofing functionality due to large core count.

As for the issues not related to the hybrid architecture:

- Alder Lake CPUs also require `CPUID` virtualisation to boot.
- Partial XCPM compatibility is available, but frequency vector tuning will be [required](https://github.com/dortania/bugtracker/issues/190).
- Thermal management works. While Intel Power Gadget is rather buggy and not recommended in production, it mostly works, so do SuperIO and SMCProcessor.

#### Audio and graphics

Just like Z590, Z690 boards support USB and analog audio. Analog audio patches were contributed by @R-a-s-c-a-l and are present starting with AppleALC 1.6.7. USB audio is supported by AppleALCU out of the box. Please note that USB audio may need separate firmware updates provided by the motherboard vendor (like on ASUS Z590 series, which initially had sporadic crackling noise).

Builtin IGPU is not supported by macOS starting with Rocket Lake. In case it is needed for other operating systems, it is recommended to disable it with `class-code` = `<FF FF FF FF>`. This applies to all uses of `disable-gpu`, which has been proven to be unreliable. One can also disable it in firmware preferences. Discrete GPUs are supported without any limitations including DRM and digital audio.

#### USB

No change from Z590:

- Needs usual care with port mapping to get working sleep support.
- [USBWakeFixup](https://github.com/osy/USBWakeFixup) is needed to fix keyboard wakeup support, but may cause [compatibility issues](https://github.com/osy/USBWakeFixup/issues/14) with Bluetooth.
- Overclocking RAM is known to cause USB issues, but we were unable to spot anything negative with XMP so far.

#### Networking and wireless

- Intel 2.5 Gbps adapters work out of the box through the DEXT drivers at least on ASUS boards.
- Intel Wi-Fi works with AirportItlwm, but we had wake-up issues at the time we tested it. The issue is tracked [here](https://github.com/OpenIntelWireless/itlwm/issues/519).
- Intel Bluetooth works with IntelBluetoothFirmware in macOS 11, but may not be functional in macOS 12. The issue is tracked [here](https://github.com/OpenIntelWireless/IntelBluetoothFirmware/issues/369).

As usual we recommend replacing Intel wireless modules with Apple ones whenever possible.

#### Miscellaneous 

No change from Z590:

- S3 support works fine.
- FileVault 2 authenticated restart works fine.

To summarise, Intel Z690 looks like a solid upgrade which brings better performance per watt. We can still run macOS on it with acceptable efficacy.

— Vit

---

## File: _posts/2022-01-11-acidanthera-january.md

---
layout: post
title: "Acidanthera Updates: January 2022"
date: 2022-01-11 13:30:00 -0500
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* [Changelogs](#changelogs)

# A message from vit9696

Welcome to 2022! We are glad to meet you with this year's first update of our products. After getting the well deserved rest, which lasts a bit longer in Russia than the winter holidays in several other countries, we tried to push all the fixes for the most annoying issues.

Lilu now works correctly with some third-party plugins on macOS Catalina and older after introducing a regression by the December update. Thanks to @Goshin for their time and patience tracking this down. RestrictEvents now also blocks the unreadable disk popup and enables the memory configuration view on all models thanks to @Goldfish64. @khronokernel additionally included new abilities for Hypervisor spoofing used in OCLP on legacy Macs.

AppleALC got controller patch improvements following the Z690 series as well as the new audio resources. gfxutil was fixed to support Apple Silicon as well as parse legacy Mac device paths, thanks to @joevt. FeatureUnlock also includes fixes for the AirPlay to Mac support introduced in the previous release.

As for OpenCore, it got two major changes. First is the audio driver reengineering, which allowed for support of many more audio controllers including Apple hardware, thanks to @mikebeaton, and second is the quirk we created to activate the efficiency cores on Intel Alder Lake. More details on Intel Alder Lake are provided in a [separate post](https://dortania.github.io/hackintosh/updates/2022/01/09/alder-lake.html).

Have a nice winter,

— Vit

# Changelogs

#### [OpenCore 0.7.7](https://github.com/acidanthera/OpenCorePkg/releases)

- Fixed rare crash caused by register corruption in the entry point
- Added `ProvideCurrentCpuInfo` support for Intel Alder Lake
- Fixed typo in `Cpuid1Data` recommendations for Intel Rocket Lake and newer
- Updated builtin firmware versions for SMBIOS and the rest
- Updated underlying EDK II package to edk2-stable202111
- Resolved crashes in QEMU with AudioDxe
- Added AudioDxe settings caching (avoids non-needed setup delays)
- Added DisconnectHda quirk to allow UEFI sound on Apple hardware and others
- Added workarounds for bugs in QEMU `intel-hda` driver to allow UEFI sound in QEMU
- Implemented multi-channel (e.g. bass+main speaker; speakers+headphones) UEFI sound with `AudioOutMask`
- Fixed AudioDxe startup stalls when Nvidia HDA audio is present
- Resolved AudioDxe disabling sound in Windows on some firmware
- Added pointer polling period tuning in the builtin AppleEvent implementation
- Added pointer device list tuning in the builtin AppleEvent implementation
- Added VREF handling to support UEFI sound on more Apple hardware
- Updated audio output channel detection to support UEFI sound on more Apple hardware
- Added manual GPIO config (use `--gpio-setup` AudioDxe driver argument for UEFI sound on Apple hardware)
- Switched UEFI audio levels to decibel gain to allow accurate matching of saved macOS volume levels
- Separated settings for minimum audio assist volume and minimum audible volume

#### [RestrictEvents 1.0.6](https://github.com/acidanthera/RestrictEvents/releases)

- Fixed memory view restrictions for `MacBookAir` and `MacBookPro10` not being correctly disabled
- Disabled `The disk you inserted was not readable by this computer` message popup
- Added Content Caching support for systems exposing `kern.hv_vmm_present` via `-revasset`
- Lowered OS requirement for `-revsbvmm` to macOS 11.3

#### [FeatureUnlock 1.0.5](https://github.com/acidanthera/FeatureUnlock/releases)

- Fixed AirPlay to Mac UDM patching regression

#### [AppleALC 1.6.8](https://github.com/acidanthera/AppleALC/releases)

- Replace patch for 500 Series(0x43C8) PCH HD Audio
- Added ALC269-VC for Samsung NP540U4E #752 by @majonez
- Added ALC1220A layout 8 for MSI z490i unify by @viorel78
- Added front panel connections in ALC892 layout 23 for ASRock B365 Pro4 by @TheHackGuy
- Removed redundant 8086:A171 controller patches by @al3xtjames
- Fixed wakeconfigdata for ALC236 LayoutID 36 by @volcbs
- Fixed Combo jack for CX8200 layout-id 80 by @vivzero
- Added ALC897 layout 11 for GIGABYTE Z590M

#### [WhateverGreen 1.5.6](https://github.com/acidanthera/WhateverGreen/releases)

- Fixed deprecated code in unfairgva

#### [Lilu 1.5.9](https://github.com/acidanthera/Lilu/releases)

- Fixed memory corruption when mixing cs_validate_range/page mid/long routes (thx @Goshin)
- Enforced all routes to be slotted after one slotted route
- Refactored all internal routes to use new RouteRequest API
- Deprecated routeFunction APIs as they are dangerous to use for multiple routes

#### [gfxutil 1.82b](https://github.com/acidanthera/gfxutil/releases)

- Fixed handling of Mac EFI malformed paths, thx @joevt
- Added Apple Silicon support

---

## File: _posts/2022-02-10-acidanthera-february.md

---
layout: post
title: "Acidanthera Updates: February 2022"
date: 2022-02-10 12:00:00 -0500
categories: Hackintosh updates
---

* [A message from vit9696](#a-message-from-vit9696)
* Changelogs (coming soon!)

*Note: This post was originally supposed to go up on 2022-02-07. We are sorry for the delay.*

# A message from vit9696

Good evening,

We have just released one more stability upgrade:

* Thanks to @mikebeaton, OpenCore will finally work correctly with SIP values, OpenLinuxBoot will no longer crash on partially valid setups, and AudioDxe will work as normal with older macOS versions.
* @Goldfish64 updated RestrictEvents to work with older macOS versions and also fixed its configuration abilities, making them more logical.
* With the help of @Sergey-Galan and others, more codec controller patches were updated to the new format, resolving some HDMI issues in AppleALC.
* @mikebeaton also updated alc-verb to more closely resemble hda-verb behaviour in Linux to increase the interoperability.
* AirportBrcmFixup was updated by @lvs1974 to be more stable on macOS 12.1+.
* @Ph-FrX fixed several backlight issues in WhateverGreen on Ice Lake platforms.

While that makes it for today, we are currently working on improving bootloader security and reliability.

Stay safe,

— Vit

# Changelogs

#### [OpenCore 0.7.8](https://github.com/acidanthera/OpenCorePkg/releases)

#### [Lilu 1.6.0](https://github.com/acidanthera/Lilu/releases)

#### [FeatureUnlock 1.0.6](https://github.com/acidanthera/FeatureUnlock/releases)

#### [WhateverGreen 1.5.7](https://github.com/acidanthera/WhateverGreen/releases)

#### [gfxutil 1.83b](https://github.com/acidanthera/gfxutil/releases)

#### [RestrictEvents 1.0.7](https://github.com/acidanthera/RestrictEvents/releases)

#### [AirportBrcmFixup 2.1.4](https://github.com/acidanthera/AirportBrcmFixup/releases)

#### [CpuTscSync 1.0.6](https://github.com/acidanthera/CpuTscSync/releases)

#### [AppleALC 1.6.9](https://github.com/acidanthera/AppleALC/releases)

---

## File: _posts/2022-08-02-acidanthera-dortania-august.md

---
layout: post
title: "Acidanthera and Dortania Updates: August 2022"
date: 2022-08-02 03:00:00 -0400
categories: Hackintosh updates
---

* [Acidanthera Updates: A message from PMheart](#acidanthera-updates-a-message-from-pmheart)
* [Dortania Updates: A message from dhinakg](#dortania-updates-a-message-from-dhinakg)
* [Changelogs](#changelogs)

# Acidanthera Updates: A message from PMheart

Howdy! We wish you enjoyed this summer as life is getting back to normal. It has been a while since the last message from @vit9696 in [February 2022](https://dortania.github.io/hackintosh/updates/2022/02/10/acidanthera-february.html), but the monthly greeting is back now.

In addition to the fix for one of the most important OpenCore quirks, `AvoidRuntimeDefrag`, in our July 2022 release, the new updates to OpenCore (again by @mhaeuser) make it possible to load the Kernel Collection on macOS Ventura beta 3 and above. Thanks to @savvamitrofanov's hard work, we have integrated the ext4 file system driver into OpenCore. In addition, @Goldfish64 fixed `OSBundleLibraries_x86_64` handling and a crash when using kext blocking for cacheless injection, and another issue with FAT binary architecture selection. Furthermore, he added macOS 10.4 and 10.5 support to the `AllowRelocationBlock` Booter quirk, and CPU cache info injection for macOS 10.4 to the `ProvideCurrentCpuInfo` quirk. @mikebeaton brought another significant code refactoring for NVRAM operations by introducing `OpenVariableRuntimeDxe`, so now it is possible to specify drivers which need to be loaded before NVRAM initialisation. What's more, he made various improvements to AudioDxe, including the new `--force-device` and `--codec-setup-delay` options, the removal of default codec connection delay, as well as the change of unit (from microseconds to milliseconds) in `Audio` -> `SetupDelay`. Brought by the same author, @mikebeaton contributed a new option named `--show-csr` to the ToggleSipEntry tool for toggling SIP boot menu, and fixed a rare assertion caused by label animation initialisation in OpenCanopy. Last but not least, RsaTool is no longer dependant on macOS system SSL thanks to @dhinakg.

When it comes to Lilu, @mhaeuser addressed the kernel panic on macOS Ventura beta 3 and above by fixing the segment name for the new Kernel Collection. Although a small change, without his contribution, all Lilu plugins would have stopped working. As well, @Goldfish64 disabled EFI64 runtime APIs when `-legacy` is used on 32-bit kernels.

Although there are not many updates to our AppleALC v1.7.4 release, @wern-apfel corrected the pinconfig data for ALC294 with `layout-id` 15, and @Ardhi9696 contributed new audio data with `layout-id` 25 for ALC1220 on MSI GE73 Raider RGB 8RF.

While Apple removed support for Skylake in macOS 13, it is easy to spoof it as Kaby Lake. Building off the preliminary support in WhateverGreen v1.6.0, v1.6.1 addressed HEVC playback problems thanks to @abenraj and @dhinakg. However, further investigation is required for a proper solution to the intermittent flickering, which we wish to include in the next release.

Enjoy the last spot of summer,

— PMheart

# Dortania Updates: A message from dhinakg

Hello everyone! It's been a while since I've posted one of these, and it's about time that I posted.

I'm happy to share that our [build repo](https://dortania.github.io/builds/) is now running on an M1 machine, drastically improving build times - 30-minute builds of OC are now 7 minutes! More plugins have also been added, and development on the build repo will continue in the future.

Let's jump to the crux of the matter though - the guides.

Many of you have probably been wondering why the install guide has remained on 0.7.8 for a while when we're up to 0.8.3 already. Albeit the changes between 0.7.8 and the latest version haven't been major, it has been a while since the guides have been getting updates. How come?

Well, the dortania team has not had as much time or as many active people as it once had. Mykola (khronokernel) has moved on to legacy Macs. And I no longer have the abundance of time I had while under a lockdown order.

Avery (@1Revenger1) and I, however, have been actively working to change this. First off, PMheart is helping out with maintaining the guides, recently reviewing a PR to the power management section of the post-install guide. In addition, we've finally been able to find some time to go through PRs and issues, and thanks to the help of several external contributors - @hkusdaryanto, @dreamwhite, @YuiiiPTChan, @Krazy-Killa, @thegermanguyben, and @extremegrief1 - we've been able to update the install guide to 0.8.3. The post-install guide does need updates for 0.8.3 too, but these are minor updates that will be completed in the near future. There are still many issues and updates that all of the guides need though.

This does raise the question - haven't the updates to OC been minor? Why has it been so hard to keep the install guide up to date?

Well, the answer lies in how the install guide is organized. Currently, it's organized by CPU generation, and all aspects of configuring your config.plist for that generation are covered in one page. However, this design leads to a humongous amount of copy and paste - there are 26 config pages as of current, and a lot of the core content is shared among the pages, but with different variations. This makes it incredibly difficult to change all the pages and ensure nothing is missed, and it also makes any PRs fairly difficult to review.

To combat this, we've come up with a new idea of organizing the guide: instead of by generation, by config.plist section. Each section of the config (ie. ACPI, Booter, DeviceProperties, Kernel) would be its own page, and shared configuration for several generations would be grouped on each page. This would significantly reduce the amount of repeated content and allow updates to the guide to be made much more easily. To better demonstrate, [here's a demo site](https://dortania.github.io/other/install-guide-reorganized-sample).

Alongside this, we'd also like to combine the current WiFi Buyers Guide, GPU Buyers Guide, and Anti-Hackintosh Buyers Guide into one guide to have compatibility info in one central place. This new guide would be called the Hackintosh Compatibility Guide.

We know that the best way to get feedback is to ask the users, so we're asking for public comment on these proposed changes. Please comment down in the comments below.

Thank you all,

— Dhinak (dhinakg)

# Changelogs

#### [OpenCorePkg 0.8.3](https://github.com/acidanthera/OpenCorePkg/releases)

* Added ext4 file system driver
* Added support for macOS 13 DP3 Kernel Collection
* Added `--force-device` option to AudioDxe, allowing UEFI audio on HDA contollers which misreport themselves as non-HDA audio devices
* Provided optional unsafe fast file logging (suitable only for firmware with a fully compliant FAT32 driver)
* Fixed incorrect OSBundleLibraries_x86_64 handling during cacheless injection
* Changed RsaTool not to link against system ssl on macOS
* Fixed crash during cacheless injection when kext blocking is enabled
* Removed default codec connection delay from AudioDxe
* Added optional `--codec-setup-delay` argument to AudioDxe
* Changed units of `Audio` -> `SetupDelay` from microseconds to milliseconds (divide previous value by 1000 if using this setting)
* Fixed incorrect FAT binary slice being selected under macOS 10.4.11 when performing a cacheless boot
* Fixed rare assertion caused by label animation initialisation in OpenCanopy
* Added `--show-csr` option for `Toggle SIP` boot menu entry
* Added macOS 10.4 and 10.5 support to `AllowRelocationBlock` Booter quirk
* Added CPU cache info injection for macOS 10.4 to `ProvideCurrentCpuInfo` quirk
* Added emulated NVRAM driver for use separately from OpenDuet
* Added support for NVRAM reset and set default boot entry when using emulated NVRAM
* Upgraded emulated NVRAM logout script to allow unsupervised installation of recent macOS OTA updates
* Added `Driver` -> `LoadEarly` for drivers which need to be loaded before NVRAM init

#### [Lilu 1.6.2](https://github.com/acidanthera/Lilu/releases)

* Fixed KC segment name, which also fixed kernel panic on macOS 13 b3
* Disable EFI64 runtime APIs when `-legacy` is used on 32-bit kernels

#### [AppleALC 1.7.4](https://github.com/acidanthera/AppleALC/releases)

* ALC294 layout-id 15 corrected incorrect pinconfig by wern-apfel
* Added ALC1220 layout-id 25 for MSI GE73 Raider RGB 8RF by Ardhi9696

#### [WhateverGreen 1.6.1](https://github.com/acidanthera/WhateverGreen/releases)

* Improved Skylake graphics spoofing support by removing profile 2 from VTSupportedProfileArray on macOS 13+, thanks @abenraj and @dhinakg

---

## File: _posts/2022-09-06-acidanthera-september.md

---
layout: post
title: "Acidanthera and Dortania Updates: September 2022"
date: 2022-09-06 00:30:00 -0400
categories: Hackintosh updates
---

* [Acidanthera Updates: A message from PMheart](#acidanthera-updates-a-message-from-pmheart)
* [Dortania Updates: A message from dhinakg](#dortania-updates-a-message-from-dhinakg)
* [Changelogs](#changelogs)

# Acidanthera Updates: A message from PMheart

With the heatwave moving away in Europe, we are finally approaching the fall. And it's also about time to embrace the new OS updates coming this month and/or in October.

Compared to OpenCore 0.8.3, the changes introduced in 0.8.4 are fairly minor. Following @mikebeaton's groundbreaking work on NVRAM, our mission is finalised by syncing the checks for `LoadEarly` in ocvalidate and the addition of the new option `FullNvramAccess` allowing direct access to NVRAM. When it comes to Hyper-V support, @Goldfish64 brought the new `SSDT-HV-DEV.dsl` for better compatibility with older macOS versions on Windows 10 and newer; in addition, he fixed a `SysReport` crash on Pentium 4 systems, and another crash on an`ExitBootServices` call while using DEBUG builds and file logging. For developers, @mhaeuser made a new ProcessKernel utility for testing kext injection by reading users' config, making tests easier; in addition, @mikebeaton fixed 32-bit userspace build support on macOS. With basic set of NetworkPkg drivers with HTTP boot support included in OpenCore, we can start working on a new EFI tool which downloads and boots macOS Recovery, replacing [macrecovery](https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/macrecovery). Last but not least, we updated the [zlib library](https://zlib.net) to 1.2.12, and @savvamitrofanov made characters invisible on password input in ocpasswordgen. We would also like to thank @dreamwhite for his constant and solid work to defeat all warnings in our Python scripts.

@Goldfish64 brought a bunch of changes to MacHyperVSupport, providing a more seamless experience for Hyper-V users. These include PCI passthrough support, a fix for IOPCIBridge crash on macOS 12 and newer, and a new `hvshutdown` daemon for Hyper-V shutdown requests. As well, macOS 10.4 and 10.5 support has been added, together with the standardisation of boot arguments.

For VoodooPS2, in spite of small changes, we fixed variable shadowing to make the code more consistent.

We would also like to thank @hgsshaanxi and @Feartech for their contributions to our AppleALC codec database for ALC222, ALC235, and ALC255 (3234). Also, without @vandroiy2013's consistent maintainance, the AppleALC project would not even have been alive.

Thanks to the developers of dmidecode, our fork has been updated to upstream a1a2258f with Apple Silicon support by @vit9696.

It is a pity that no further progress has been made for Skylake users spoofing as Kaby Lake. We are looking forward to contributions reviving the support for Skylake.

Enjoy our updates and macOS Ventura,

— PMheart

# Dortania Updates: A message from dhinakg

Hi everyone! Nothing much for this month. We're slowly progressing on merging in PRs and pushing some updates to the guides before I start working on reorganizing the install guide as mentioned in the [previous post](2022-08-02-acidanthera-dortania-august.md).

Enjoy the last vestiges of summer,

— Dhinak

# Changelogs

#### [OpenCorePkg 0.8.4](https://github.com/acidanthera/OpenCorePkg/releases)

* Added checks for `Driver` -> `LoadEarly` in ocvalidate
* Added `FullNvramAccess` option for tools which require direct access to NVRAM
* Replaced `SSDT-HV-CPU.dsl` with `SSDT-HV-DEV.dsl` for compatiblity with older macOS versions on Windows 10 and newer
* Updated builtin zlib library to 1.2.12
* Changed ocpasswordgen not to print characters on password input
* Added ProcessKernel utility for testing kext injection based on configs
* Fixed crash while using `SysReport` on Pentium 4 systems
* Fixed crash after ExitBootServices() is called while using DEBUG builds and file logging
* Fixed 32-bit userspace build support on macOS (use High Sierra 10.13 and below)
* Added basic set of NetworkPkg drivers with HTTP boot support

#### [MacHyperVSupport 0.9.1](https://github.com/acidanthera/MacHyperVSupport/releases)

* Added initial PCI passthrough support
* Fix crash related to IOPCIBridge on 12.0 and newer
* Added support for macOS 10.4 and 10.5
* Added hvshutdown daemon to support shutdowns from Hyper-V
* Standardized boot arguments

#### [VoodooPS2 2.3.0](https://github.com/acidanthera/VoodooPS2/releases)

* Fixed variable shadowing

#### [AppleALC 1.7.5](https://github.com/acidanthera/AppleALC/releases)

* Added ALC222 layout-id 12 for Lenovo Tianyi 510s-07IMB Desktop PC by hgsshaanxi
* Added ALC235 layout-id 36 for Lenovo Tianyi 510 pro-18ICB Desktop PC by hgsshaanxi
* Added ALC255(3234) layout-id 22 for Asus N752VX by Feartech by feartech

#### [dmidecode 3.4a](https://github.com/acidanthera/dmidecode/releases)

* Synced with dmidecode a1a2258f
* Added Apple Silicon support

---

## File: _posts/2022-10-04-acidanthera-october.md

---
layout: post
title: "Acidanthera Updates: October 2022"
date: 2022-10-04 10:15:00 -0400
categories: Hackintosh updates
---

* [Acidanthera Updates: A message from PMheart](#acidanthera-updates-a-message-from-pmheart)
* [Changelogs](#changelogs)

# Acidanthera Updates: A message from PMheart

Having experienced a chilling September, October comes after a nice weekend. Following iOS 16, macOS Ventura is coming soon.

As usual, there are no critical updates to OpenCore 0.8.5, as recent beta versions of macOS 13 tend to be stable. To begin with, @Andrey1970AppleLife updated builtin firmware versions which might be useful for the official macOS update. Then, several more updates regarding Hyper-V, including the correction for CPU objects that are exclusively available in Windows Server 2022, and extra hot-adding/removing device path expansion support, have been carried out by @Goldfish64. As well, we improved verbose logging for kernel patching, which can be useful for developers to filter patcher status. That's it.

@Goldfish64 pushed a bunch of updates to MacHyperVSupport 0.9.2: The issue with control key pressing has been fixed, together with DMA allocation problems and another one with buffer overrun in network packet sending; VMBus implemenations get improved; intermittent hangs storage and network drivers are addressed. Finally, he added support for storage disk hot-adding/removing and that for guest restart via Restart-VM; time synchronization support for the guest machine has landed as well.

Thanks to the hard work of @dhinakg and @khronokernel, those CPU models without AVX2.0 support can boot normally by installing the Apple Silicon Cryptex (OS.dmg) with the help of the new Lilu plugin - CryptexFixup. Still, this breaks delta updates ([ref](https://github.com/acidanthera/bugtracker/issues/2080)), and we are looking forward to patches and contributions to this.

For VoodooPS2, we would like to give credits to @diepeterpan who fixed disabled keyboard after reboot. Users with the common problems can now enjoy VoodooPS2 2.3.1. Also, @lalithkota improved compatibility with BCM43142A0 on macOS Big Sur in BrcmPatchRAM 2.6.4.

Enjoy,

— PMheart

# Changelogs

#### [OpenCorePkg 0.8.5](https://github.com/acidanthera/OpenCorePkg/releases)

* Updated builtin firmware versions for SMBIOS and the rest
* Moved CPU objects that exist only in Windows Server 2022 into SSDT-HV-DEV-WS2022.dsl
* Updated Hyper-V device path expansion to support hot add/remove of disks
* Improved verbose logging during kernel patching

#### [BrcmPatchRAM 2.6.4](https://github.com/acidanthera/BrcmPatchRAM/releases)

* Improve compatibility with BCM43142A0 on macOS Big Sur (thx lalithkota)

#### [VoodooPS2 2.3.1](https://github.com/acidanthera/VoodooPS2/releases)

* Fixed disabled keyboard after reboot

#### [CryptexFixup 1.0.0](https://github.com/acidanthera/CryptexFixup/releases)

* Initial release

#### [MacHyperVSupport 0.9.2](https://github.com/acidanthera/MacHyperVSupport/releases)

* Fixed crash when control key is pressed under macOS 10.4
* Fixed DMA allocations under macOS 10.4 and 10.5
* Refactored and cleaned up VMBus core logic and integration services
* Fixed crash caused by a buffer overrun in network packet sending
* Fixed intermittent hangs in storage and network drivers
* Added support for storage disk addition and removal while VM is running
* Added support for guest restart via Restart-VM
* Renamed hvshutdown daemon to hvutil to support all userspace-side functions
* Added guest time synchronization support
* Added support for "Type clipboard text" function

---

## File: _posts/2022-11-07-acidanthera-november.md

---
layout: post
title: "Acidanthera Updates: November 2022"
date: 2022-11-07 21:00:00 +0100
categories: Hackintosh updates
---

* [Acidanthera Updates: A message from PMheart](#acidanthera-updates-a-message-from-pmheart)
* [Changelogs](#changelogs)

# Acidanthera Updates: A message from PMheart

Embracing the final release of macOS Ventura and following Halloween, we entered November 2022.

Overall speaking, OpenCore 0.8.6 brings several groundbreaking changes. To begin with, @mikebeaton updated the LogoutHook script for the compatibility with earlier versions of macOS and brought the capability of automatic installation as launch daemon/logout hook on Yosemite and above. As well, @mikebeaton fixed a recursive loop crash and early logging failure, and resolved wake-from-sleep failure on EFI 1.1 systems. After months of hard work, @mhaeuser has brought the most impressive feature in this release, dwell-clicking, to our bootloader. As always, @Andrey1970AppleLife ensures that firmware/SMBIOS info is up-to-date.

After nearly one year of hibernation, MaciASL got a minor improvement where line number breaking during scroll has been fixed, thanks to @SkyrilHD.

For AppleALC 1.7.6, we would like to thank @anderson-suga, @andreszerocross, @mishurov, and @RockJesus for their contributions to our audio configuration database.

In CryptexFixup 1.0.1, @khronokernel added support for in-OS macOS installation via Install macOS.app on Big Sur and newer. As well, he refactored model patch set detection, and replaced the previously unused boot argument `-disable_uni_control` with `-disable_sidecar_mac` in FeatureUnlock 1.1.0. Last but not least, in RestrictEvents 1.0.9, the new `revblock` userspace processes blocking is added, together with `displaypolicyd` blocking for genuine `MacBookPro9,1/10,1`, `mediaanalysisd` for Metal 1 GPUs on Ventura, and conditional blocking for PCIe/memory notifications on `MacPro7,1` SMBIOS.

Enjoy,

— PMheart

# Changelogs

#### [OpenCorePkg 0.8.6](https://github.com/acidanthera/OpenCorePkg/releases)

* Updated NVRAM save script for compatibilty with earlier macOS (Snow Leopard+ tested)
* Updated NVRAM save script to automatically install as launch daemon (Yosemite+) or logout hook (older macOS)
* Fixed maximum click duration and double click speed for non-standard poll frequencies
* Added support for pointer dwell-clicking
* Fixed recursive loop crash at first non-early log line on some systems
* Fixed early log preservation when using unsafe fast file logging
* Updated builtin firmware versions for SMBIOS and the rest
* Resolved wake-from-sleep failure on EFI 1.1 systems (including earlier Macs) with standalone emulated NVRAM driver
* Updated macrecovery commands with macOS 12 and 13, thx @Core-i99
* Updates SSDT-BRG0 with macOS-specific STA to avoid compatibility issues on Windows, thx @Lorys89
* Fixed memory issues in OpenLinuxBoot causing crashes on 32-bit UEFI firmware

#### [MaciASL 1.6.3](https://github.com/acidanthera/MaciASL/releases)

* Fix line number breaking during scroll, thanks to @SkyrilHD

#### [AppleALC 1.7.6](https://github.com/acidanthera/AppleALC/releases)

* Added ALC298 layout-id 33 for surface laptop 1gen by Rockjesus.cn
* Added ALC255 layout-id 23for Acer Aspire A515-54G by anderson-suga
* Added ALC897 combo jack mic layout-id 22 for CHUWI CoreBook X by mishurov
* Added ALC897 layout-id 21 for OPS Computer by Andres ZeroCross

#### [CryptexFixup 1.0.1](https://github.com/acidanthera/CryptexFixup/releases)

* Allow in-OS Install macOS.app usage on Big Sur and newer

#### [FeatureUnlock 1.1.0](https://github.com/acidanthera/FeatureUnlock/releases)

* Refactored model patch set detection
  * Implemented proper VMM detection for AirPlay to Mac on Ventura
  * Avoids unnessary patching on supported models (ex. NightShift on 2012+)
* Removed unused `-disable_uni_control` boot argument
  * Was non-functional previously, use `-disable_sidecar_mac` instead

#### [RestrictEvents 1.0.9](https://github.com/acidanthera/RestrictEvents/releases)

* Added `revblock` for user configuration of blocking processes
* Added additional process blocking:
  * `gmux` * block displaypolicyd on Big Sur+ (for genuine MacBookPro9,1/10,1)
  * `media` * block mediaanalysisd on Ventura+ (for Metal 1 GPUs)
  * `pci` * block PCIe & memory notifications (for MacPro7,1 SMBIOS)
    * Previous unconditional
  * `auto` * same as `pci`, set by default