Skip to content

Commit 18f083f

Browse files
committed
update on macos26
1 parent 7320b57 commit 18f083f

34 files changed

Lines changed: 302 additions & 299 deletions

‎oclp_r/constants.py‎

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ def __init__(self) -> None:
2222
self.hdau_patch_already: bool = False
2323

2424
# Patcher Versioning
25-
self.patcher_version: str = "3.1.9" # OCLP-R
26-
self.patcher_support_pkg_version: str = "1.11.8" # PatcherSupportPkg
25+
self.patcher_version: str = "3.3.0" # OCLP-R
26+
self.patcher_support_pkg_version: str = "2.0.0" # PatcherSupportPkg
2727
self.copyright_date: str = "Copyright © 2020-2026 Dortania and Hackdoc"
2828
self.patcher_name: str = "OCLP-R"
2929

@@ -70,6 +70,7 @@ def __init__(self) -> None:
7070
self.apple_raid_version: str = "1.0.0" # AppleRAIDCard
7171
self.apfs_zlib_version: str = "12.3.1" # NoAVXFSCompressionTypeZlib
7272
self.apfs_zlib_v2_version: str = "12.6" # NoAVXFSCompressionTypeZlib (patched with AVXpel)
73+
self.t1_key_store_tahoe_version: str = "1.2.0"
7374
self.multitouch_version: str = "1.0.0" # AppleUSBMultitouch
7475
self.topcase_version: str = "1.0.0" # AppleUSBTopCase
7576
self.topcase_inj_version: str = "1.0.0" # AppleTopCaseInjector
@@ -96,6 +97,8 @@ def __init__(self) -> None:
9697
self.ioskywalk_version: str = "1.2.0" # IOSkywalkFamily (Ventura)
9798
self.bigsursdxc_version: str = "1.0.0" # BigSurSDXC
9899
self.monterey_ahci_version: str = "1.0.0" # CatalinaAHCI
100+
self.airport_atheros_tahoe_version: str = "1.0.0"
101+
self.airport_brcmnic_tahoe_version: str = "1.0.0"
99102

100103
## Apple - Jazzzny Modified
101104
self.aquantia_version: str = "1.1.0" # AppleEthernetAbuantiaAqtion
@@ -268,6 +271,7 @@ def __init__(self) -> None:
268271
os_data.os_data.ventura,
269272
os_data.os_data.sonoma,
270273
os_data.os_data.sequoia,
274+
os_data.os_data.tahoe
271275
]
272276
## GitHub mirror:
273277
###https://ghfast.top
@@ -504,6 +508,10 @@ def t1_credential_path(self):
504508
def t1_sse_path(self):
505509
return self.payload_kexts_path / Path(f"Misc/AppleSSE-v{self.t1_sse_version}.zip")
506510

511+
@property
512+
def t1_key_store_tahoe_path(self):
513+
return self.payload_kexts_path / Path(f"Misc/AppleKeyStore-Tahoe-v{self.t1_key_store_tahoe_version}.zip")
514+
507515
@property
508516
def t1_corecrypto_path(self):
509517
return self.payload_kexts_path / Path(f"Misc/corecrypto_T1-v{self.t1_corecrypto_version}.zip")
@@ -549,6 +557,13 @@ def applealc_path(self):
549557
return self.payload_kexts_path / Path(f"Acidanthera/AppleALC-v{self.applealc_version}-{self.kext_variant}.zip")
550558

551559
@property
560+
def airport_atheros_tahoe_path(self):
561+
return self.payload_kexts_path / Path(f"Wifi/AirPortAtheros40-Tahoe-v{self.airport_atheros_tahoe_version}.zip")
562+
563+
@property
564+
def airport_brcmnic_tahoe_path(self):
565+
return self.payload_kexts_path / Path(f"Wifi/AirPortBrcmNIC-Tahoe-v{self.airport_brcmnic_tahoe_version}.zip")
566+
@property
552567
def piixata_path(self):
553568
return self.payload_kexts_path / Path(f"Misc/AppleIntelPIIXATA-v{self.piixata_version}.zip")
554569

