Skip to content

Commit

Permalink
build.py: Add early MacPro6,1 support
Browse files Browse the repository at this point in the history
  • Loading branch information
khronokernel committed Oct 27, 2022
1 parent 406072c commit 72464f3
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 1 deletion.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
- Ensures old, incompatible kexts are not linked against
- Old kexts are relocated to `/Library/Relocated Extensions`
- Add OpenCore Picker timeout selection
- Partially resolve MacPro6,1 support
- Allows for install and usage of 2013 Mac Pros on Ventura
- Currently CPU Power Management is not supported

## 0.5.0
- Ventura Specific Updates:
Expand Down
2 changes: 1 addition & 1 deletion gui/gui_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -1588,7 +1588,7 @@ def download_macos_click(self, app_dict):
# - VBIOS Boot Issue (MacPro6,1)
# - Non-Metal GPUs
model = self.constants.custom_model or self.constants.computer.real_model
if model in model_array.LegacyGPU or model in ["MacPro3,1", "MacPro4,1", "MacPro5,1", "MacPro6,1"]:
if model in model_array.LegacyGPU or model in ["MacPro3,1", "MacPro4,1", "MacPro5,1"]:
try:
app_major = app_dict['Version'].split(".")[0]
if float(app_major) > self.constants.os_support:
Expand Down
11 changes: 11 additions & 0 deletions resources/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -882,6 +882,17 @@ def amd_patch(self, backlight_path):
print("- Enabling AHCI SSD patch")
self.enable_kext("MonteAHCIPort.kext", self.constants.monterey_ahci_version, self.constants.monterey_ahci_path)

# Force VMM as a temporary solution to getting the MacPro6,1 booting in Ventura
# With macOS Ventura, Apple removed AppleIntelCPUPowerManagement.kext and assumed XCPM support across all Macs
# This change resulted in broken OS booting as the machine had no power management support
# Currently the AICPUPM fix is not fully functional, thus forcing VMM is a temporary solution
# Waiting for XNU source to be released to fix this properly
if self.model == "MacPro6,1":
print("- Enabling VMM patch")
self.config["Kernel"]["Emulate"]["Cpuid1Data"] = binascii.unhexlify("00000000000000000000008000000000")
self.config["Kernel"]["Emulate"]["Cpuid1Mask"] = binascii.unhexlify("00000000000000000000008000000000")
self.config["Kernel"]["Emulate"]["MinKernel"] = "22.0.0"

# Check if model has 5K display
# Apple has 2 modes for display handling on 5K iMacs and iMac Pro
# If at any point in the boot chain an "unsupported" entry is loaded, the firmware will tell the
Expand Down

0 comments on commit 72464f3

Please sign in to comment.