Add preliminary Ventura graphics support

This commit is contained in:
Mykola Grymalyuk
2022-08-22 14:18:43 -06:00
parent 27c24e6d47
commit 4b5d35f5ff
7 changed files with 100 additions and 41 deletions

View File

@@ -1,6 +1,6 @@
# OpenCore Legacy Patcher changelog
## 0.4.11
## 0.5.0
- Enable AppleMCEReporterDisabler whenever spoofing affected SMBIOS
- ie. iMacPro1,1, MacPro6,1 and MacPro7,1
- Verify host's disk space before downloading macOS Installers
@@ -24,12 +24,12 @@
- Resolve Ethernet support on MacPro3,1-5,1
- Fix VMM patch set
- Allow dyld shared cache swapping on pre-Haswell
- Add USB1.1 injection for pre-Ivy bridge units
- Fix MouSSE/SSE4,2 emulation in macOS 13.0 Beta 3 (22A5295h)
- Increment Binaries:
- OpenCorePkg 0.8.3 release
- Lilu 1.6.2 release
- Lilu 1.6.2 - release
- FeatureUnlock 1.0.9 release
- PatcherSupportPkg 0.6.0 - release
## 0.4.10
- Resolve Nvidia Kepler support in macOS 12.5 Beta 3 and newer

View File

@@ -168,7 +168,10 @@ ModernGPU = [
"iMac16,1", # Intel 6000
"iMac16,2", # Intel 6000
"iMac17,1", # Intel Skylake + GCN1
"MacPro6,1", # GCN 1
"MacPro3,1", # Lacks AVX2.0
"MacPro4,1", # Lacks AVX2.0
"MacPro5,1", # Lacks AVX2.0
"MacPro6,1", # GCN 1
]
LegacyGPU = [

View File

@@ -185,6 +185,33 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support):
"OpenCL.framework": "11.6",
# Ventura breaks with this patch
**({ "WebKit.framework": "11.6" } if os_major == os_data.os_data.monterey else {}),
# Ventura Metal patches
**({ "Metal.framework": "12.5" } if os_major >= os_data.os_data.ventura else {}),
**({ "MetalPerformanceShaders.framework": "12.5" } if os_major >= os_data.os_data.ventura else {}),
},
"/System/Library/Sandbox/Profiles": {
**({ "com.apple.mtlcompilerservice.sb": "12.5" } if os_major >= os_data.os_data.ventura else {}),
}
},
},
"Metal 1 Common": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.ventura,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/PrivateFrameworks": {
"MTLCompiler.framework": "12.5",
"GPUCompiler.framework": "12.5",
},
},
},
@@ -477,14 +504,30 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support):
"OS Minor": 99
},
},
"Install Reference": {
"Install": {
"/System/Library/Extensions": {
"AMD7000Controller.kext": "12.4",
"AMD8000Controller.kext": "12.4",
"AMD9000Controller.kext": "12.4",
"AMDRadeonX4000.kext": "12.4",
"AMD7000Controller.kext": "12.5",
"AMD8000Controller.kext": "12.5",
"AMD9000Controller.kext": "12.5",
"AMDRadeonX4000.kext": "12.5",
"AMDRadeonX4000HWServices.kext": "12.5",
"AMDFramebuffer.kext": "12.5",
"AMDSupport.kext": "12.5",
"AMDRadeonX4000GLDriver.bundle": "12.5",
"AMDMTLBronzeDriver.bundle": "12.5",
"AMDShared.bundle": "12.5",
},
},
"Remove": {
"/System/Library/Extensions": [
# Due to downgraded AMDSupport.kext
# In the future, we will have to downgrade the entire AMD stack
# to support non-AVX2.0 machines with Polaris or newer
"AMD9500Controller.kext",
"AMD10000Controller.kext",
],
},
},
"Intel Ironlake": {
"Display Name": "Graphics: Intel Ironlake",
@@ -570,14 +613,15 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support):
"OS Minor": 99
},
},
"Install Reference": {
"Install": {
"/System/Library/Extensions": {
"AppleIntelFramebufferAzul.kext": "12.4",
"AppleIntelHD5000Graphics.kext": "12.4",
"AppleIntelHD5000GraphicsGLDriver.bundle": "11.0 Beta 6",
"AppleIntelHD5000GraphicsMTLDriver.bundle": "11.0 Beta 6",
"AppleIntelHD5000GraphicsVADriver.bundle": "11.0 Beta 6",
"AppleIntelHSWVA.bundle": "11.0 Beta 6",
"AppleIntelFramebufferAzul.kext": "12.5",
"AppleIntelHD5000Graphics.kext": "12.5",
"AppleIntelHD5000GraphicsGLDriver.bundle": "12.5",
"AppleIntelHD5000GraphicsMTLDriver.bundle": "12.5",
"AppleIntelHD5000GraphicsVADriver.bundle": "12.5",
"AppleIntelHSWVA.bundle": "12.5",
"AppleIntelGraphicsShared.bundle": "12.5",
},
},
},
@@ -593,14 +637,15 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support):
"OS Minor": 99
},
},
"Install Reference": {
"Install": {
"/System/Library/Extensions": {
"AppleIntelBDWGraphics.kext": "12.4",
"AppleIntelBDWGraphicsFramebuffer.kext": "12.4",
"AppleIntelBDWGraphicsGLDriver.bundle": "11.0 Beta 6",
"AppleIntelBDWGraphicsMTLDriver.bundle": "11.0 Beta 6",
"AppleIntelBDWGraphicsVADriver.bundle": "11.0 Beta 6",
"AppleIntelBDWGraphicsVAME.bundle": "11.0 Beta 6",
"AppleIntelBDWGraphics.kext": "12.5",
"AppleIntelBDWGraphicsFramebuffer.kext": "12.5",
"AppleIntelBDWGraphicsGLDriver.bundle": "12.5",
"AppleIntelBDWGraphicsMTLDriver.bundle": "12.5",
"AppleIntelBDWGraphicsVADriver.bundle": "12.5",
"AppleIntelBDWGraphicsVAME.bundle": "12.5",
"AppleIntelGraphicsShared.bundle": "12.5",
},
},
},
@@ -616,14 +661,15 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support):
"OS Minor": 99
},
},
"Install Reference": {
"Install": {
"/System/Library/Extensions": {
"AppleIntelSKLGraphics.kext": "12.4",
"AppleIntelSKLGraphicsFramebuffer.kext": "12.4",
"AppleIntelSKLGraphicsGLDriver.bundle": "11.0 Beta 6",
"AppleIntelSKLGraphicsMTLDriver.bundle": "11.0 Beta 6",
"AppleIntelSKLGraphicsVADriver.bundle": "11.0 Beta 6",
"AppleIntelSKLGraphicsVAME.bundle": "11.0 Beta 6",
"AppleIntelSKLGraphics.kext": "12.5",
"AppleIntelSKLGraphicsFramebuffer.kext": "12.5",
"AppleIntelSKLGraphicsGLDriver.bundle": "12.5",
"AppleIntelSKLGraphicsMTLDriver.bundle": "12.5",
"AppleIntelSKLGraphicsVADriver.bundle": "12.5",
"AppleIntelSKLGraphicsVAME.bundle": "12.5",
"AppleIntelGraphicsShared.bundle": "12.5",
},
},
},
@@ -687,7 +733,7 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support):
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Major": os_data.os_data.monterey,
"OS Minor": 99
},
},

