diff --git a/CHANGELOG.md b/CHANGELOG.md index 647dd5e98..54358c457 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,19 @@ - Add NVMe firmware support for older models (ie. MacPro3,1) - OpenCore must be stored on a bootable volume (ie. USB or SATA) - Fix Thunderbolt Ethernet support on MacBookAir4,x +- Fix XHCI hangs on pre-2012 Machines + - XHCI boot support dropped due to instability - Add beta macOS Monterey Support + - Fix iMac13,x sleep support + - Add support for following models: + - iMac14,4 + - iMac15,1 + - MacBook8,1 + - MacBookAir6,1 + - MacBookAir6,2 + - MacBookPro11,1 + - MacBookPro11,2 + - MacBookPro11,3 ## 0.1.6 - Add XHCI UEFI Driver for 3rd Party USB 3.0 Controllers diff --git a/Resources/Build.py b/Resources/Build.py index 0053291b5..b3437caa6 100644 --- a/Resources/Build.py +++ b/Resources/Build.py @@ -381,6 +381,10 @@ class BuildOpenCore: else: self.config["DeviceProperties"]["Add"][self.gfx0_path] = {"agdpmod": "vit9696"} + if self.model in ["iMac13,1", "iMac13,2", "iMac13,3"]: + print("- Fixing sleep support in macOS 12") + self.config["DeviceProperties"]["Add"]["PciRoot(0x0)/Pci(0x2,0x0)"] = {"disable-gpu-min": "21.0.0"} + # HiDPI OpenCanopy and FileVault if self.model in ModelArray.HiDPIpicker: print("- Setting HiDPI picker") @@ -532,19 +536,19 @@ class BuildOpenCore: self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " shikigva=128 unfairgva=1 -wegtree" # Add XhciDxe if firmware doesn't have XHCI controller support and XCHI controller detected - if self.model not in ModelArray.XhciSupport and not self.constants.custom_model: - devices = plistlib.loads(subprocess.run("ioreg -c IOPCIDevice -r -d2 -a".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode()) - try: - devices = [i for i in devices if i["class-code"] == binascii.unhexlify(self.constants.classcode_xhci)] - vendor_id = Utilities.hexswap(binascii.hexlify(devices[0]["vendor-id"]).decode()[:4]) - device_id = Utilities.hexswap(binascii.hexlify(devices[0]["device-id"]).decode()[:4]) - print("- Found XHCI Controller, adding Boot Support") - shutil.copy(self.constants.xhci_driver_path, self.constants.drivers_path) - self.config["UEFI"]["Drivers"] += ["XhciDxe.efi"] - except ValueError: - print("- No XHCI Controller Found (V)") - except IndexError: - print("- No XHCI Controller Found (I)") + #if self.model not in ModelArray.XhciSupport and not self.constants.custom_model: + # devices = plistlib.loads(subprocess.run("ioreg -c IOPCIDevice -r -d2 -a".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode()) + # try: + # devices = [i for i in devices if i["class-code"] == binascii.unhexlify(self.constants.classcode_xhci)] + # vendor_id = Utilities.hexswap(binascii.hexlify(devices[0]["vendor-id"]).decode()[:4]) + # device_id = Utilities.hexswap(binascii.hexlify(devices[0]["device-id"]).decode()[:4]) + # print("- Found XHCI Controller, adding Boot Support") + # shutil.copy(self.constants.xhci_driver_path, self.constants.drivers_path) + # self.config["UEFI"]["Drivers"] += ["XhciDxe.efi"] + # except ValueError: + # print("- No XHCI Controller Found (V)") + # except IndexError: + # print("- No XHCI Controller Found (I)") if self.constants.nvme_boot is True: print("- Enabling NVMe boot support")