mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-24 12:00:15 +10:00
Fix XHCI hang
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/269
This commit is contained in:
12
CHANGELOG.md
12
CHANGELOG.md
@@ -5,7 +5,19 @@
|
|||||||
- Add NVMe firmware support for older models (ie. MacPro3,1)
|
- Add NVMe firmware support for older models (ie. MacPro3,1)
|
||||||
- OpenCore must be stored on a bootable volume (ie. USB or SATA)
|
- OpenCore must be stored on a bootable volume (ie. USB or SATA)
|
||||||
- Fix Thunderbolt Ethernet support on MacBookAir4,x
|
- 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
|
- 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
|
## 0.1.6
|
||||||
- Add XHCI UEFI Driver for 3rd Party USB 3.0 Controllers
|
- Add XHCI UEFI Driver for 3rd Party USB 3.0 Controllers
|
||||||
|
|||||||
@@ -381,6 +381,10 @@ class BuildOpenCore:
|
|||||||
else:
|
else:
|
||||||
self.config["DeviceProperties"]["Add"][self.gfx0_path] = {"agdpmod": "vit9696"}
|
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
|
# HiDPI OpenCanopy and FileVault
|
||||||
if self.model in ModelArray.HiDPIpicker:
|
if self.model in ModelArray.HiDPIpicker:
|
||||||
print("- Setting HiDPI picker")
|
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"
|
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
|
# 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:
|
#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())
|
# devices = plistlib.loads(subprocess.run("ioreg -c IOPCIDevice -r -d2 -a".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode())
|
||||||
try:
|
# try:
|
||||||
devices = [i for i in devices if i["class-code"] == binascii.unhexlify(self.constants.classcode_xhci)]
|
# 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])
|
# vendor_id = Utilities.hexswap(binascii.hexlify(devices[0]["vendor-id"]).decode()[:4])
|
||||||
device_id = Utilities.hexswap(binascii.hexlify(devices[0]["device-id"]).decode()[:4])
|
# device_id = Utilities.hexswap(binascii.hexlify(devices[0]["device-id"]).decode()[:4])
|
||||||
print("- Found XHCI Controller, adding Boot Support")
|
# print("- Found XHCI Controller, adding Boot Support")
|
||||||
shutil.copy(self.constants.xhci_driver_path, self.constants.drivers_path)
|
# shutil.copy(self.constants.xhci_driver_path, self.constants.drivers_path)
|
||||||
self.config["UEFI"]["Drivers"] += ["XhciDxe.efi"]
|
# self.config["UEFI"]["Drivers"] += ["XhciDxe.efi"]
|
||||||
except ValueError:
|
# except ValueError:
|
||||||
print("- No XHCI Controller Found (V)")
|
# print("- No XHCI Controller Found (V)")
|
||||||
except IndexError:
|
# except IndexError:
|
||||||
print("- No XHCI Controller Found (I)")
|
# print("- No XHCI Controller Found (I)")
|
||||||
|
|
||||||
if self.constants.nvme_boot is True:
|
if self.constants.nvme_boot is True:
|
||||||
print("- Enabling NVMe boot support")
|
print("- Enabling NVMe boot support")
|
||||||
|
|||||||
Reference in New Issue
Block a user