View File

@@ -12,8 +12,8 @@ from data import os_data
class Constants:
def __init__(self):
# Patcher Versioning
self.patcher_version = "0.4.11" # OpenCore-Legacy-Patcher
self.patcher_support_pkg_version = "0.5.2" # PatcherSupportPkg
self.patcher_version = "0.5.0" # OpenCore-Legacy-Patcher
self.patcher_support_pkg_version = "0.6.0" # PatcherSupportPkg
self.url_patcher_support_pkg = "https://github.com/dortania/PatcherSupportPkg/releases/download/"
self.nightly_url_patcher_support_pkg = "https://nightly.link/dortania/PatcherSupportPkg/workflows/build/master/"
self.discord_link = "https://discord.gg/rqdPgH8xSN"

View File

@@ -89,7 +89,7 @@ class generate_defaults:
# Assume 2009+ machines have Polaris on pre-builts (internal testing)
# Hardware Detection will never hit this
settings.serial_settings = "Minimal"
elif model in model_array.LegacyGPU:
elif model in model_array.LegacyGPU or model in model_array.ModernGPU:
settings.disable_cs_lv = True
if model in model_array.LegacyGPU:

View File

@@ -215,7 +215,7 @@ class PatchSysVolume:
print("\nPlease reboot the machine for patches to take effect")
if self.needs_kmutil_exemptions is True:
print("Note: Apple will require you to open System Preferences -> Security to allow the new kernel extensions to be loaded")
self.constants.root_patcher_succeded = True
self.constants.root_patcher_succeeded = True
if self.constants.gui_mode is False:
input("\nPress [ENTER] to continue")

View File