‎oclp_r/efi_builder/firmware.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,11 @@ def _cpu_compatibility_handling(self) -> None:
155155
return
156156
if not "CPU Generation" in smbios_data.smbios_dictionary[self.model]:
157157
return
158-
158+
# for Tahoe to boot reliably
159+
if smbios_data.smbios_dictionary[self.model]["CPU Generation"] <= cpu_data.CPUGen.penryn.value:
160+
if "-nomt_core" not in self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"].split():
161+
logging.info("- Adding -nomt_core boot-arg")
162+
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -nomt_core"
159163
# SSE4,1 support (ie. Penryn)
160164
# Required for macOS Mojave and newer
161165
if smbios_data.smbios_dictionary[self.model]["CPU Generation"] <= cpu_data.CPUGen.penryn.value:

‎oclp_r/efi_builder/misc.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ def _t1_handling(self) -> None:
396396
support.BuildSupport(self.model, self.constants, self.config).get_item_by_kv(self.config["Kernel"]["Block"], "Identifier", "com.apple.driver.AppleSSE")["Enabled"] = True
397397
support.BuildSupport(self.model, self.constants, self.config).get_item_by_kv(self.config["Kernel"]["Block"], "Identifier", "com.apple.driver.AppleKeyStore")["Enabled"] = True
398398
support.BuildSupport(self.model, self.constants, self.config).get_item_by_kv(self.config["Kernel"]["Block"], "Identifier", "com.apple.driver.AppleCredentialManager")["Enabled"] = True
399-
399+
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AppleKeyStore-Tahoe.kext", self.constants.t1_key_store_tahoe_version, self.constants.t1_key_store_tahoe_path)
400400
support.BuildSupport(self.model, self.constants, self.config).enable_kext("corecrypto_T1.kext", self.constants.t1_corecrypto_version, self.constants.t1_corecrypto_path)
401401
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AppleSSE.kext", self.constants.t1_sse_version, self.constants.t1_sse_path)
402402
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AppleKeyStore.kext", self.constants.t1_key_store_version, self.constants.t1_key_store_path)

‎oclp_r/efi_builder/networking/wireless.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ def _on_model(self) -> None:
5757
support.BuildSupport(self.model, self.constants, self.config).enable_kext("IOSkywalkFamily.kext", self.constants.ioskywalk_version, self.constants.ioskywalk_path)
5858
support.BuildSupport(self.model, self.constants, self.config).enable_kext("IO80211FamilyLegacy.kext", self.constants.io80211legacy_version, self.constants.io80211legacy_path)
5959
support.BuildSupport(self.model, self.constants, self.config).get_kext_by_bundle_path("IO80211FamilyLegacy.kext/Contents/PlugIns/AirPortBrcmNIC.kext")["Enabled"] = True
60+
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AirPortBrcmNIC-Tahoe.kext", self.constants.airport_brcmnic_tahoe_version, self.constants.airport_brcmnic_tahoe_path)
6061
support.BuildSupport(self.model, self.constants, self.config).get_item_by_kv(self.config["Kernel"]["Block"], "Identifier", "com.apple.iokit.IOSkywalkFamily")["Enabled"] = True
6162
# This works around OCLP spoofing the Wifi card and therefore unable to actually detect the correct device
6263
if self.computer.wifi.chipset == device_probe.Broadcom.Chipsets.AirportBrcmNIC and self.constants.validate is False and self.computer.wifi.country_code:
@@ -85,6 +86,7 @@ def _on_model(self) -> None:
8586
support.BuildSupport(self.model, self.constants, self.config).enable_kext("corecaptureElCap.kext", self.constants.corecaptureelcap_version, self.constants.corecaptureelcap_path)
8687
support.BuildSupport(self.model, self.constants, self.config).enable_kext("IO80211ElCap.kext", self.constants.io80211elcap_version, self.constants.io80211elcap_path)
8788
support.BuildSupport(self.model, self.constants, self.config).get_kext_by_bundle_path("IO80211ElCap.kext/Contents/PlugIns/AirPortAtheros40.kext")["Enabled"] = True
89+
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AirPortAtheros40-Tahoe.kext", self.constants.airport_atheros_tahoe_version, self.constants.airport_atheros_tahoe_path)
8890

8991

9092
def _prebuilt_assumption(self) -> None:
@@ -114,6 +116,7 @@ def _prebuilt_assumption(self) -> None:
114116
support.BuildSupport(self.model, self.constants, self.config).enable_kext("corecaptureElCap.kext", self.constants.corecaptureelcap_version, self.constants.corecaptureelcap_path)
115117
support.BuildSupport(self.model, self.constants, self.config).enable_kext("IO80211ElCap.kext", self.constants.io80211elcap_version, self.constants.io80211elcap_path)
116118
support.BuildSupport(self.model, self.constants, self.config).get_kext_by_bundle_path("IO80211ElCap.kext/Contents/PlugIns/AirPortAtheros40.kext")["Enabled"] = True
119+
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AirPortAtheros40-Tahoe.kext", self.constants.airport_atheros_tahoe_version, self.constants.airport_atheros_tahoe_path)
117120
elif smbios_data.smbios_dictionary[self.model]["Wireless Model"] == device_probe.Broadcom.Chipsets.AirportBrcmNIC:
118121
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AirportBrcmFixup.kext", self.constants.airportbcrmfixup_version, self.constants.airportbcrmfixup_path)
119122

@@ -122,6 +125,7 @@ def _prebuilt_assumption(self) -> None:
122125
support.BuildSupport(self.model, self.constants, self.config).enable_kext("IO80211FamilyLegacy.kext", self.constants.io80211legacy_version, self.constants.io80211legacy_path)
123126
support.BuildSupport(self.model, self.constants, self.config).get_kext_by_bundle_path("IO80211FamilyLegacy.kext/Contents/PlugIns/AirPortBrcmNIC.kext")["Enabled"] = True
124127
support.BuildSupport(self.model, self.constants, self.config).get_item_by_kv(self.config["Kernel"]["Block"], "Identifier", "com.apple.iokit.IOSkywalkFamily")["Enabled"] = True
128+
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AirPortBrcmNIC-Tahoe.kext", self.constants.airport_brcmnic_tahoe_version, self.constants.airport_brcmnic_tahoe_path)
125129

126130

127131
def _wowl_handling(self) -> None:

‎oclp_r/support/defaults.py‎

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -371,11 +371,7 @@ def _gpu_probe(self) -> None:
371371
# Only disable AMFI if we officially support Ventura
372372
self.constants.disable_amfi = True
373373

374-
for key in ["Moraea_BlurBeta"]:
375-
# Enable BetaBlur if user hasn't disabled it
376-
is_key_enabled = subprocess.run(["/usr/bin/defaults", "read", "-globalDomain", key], stdout=subprocess.PIPE).stdout.decode("utf-8").strip()
377-
if is_key_enabled not in ["false", "0"]:
378-
subprocess.run(["/usr/bin/defaults", "write", "-globalDomain", key, "-bool", "true"])
374+
379375

380376
def _check_amfipass_supported(self) -> None:
381377
"""

‎oclp_r/sys_patch/patchsets/detect.py‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
amd_legacy_gcn,
3232
amd_polaris,
3333
amd_vega,
34+
amd_navi,
3435
)
3536
from .hardware.networking import (
3637
legacy_wireless,
@@ -39,7 +40,6 @@
3940
from .hardware.misc import (
4041
display_backlight,
4142
gmux,
42-
keyboard_backlight,
4343
pcie_webcam,
4444
t1_security,
4545
cpu_missing_avx,
@@ -125,6 +125,7 @@ def __init__(self, constants: constants.Constants,
125125
intel_broadwell.IntelBroadwell,
126126
intel_skylake.IntelSkylake,
127127
nvidia_tesla.NvidiaTesla,
128+
amd_navi.AMDNavi,
128129
nvidia_kepler.NvidiaKepler,
129130
nvidia_webdriver.NvidiaWebDriver,
130131
amd_terascale_1.AMDTeraScale1,
@@ -141,7 +142,7 @@ def __init__(self, constants: constants.Constants,
141142
modern_usb.LegacyUSBHost,
142143
display_backlight.DisplayBacklight,
143144
gmux.GraphicsMultiplexer,
144-
keyboard_backlight.KeyboardBacklight,
145+
145146
pcie_webcam.PCIeFaceTimeCamera,
146147
t1_security.T1SecurityChip,
147148
legacy_usb11.USB11Controller,

‎oclp_r/sys_patch/patchsets/hardware/graphics/amd_legacy_gcn.py‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from ...shared_patches.monterey_gva import MontereyGVA
1010
from ...shared_patches.monterey_opencl import MontereyOpenCL
1111
from ...shared_patches.amd_opencl import AMDOpenCL
12+
from ...shared_patches.tahoe_graphics import TahoeGraphics
1213
from ...shared_patches.renderbox import LegacyMetal31001
1314
from .....constants import Constants
1415
from .....detections import device_probe
@@ -84,7 +85,7 @@ def _model_specific_patches(self) -> dict:
8485
]
8586
) is False:
8687
if self._xnu_major >= os_data.sequoia:
87-
bronze_bundle_source = "12.5-24"
88+
bronze_bundle_source = "12.5-25" if self._xnu_major >= os_data.tahoe else "12.5-24"
8889

8990
return {
9091
"AMD Legacy GCN": {
@@ -104,7 +105,7 @@ def _model_specific_patches(self) -> dict:
104105
"AMDRadeonVADriver2.bundle": "12.5",
105106
"AMDRadeonX4000GLDriver.bundle": "12.5",
106107
"AMDMTLBronzeDriver.bundle": bronze_bundle_source,
107-
"AMDShared.bundle": "12.5",
108+
"AMDShared.bundle": "12.5-GCN-25" if self._xnu_major >= os_data.tahoe else "12.5",
108109
},
109110
},
110111
},
@@ -129,6 +130,7 @@ def patches(self) -> dict:
129130

130131
_base.update({
131132
**MontereyOpenCL(self._xnu_major, self._xnu_minor, self._constants.detected_os_version).patches(),
133+
**TahoeGraphics(self._xnu_major, self._xnu_minor, self._constants.detected_os_version).patches(),
132134
**AMDOpenCL(self._xnu_major, self._xnu_minor, self._constants.detected_os_version).patches(),
133135
**self._model_specific_patches(),
134136
})

‎oclp_r/sys_patch/patchsets/hardware/graphics/amd_navi.py‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
amd_navi.py: AMD Navi detection (Not implemented, only present for reference)
2+
amd_navi.py: AMD Navi detection
33
"""
44

55
from ..base import BaseHardware, HardwareVariant, HardwareVariantGraphicsSubclass
@@ -8,6 +8,7 @@
88

99
from ...shared_patches.monterey_gva import MontereyGVA
1010
from ...shared_patches.monterey_opencl import MontereyOpenCL
11+
from ...shared_patches.tahoe_graphics import TahoeGraphics
1112
from ...shared_patches.amd_opencl import AMDOpenCL
1213
from ...shared_patches.renderbox import LegacyMetal31001
1314
from .....constants import Constants
@@ -79,12 +80,12 @@ def _model_specific_patches(self) -> dict:
7980
"AMDRadeonX6000.kext": self._resolve_monterey_framebuffers(),
8081
"AMDRadeonX6000Framebuffer.kext": "12.5",
8182

82-
"AMDRadeonVADriver2.bundle": "12.5",
83-
"AMDRadeonX6000GLDriver.bundle": "12.5",
84-
**({ "AMDRadeonX6000MTLDriver.bundle": f"12.5-{self._xnu_major}" }),
83+
"AMDRadeonVADriver2.bundle": "12.5-25" if self._xnu_major >= os_data.tahoe else "12.5",
84+
"AMDRadeonX6000GLDriver.bundle": "12.5-25" if self._xnu_major >= os_data.tahoe else "12.5",
85+
"AMDRadeonX6000MTLDriver.bundle": "12.5-25" if self._xnu_major >= os_data.tahoe else "12.5" if self._xnu_major < os_data.sequoia else "12.5-24",
8586
"AMDRadeonX6000Shared.bundle": "12.5",
8687

87-
"AMDShared.bundle": "12.5",
88+
"AMDShared.bundle": "12.5-25" if self._xnu_major >= os_data.tahoe else "12.5",
8889
},
8990
}
9091
}
@@ -123,6 +124,7 @@ def patches(self) -> dict:
123124
return {}
124125

125126
return {
127+
**TahoeGraphics(self._xnu_major, self._xnu_minor, self._constants.detected_os_version).patches(),
126128
**LegacyMetal31001(self._xnu_major, self._xnu_minor, self._constants.detected_os_version).patches(),
127129
**MontereyGVA(self._xnu_major, self._xnu_minor, self._constants.detected_os_version).revert_patches(),
128130
**MontereyOpenCL(self._xnu_major, self._xnu_minor, self._constants.detected_os_version).patches(),

‎oclp_r/sys_patch/patchsets/hardware/graphics/amd_polaris.py‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from ...shared_patches.monterey_gva import MontereyGVA
1212
from ...shared_patches.monterey_opencl import MontereyOpenCL
1313
from ...shared_patches.amd_opencl import AMDOpenCL
14-
14+
from ...shared_patches.tahoe_graphics import TahoeGraphics
1515
from ...shared_patches.renderbox import LegacyMetal31001
1616

1717
from .....constants import Constants
@@ -113,8 +113,8 @@ def _model_specific_patches(self) -> dict:
113113
"AMDRadeonX4000HWServices.kext": "12.5",
114114
"AMDRadeonVADriver2.bundle": "12.5",
115115
"AMDRadeonX4000GLDriver.bundle": "12.5",
116-
**({ "AMDMTLBronzeDriver.bundle": f"12.5-{self._xnu_major}" }),
117-
"AMDShared.bundle": "12.5",
116+
"AMDMTLBronzeDriver.bundle": "12.5-25" if self._xnu_major >= os_data.tahoe else "12.5" if self._xnu_major < os_data.sequoia else "12.5-24",
117+
"AMDShared.bundle": "12.5-GCN-25" if self._xnu_major >= os_data.tahoe else "12.5",
118118
},
119119
},
120120
},
@@ -133,6 +133,7 @@ def patches(self) -> dict:
133133
return self._model_specific_patches()
134134

135135
_base = {
136+
**TahoeGraphics(self._xnu_major, self._xnu_minor, self._constants.detected_os_version).patches(),
136137
**LegacyMetal31001(self._xnu_major, self._xnu_minor, self._constants.detected_os_version).patches(),
137138
**MontereyOpenCL(self._xnu_major, self._xnu_minor, self._constants.detected_os_version).patches(),
138139
**self._model_specific_patches(),

‎oclp_r/sys_patch/patchsets/hardware/graphics/amd_terascale_1.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from ...base import PatchType
88

99
from ...shared_patches.non_metal import NonMetal
10-
from ...shared_patches.monterey_webkit import MontereyWebKit
10+
1111
from ...shared_patches.amd_terascale import AMDTeraScale
1212

1313
from .....constants import Constants
@@ -106,7 +106,7 @@ def patches(self) -> dict:
106106

107107
return {
108108
**NonMetal(self._xnu_major, self._xnu_minor, self._os_build).patches(),
109-
**MontereyWebKit(self._xnu_major, self._xnu_minor, self._os_build).patches(),
109+
110110
**AMDTeraScale(self._xnu_major, self._xnu_minor, self._os_build).patches(),
111111
**self._model_specific_patches(),
112112
}

0 commit comments

Comments
 (0)