@@ -68,7 +68,10 @@ class detect_root_patch:
# 12.0 Beta 5: 21.0.0 - 21A5304g
# 12.0 Beta 6: 21.1.0 - 21A5506j
# 12.0 Beta 7: 21.1.0 - 21A5522h
if self.constants.detected_os == os_data.os_data.monterey and self.constants.detected_os_minor > 0:
if self.constants.detected_os >= os_data.os_data.ventura:
self.kepler_gpu = True
self.supports_metal = True
elif self.constants.detected_os == os_data.os_data.monterey and self.constants.detected_os_minor > 0:
if "21A5506j" not in self.constants.detected_os_build:
self.kepler_gpu = True
self.supports_metal = True
@@ -240,7 +243,7 @@ class detect_root_patch:
isinstance(self.constants.computer.wifi, device_probe.Broadcom)
and self.constants.computer.wifi.chipset in [device_probe.Broadcom.Chipsets.AirPortBrcm4331, device_probe.Broadcom.Chipsets.AirPortBrcm43224]
) or (isinstance(self.constants.computer.wifi, device_probe.Atheros) and self.constants.computer.wifi.chipset == device_probe.Atheros.Chipsets.AirPortAtheros40):
if self.constants.detected_os > os_data.os_data.big_sur:
if os_data.os_data.ventura > self.constants.detected_os > os_data.os_data.big_sur:
self.legacy_wifi = True
# if self.model in ["MacBookPro5,1", "MacBookPro5,2", "MacBookPro5,3", "MacBookPro8,2", "MacBookPro8,3"]:
@@ -263,13 +266,13 @@ class detect_root_patch:
"Graphics: Nvidia Web Drivers": self.nvidia_web,
"Graphics: AMD TeraScale 1": self.amd_ts1,
"Graphics: AMD TeraScale 2": self.amd_ts2,
"Graphics: AMD Legacy GCN": False, # self.legacy_gcn,
"Graphics: AMD Legacy GCN": self.legacy_gcn,
"Graphics: Intel Ironlake": self.iron_gpu,
"Graphics: Intel Sandy Bridge": self.sandy_gpu,
"Graphics: Intel Ivy Bridge": self.ivy_gpu,
"Graphics: Intel Haswell": False, # self.haswell_gpu,
"Graphics: Intel Broadwell": False, # self.broadwell_gpu,
"Graphics: Intel Skylake": False, # self.skylake_gpu,
"Graphics: Intel Haswell": self.haswell_gpu,
"Graphics: Intel Broadwell": self.broadwell_gpu,
"Graphics: Intel Skylake": self.skylake_gpu,
"Brightness: Legacy Backlight Control": self.brightness_legacy,
"Audio: Legacy Realtek": self.legacy_audio,
"Networking: Legacy Wireless": self.legacy_wifi,
@@ -384,13 +387,16 @@ class detect_root_patch:
required_patches.update({"Intel Sandy Bridge": all_hardware_patchset["Graphics"]["Intel Sandy Bridge"]})
if hardware_details["Graphics: Intel Ivy Bridge"] is True:
required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]})
required_patches.update({"Metal 1 Common": all_hardware_patchset["Graphics"]["Metal 1 Common"]})
required_patches.update({"Modern GVA": all_hardware_patchset["Graphics"]["Modern GVA"]})
required_patches.update({"Intel Ivy Bridge": all_hardware_patchset["Graphics"]["Intel Ivy Bridge"]})
if hardware_details["Graphics: Intel Haswell"] is True:
required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]})
required_patches.update({"Metal 1 Common": all_hardware_patchset["Graphics"]["Metal 1 Common"]})
required_patches.update({"Intel Haswell": all_hardware_patchset["Graphics"]["Intel Haswell"]})
if hardware_details["Graphics: Intel Broadwell"] is True:
required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]})
required_patches.update({"Metal 1 Common": all_hardware_patchset["Graphics"]["Metal 1 Common"]})
required_patches.update({"Intel Broadwell": all_hardware_patchset["Graphics"]["Intel Broadwell"]})
if hardware_details["Graphics: Intel Skylake"] is True:
required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]})
@@ -406,6 +412,7 @@ class detect_root_patch:
required_patches.update({"Non-Metal Enforcement": all_hardware_patchset["Graphics"]["Non-Metal Enforcement"]})
if hardware_details["Graphics: Nvidia Kepler"] is True:
required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]})
required_patches.update({"Metal 1 Common": all_hardware_patchset["Graphics"]["Metal 1 Common"]})
required_patches.update({"Modern GVA": all_hardware_patchset["Graphics"]["Modern GVA"]})
required_patches.update({"Nvidia Kepler": all_hardware_patchset["Graphics"]["Nvidia Kepler"]})
for gpu in self.constants.computer.gpus:
@@ -428,6 +435,9 @@ class detect_root_patch:
# TeraScale 2 MacBooks with faulty GPUs are highly prone to crashing with AMDRadeonX3000 attached
# Additionally, AMDRadeonX3000 requires IOAccelerator downgrade which is not installed without 'Non-Metal IOAccelerator Common'
del(required_patches["AMD TeraScale 2"]["Install"]["/System/Library/Extensions"]["AMDRadeonX3000.kext"])
if hardware_details["Graphics: AMD Legacy GCN"] is True:
required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]})
required_patches.update({"AMD Legacy GCN": all_hardware_patchset["Graphics"]["AMD Legacy GCN"]})
if hardware_details["Brightness: Legacy Backlight Control"] is True:
required_patches.update({"Legacy Brightness": all_hardware_patchset["Brightness"]["Legacy Brightness"]})
if hardware_details["Audio: Legacy Realtek"] is True: