Compare commits

..

64 Commits

Author SHA1 Message Date
Jazzzny
dba48072fd unblock tahoe 2025-12-03 20:21:08 -05:00
Jazzzny
b4e6688203 Merge remote-tracking branch 'origin/main' into macos-next
# Conflicts:
#	CHANGELOG.md
#	opencore_legacy_patcher/constants.py
2025-11-30 23:01:38 -05:00
Jazzzny
a71086935d minor ui refresh 2025-11-30 22:47:34 -05:00
neon ball
31539dc0a6 Fix Discord server link 2025-11-24 16:14:17 +02:00
neon ball
0db0ab00f5 Add affected models to Firefox troubleshooting 2025-11-23 18:48:59 +02:00
neon ball
950d189bfe Tiny thing 2025-11-23 15:17:48 +02:00
neon ball
cd461b0239 Fix typo and add more clarity 2025-11-23 15:17:09 +02:00
neon ball
084b77e0ab Fix typo 2025-11-22 23:04:07 +02:00
neon ball
97369bf6e6 Add non-Metal troubleshoot note about Mozilla products 2025-11-22 23:01:39 +02:00
neon ball
b8aaeac614 Swap link 2025-11-22 11:03:11 +02:00
neon ball
72a1e0c103 Rewording 2025-11-19 00:46:09 +02:00
neon ball
c6a187401c Tiny addition 2025-11-15 06:07:35 +02:00
neon ball
eeec1fd2dd Typo fix 2025-11-05 04:56:23 +02:00
neon ball
77085548fa Merge pull request #1175 from ParaDoX1994/main
Tiny reorderings
2025-11-05 04:54:02 +02:00
neon ball
978ef88a9b Update VENTURA-DROP.md 2025-11-05 04:49:33 +02:00
neon ball
5a8cc14286 Update SEQUOIA-DROP.md 2025-11-05 04:47:25 +02:00
neon ball
240ebb33ee Update VENTURA-DROP.md 2025-11-05 04:45:34 +02:00
neon ball
504d16f57f Update SONOMA-DROP.md 2025-11-05 04:38:41 +02:00
neon ball
09ebe821cb Update SONOMA-DROP.md 2025-11-05 04:34:32 +02:00
neon ball
115339e3a4 Merge pull request #1174 from ParaDoX1994/main
Add model list images for Sonoma and Sequoia
2025-11-05 04:20:42 +02:00
neon ball
8c835a25b9 Add images 2025-11-05 04:18:08 +02:00
neon ball
87fb4fb34d Add doc updates 2025-11-05 04:16:57 +02:00
neon ball
af197f56b3 Update/fix link 2025-10-19 20:03:57 +03:00
neon ball
5376ab7819 Update outdated path 2025-10-09 01:54:18 +03:00
neon ball
c70b18b01e Minor changes and additions 2025-09-27 20:08:23 +03:00
neon ball
a2ae2fbb38 Fix ordering 2025-09-06 04:29:15 +03:00
neon ball
879edfd2db Small edits 2025-09-06 04:28:37 +03:00
neon ball
c5a3d657da Increase image size 2025-09-06 04:19:25 +03:00
neon ball
2031ee40dc Merge pull request #1173 from ParaDoX1994/main
Update image, add image, few text edits
2025-09-06 04:15:04 +03:00
neon ball
9f8367f070 Small text addition 2025-09-06 04:13:57 +03:00
neon ball
7df5add2ff Add root patch version image and small changes 2025-09-06 04:11:11 +03:00
neon ball
d47d1def94 Add images
Add root patch version image and replace booted version image with better one
2025-09-06 04:03:08 +03:00
neon ball
3c01fb7de6 Fix link and typo 2025-09-02 23:40:32 +03:00
neon ball
fc428b3cc2 Link in FAQ to update prepare guide 2025-09-02 23:31:43 +03:00
neon ball
e49b1d0f90 "Preparing OCLP for macOS" update segment and app ver check 2025-09-02 23:28:09 +03:00
neon ball
e4838d3803 Swap bold to h4 2025-09-01 22:03:26 +03:00
neon ball
05e237c7bd Swap bold text to h4 2025-09-01 22:02:23 +03:00
neon ball
1868ce4117 Slightly reduce font size and remove padding from 4th header 2025-09-01 21:58:57 +03:00
Dhinak G
978ce9ea0b Enable blank issues 2025-09-01 14:21:23 -04:00
neon ball
fd66f87f00 Merge pull request #1172 from ParaDoX1994/main
Introduce a 4th header and swap bold text headers to real 4th header
2025-09-01 21:19:52 +03:00
neon ball
85c6a0d682 Change bold text to 4th header 2025-09-01 21:18:38 +03:00
neon ball
3ba9fdc8e1 Change small headers from bold to new 4th header 2025-09-01 21:17:55 +03:00
neon ball
56b9d8ec93 Add a 4th header 2025-09-01 21:08:29 +03:00
Jazzzny
2cd692ed9b Add remaining provisional T2 SMBIOS 2025-07-21 13:19:51 -04:00
Jazzzny
13115072a9 Add iMac19,x SMBIOS 2025-07-21 13:12:38 -04:00
Jazzzny
75302a1ec2 Add check for Solarium enablement 2025-07-16 20:03:36 -04:00
Jazzzny
decf6a9676 Inject legacy USB map on USB 1.1 Macs 2025-07-14 17:10:07 -04:00
Jazzzny
c3f8b47cec Fix SDK patch 2025-07-09 23:39:39 -04:00
Jazzzny
9f35856b39 Enable Solarium on Nightly builds, adjust Liquid Glass icon 2025-07-09 23:13:45 -04:00
Jazzzny
5c8d0d967d Add preliminary macOS 26 app icon 2025-07-09 22:21:10 -04:00
Jazzzny
6d68399483 Add Tahoe icon, do now show multiple betas on latest installers listing 2025-07-07 23:47:24 -04:00
Jazzzny
31572c86b9 Revert root patcher maximum 2025-07-01 13:57:24 -04:00
Jazzzny
a024bfc117 Do not patch AppleHDA on macOS 26 B1 2025-07-01 13:20:43 -04:00
Jazzzny
4976c5148e Allow root patcher on macOS 26 2025-07-01 13:17:15 -04:00
Jazzzny
e3c064d2c1 Add Modern Audio patch set foundation for macOS 26. Note that this requires PSPKG update, which needs to be done in PSPKG. 2025-07-01 13:13:30 -04:00
Jazzzny
0bfe09c3ef Disable EnableJumpstart for APFS driver 2025-07-01 12:52:32 -04:00
Jazzzny
689f423625 Add MaxKernel for previous USB Map 2025-07-01 12:12:10 -04:00
Jazzzny
cd3f3fb039 Update OpenCorePkg to rolling 2025-06-30 09:22:53 -04:00
Jazzzny
8872a18bfe Update CHANGELOG 2025-06-30 09:13:54 -04:00
Jazzzny
feca197ade Add USB mappings for macOS 26 2025-06-30 09:10:40 -04:00
Jazzzny
9be3dc8d58 Add apfs_aligned.efi driver 2025-06-30 08:28:16 -04:00
Jazzzny
90412f1354 Increment version 2025-06-30 08:13:28 -04:00
Jazzzny
1cf7335ec4 Implement macOS 26 constants for SUCatalog logic 2025-06-30 07:51:24 -04:00
Jazzzny
453ef78dda Add macOS 26 constant 2025-06-30 07:46:55 -04:00
44 changed files with 11060 additions and 95 deletions

View File

@@ -1 +1 @@
blank_issues_enabled: false
blank_issues_enabled: true

View File

@@ -1,5 +1,12 @@
# OpenCore Legacy Patcher changelog
## 3.0.0
- Restore support for FileVault 2 on macOS 26
- Add USB mappings for macOS 26
- Adopt Liquid Glass-conformant app icon
- Increment Binaries:
- OpenCorePkg 1.0.5 - rolling (f03819e)
## 2.4.1
- Switch installer source to AppleDB
- Resolves missing or incorrect installers showing up when downloading an installer

View File

@@ -83,4 +83,5 @@ app = BUNDLE(coll,
"Build Date": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
"BuildMachineOSBuild": subprocess.run(["/usr/bin/sw_vers", "-buildVersion"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode().strip(),
"NSPrincipalClass": "NSApplication",
"CFBundleIconName": "oclp",
})

View File

@@ -131,6 +131,26 @@ class GenerateApplication:
f.write(data)
def _patch_sdk_version(self) -> None:
"""
Patch LC_BUILD_VERSION in Load Command to report the macOS 26 SDK
This will enable the Solarium refresh when running on macOS 26
Minor visual anomalies and padding issues exist, disable if not addressed before release
"""
_file = self._application_output / "Contents" / "MacOS" / "OpenCore-Patcher"
_find = b'\x00\x01\x0C\x00'
_replace = b'\x00\x00\x1A\x00'
print("Patching LC_BUILD_VERSION")
with open(_file, "rb") as f:
data = f.read()
data = data.replace(_find, _replace)
with open(_file, "wb") as f:
f.write(data)
def _embed_git_data(self) -> None:
"""
Embed git data
@@ -162,6 +182,11 @@ class GenerateApplication:
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
subprocess_wrapper.run_and_verify(
generate_copy_arguments("payloads/Icon/AppIcons/Assets.car", self._application_output / "Contents/Resources/"),
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
def generate(self) -> None:
"""
@@ -172,5 +197,6 @@ class GenerateApplication:
self._remove_analytics_key()
self._patch_load_command()
self._patch_sdk_version() if not self._git_branch or not self._git_branch.startswith('refs/tags') else None
self._embed_git_data()
self._embed_resources()

View File

@@ -44,6 +44,7 @@ class InstallerBackup:
os_data.os_data.ventura,
os_data.os_data.sonoma,
os_data.os_data.sequoia,
os_data.os_data.tahoe,
],
first_run: bool = False
) -> None:
@@ -59,6 +60,7 @@ class InstallerBackup:
os_data.os_data.ventura: Path(self._directory, "13 Ventura"),
os_data.os_data.sonoma: Path(self._directory, "14 Sonoma"),
os_data.os_data.sequoia: Path(self._directory, "15 Sequoia"),
os_data.os_data.tahoe: Path(self._directory, "26 Tahoe"),
}
for os_version in self._supported_oses:

View File

@@ -40,6 +40,9 @@ tr
&:nth-child(2n)
background-color var(--sideBgColor)
h4
font-size 1.08rem
.dropdown-wrapper .nav-dropdown
@@ -65,4 +68,4 @@ tr
color: var(--accentColor) !important
.search-box .suggestion.focused a
color: var(--navItemHoverColor) !important
color: var(--navItemHoverColor) !important

View File

@@ -3,7 +3,7 @@
* [Application requirements](#application-requirements)
* [Application versioning](#application-versioning)
* [How do I make sure I'm all up to date?](#how-do-i-make-sure-i-m-all-up-to-date)
* [Why are the settings "not saving"?](#why-are-the-settings-not-saving)
* [Where are the GUI settings saved?](#where-are-the-gui-settings-saved)
* [Can I use the same USB install media as a universal installer?](#can-i-use-the-same-usb-install-media-as-a-universal-installer)
* [Can I use OTA updates?](#can-i-use-ota-updates)
* [Can I use automatic updates?](#can-i-use-automatic-updates)
@@ -21,8 +21,10 @@
## Application requirements
The patcher application requires **OS X Yosemite 10.10** or later to run.
* **El Capitan 10.11** or later is required to make installers for macOS Ventura
* **High Sierra 10.13** or later is required to make installers for macOS Sonoma and newer.
Due to limitations with Apple's `createinstallmedia` tool used for installer creation, the following are required:
* **El Capitan 10.11** to make installers for macOS Ventura.
* **High Sierra 10.13** to make installers for macOS Sonoma and newer.
The patcher is designed to target **macOS Big Sur 11.x to macOS Sequoia 15.x**.
* Other versions may work, albeit in a broken state. No support is provided for any version outside of the above.
@@ -66,9 +68,9 @@ When building OpenCore on a different system, OCLP cannot be aware of all the ha
## Can I use OTA updates?
You can. However it is extremely recommended to use USB drive for major OS upgrades (such as 13 -> 14) to avoid larger issues from potentially occurring.
You can. However it is extremely recommended to use USB drive for major OS upgrades (such as 13 -> 14) to avoid larger issues from potentially occurring. General updates are usually fine, though it is always a good idea to wait few days to see whether patches break and have to be fixed.
General updates are usually fine, though it is always a good idea to wait few days to see whether patches break and have to be fixed.
See more information about updating in [Preparing OCLP for macOS update.](https://dortania.github.io/OpenCore-Legacy-Patcher/UPDATE.html#preparing-oclp-for-macos-update)
## Can I use automatic updates?
@@ -106,7 +108,7 @@ macOS doesn't allow direct downgrades, as such you will have to wipe the disk in
## Why is my system slow?
**Lacking or broken root patches**
#### Lacking or broken root patches
If your system is being **really** slow and macOS is lacking wallpaper and transparency in Dock and menubar, make sure to install root patches to get proper drivers and functionality. Refer to [Applying post install volume patches](https://dortania.github.io/OpenCore-Legacy-Patcher/POST-INSTALL.html#applying-post-install-volume-patches) section for more information.
@@ -114,15 +116,15 @@ If your system is being **really** slow and macOS is lacking wallpaper and trans
Patches can also break if automatic updates are enabled and an update prematurely modifies the system volume, refer to [System version mismatch error when root patching](https://dortania.github.io/OpenCore-Legacy-Patcher/TROUBLESHOOT-APP.html#system-version-mismatch-error-when-root-patching) for more information.
**Spotlight**
#### Spotlight
If your macOS installation is recent, Spotlight starts creating a full disk index which can cause high CPU load, high temps and general slowness. It's recommended to keep the system running for few hours, once Spotlight has indexed the load will ease. A way to check whether it's caused by Spotlight is to open Activity Monitor, choosing "All Processes" from the "View" menu item, then sorting by the CPU value to see if a process called ```mds_stores``` is using a lot of CPU resources.
**Heavier macOS versions**
#### Heavier macOS versions
Newer operating systems are harder to run and can appear more slow. If this is the case, there is not a whole lot to do about it.
**Thermal issues or bad/missing battery**
#### Thermal issues or bad/missing battery
If you see ```kernel_task``` hogging a lot of CPU resources in Activity Monitor (this also requires View -> All Processes), this means the system is being throttled mostly due to the following reasons:
@@ -245,3 +247,7 @@ Apple Intelligence requires Neural Engine, which is only found in Apple Silicon

View File

@@ -120,7 +120,7 @@ You can install and revert Root Patching manually from the app.
### Packages requiring networking
**MetallibSupportPkg**
#### MetallibSupportPkg
Required for Ivy Bridge, Haswell and NVIDIA Kepler based systems (3802) running Sequoia or newer. You can download it manually from the following link:
@@ -138,7 +138,7 @@ Required for Ivy Bridge, Haswell and NVIDIA Kepler based systems (3802) running
:::
**KDK / Kernel Debug Kit**
#### KDK / Kernel Debug Kit
Macs with AMD Legacy GCN GPUs (ie. Metal) running Ventura or newer require Apple's Kernel Debug Kit to start root patching. You can manually download the KDK from the following link:

View File

@@ -14,11 +14,13 @@ This time Apple dropped surprisingly few amount of Macs. With the release of Ope
## Current status
OpenCore Legacy Patcher 2.0.0 will support Sequoia for most models normally supported by the Patcher, however some challenges remain. You can find information about them below.
OpenCore Legacy Patcher 2.0.0 supports Sequoia for the models below, however some challenges remain. You can find information about them further down this page.
Unfortunately due to T2 related problems, the recently dropped MacBookAir8,x models cannot be supported at this time. We have made some progress on this issue, but panics are still occurring and there is still a significant amount of development work to do before T2 machines may even get to the install screen. We cannot provide any estimate on when T2 machines will be supported.
<img width="625" alt="" src="./images/OCLP-200-Initial-Support.png">
[More information here](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1136)
Unfortunately due to T2 related problems, the recently dropped MacBookAir8,x models cannot be supported at this time. We have made some progress on this issue, but panics are still occurring and there is still a significant amount of development work to do before T2 machines may even get to the install screen. We cannot provide any estimate on when T2 machines will be supported.
[More information here.](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1136)
## Non-functional features

View File

@@ -18,7 +18,9 @@ Apple has yet again dropped a bunch of models, continuing their journey on disco
## Current status
OpenCore Legacy Patcher 1.0.0 will support Sonoma for all models normally supported by the Patcher, however some challenges remain. You can find information about them below.
OpenCore Legacy Patcher 1.0.0 supports Sonoma for all models below, however some challenges remain. You can find information about them further down on this page.
<img width="625" alt="" src="./images/OCLP-100-Initial-Support.png">
## Issues
@@ -36,7 +38,9 @@ Dual boots may also bring the issue back even after the reset.
### T1 Security chip
::: details Support for the T1 Security chip (Resolved in 1.1.0 and newer)
**Resolved in 1.1.0 and newer, original explainer below**
::: details Support for the T1 Security chip
Sonoma has removed support for T1 chips found in most 2016 and 2017 Macs. Therefore on these systems, the following will not function:
@@ -50,7 +54,7 @@ Sonoma has removed support for T1 chips found in most 2016 and 2017 Macs. Theref
:::
::: warning
Note that erasing the entire drive will remove the T1 firmware and it won't be reinstalled.
Note that erasing the entire drive will remove the T1 firmware and it won't be reinstalled. Refer to [troubleshooting](https://dortania.github.io/OpenCore-Legacy-Patcher/TROUBLESHOOT-HARDWARE.html#no-t1-functionality-after-installing-sonoma-or-newer) for more information.
:::
### USB 1.1 (OHCI/UHCI) Support

View File

@@ -99,9 +99,11 @@ In this example, it is telling that a version 13.7.5 (Ventura) is expected which
There are few options to resolve it:
1. Update/upgrade to the version already staged.
* This option works only if the newer version is currently supported by OCLP.
2. Reinstall macOS.
* You can try doing an in-place install without wiping the disk to keep your data but this may not be possible due to the OS being partially on newer version and it will complain about downgrade.
4. Use an experimental "PurgePendingUpdate" tool [from the Discord server](https://discord.com/channels/417165963327176704/1253268648324235345/1257348959454625985).
3. Use an experimental "PurgePendingUpdate" tool [from the Discord server](https://discord.gg/rqdPgH8xSN).
* Navigate to `support-forum` and then to the `Information and known issues` post to find the link to the tool.
* Download it and then run it in Terminal to get rid of a pending update, then repatch again. If "purge failed" appears, you can ignore it.
* Sometimes you may have to give the file an execution permission with `chmod +x` and putting the application path after the command (type or drag the file) before the tool can be ran.
* This may be integrated into OCLP later on, however there is currently no ETA.
@@ -124,3 +126,6 @@ System Preferences -> Software Update -> Advanced -> Disable "Download new updat

View File

@@ -1,6 +1,6 @@
# Hardware issues
**General**
#### General
* [No Brightness Control](#no-brightness-control)
* [Cannot connect Wi-Fi on Monterey with legacy cards](#cannot-connect-wi-fi-on-monterey-with-legacy-cards)
@@ -11,8 +11,7 @@
* [Keyboard, Mouse and Trackpad not working in installer or after update](#keyboard-mouse-and-trackpad-not-working-in-installer-or-after-update)
* [No T1 functionality after installing Sonoma or newer](#no-t1-functionality-after-installing-sonoma-or-newer)
**Non-Metal**
#### Non-Metal
* [Keyboard Backlight broken](#keyboard-backlight-broken)
* [Wake from sleep heavily distorted on AMD/ATI from macOS 11.3 to Monterey](#wake-from-sleep-heavily-distorted-on-ati-amd-terascale-1-from-macos-11-3-to-monterey)
@@ -42,7 +41,9 @@ To work-around this, we recommend that users manually connect using the "Other"
In macOS, GPU drivers are often dropped from the OS with each major release of it. If you're using OCLP v0.4.4 or newer, you should have been prompted to install Root Volume patches after the first boot from installation of macOS. If you need to do this manually, you can do so within the patcher app. Once rebooted, acceleration will be re-enabled as well as brightness control for laptops.
See [Applying Post Install Volume Patches](https://dortania.github.io/OpenCore-Legacy-Patcher/POST-INSTALL.html#applying-post-install-volume-patches) for more information.
See [Applying Post Install Volume Patches](https://dortania.github.io/OpenCore-Legacy-Patcher/POST-INSTALL.html#applying-post-install-volume-patches) for more information.
If you swapped a GPU from stock to a Metal GPU in a Mac Pro after installing OS, see [No acceleration after a Metal GPU swap on Mac Pro](#no-acceleration-after-a-metal-gpu-swap-on-mac-pro) for instructions.
Check the list below to see what GPUs require patching in which OS versions.
@@ -164,11 +165,11 @@ Starting with macOS Sequoia, OCLP has to disable the secondary CPU in these syst
## No acceleration after a Metal GPU swap on Mac Pro
If you finished installing macOS with the original card installed (to see bootpicker for example) and swapped your GPU to a Metal supported one, you may notice that you're missing acceleration. To fix this, open OCLP and revert root patches to get your Metal-supported GPU work again. In macOS Ventura and newer, repatching is needed after reversion.
If you finished installing macOS with the original card installed (to see bootpicker for example) and swapped your GPU to a Metal supported one, you may notice that you're missing acceleration.
Alternatively, you can remove "AutoPkg-Assets.pkg" from /Library/Packages on the USB drive before proceeding with the installation. To see the folder, enable hidden files with `Command` + `Shift` + `.`
To fix this, open OCLP and revert root patches to get your Metal-supported GPU work again. In macOS Ventura and newer, repatching is needed for most configurations after reversion. Reason why this happens is automatic root patching during USB install and the autopatcher assuming you will be using the original graphics card and therefore doing non-Metal patching. **Metal and non-Metal GPUs cannot be used at the same time** as Non-Metal patching completely bypasses Metal and requires removing some parts such as drivers for other cards, which causes Metal cards to not accelerate after swapping.
The reason for this is that the autopatcher will assume that you will be using the original graphics card and therefore does non-metal patching, which includes removing some drivers for other cards. This causes Metal cards to not accelerate after swapping.
Alternatively, you can remove "AutoPkg-Assets.pkg" from /Library/Packages on the USB drive before proceeding with the installation. This package includes the assets for root patching and the system won't be autopatched if they aren't present. To see the folder, enable hidden files with `Command` + `Shift` + `.`
## Keyboard, Mouse and Trackpad not working in installer or after update
@@ -293,7 +294,7 @@ However, if your machine does not have the dGPU disabled via NVRAM, you'll exper
* Press Cmd+S in OpenCore's menu when you turn the Mac on
2. When the command line prompt appears, enter the dGPU disabler argument (at the bottom)
3. Reboot and patched macOS should work normally
4. If you still want to use the dGPU, run OpenCore Legacy Patcher and enable TS2 Acceleration from settings. Go to `Patcher Settings -> Developer Settings -> Set TeraScale 2 Accel`, then root patch again.
4. If you still want to use the dGPU, run OpenCore Legacy Patcher and enable TS2 Acceleration from settings. Go to `Settings -> Root Patching -> TeraScale 2 Acceleration`, then root patch again.
5. Either Reset NVRAM or set `gpu-power-prefs` to zeros to re-enable the dGPU
```sh
@@ -330,3 +331,6 @@ For more information, see [ASentientBot's post](https://forums.macrumors.com/thr

View File

@@ -1,6 +1,6 @@
# Booting, installer and other issues
**Booting**
#### Booting
* [Stuck on `This version of Mac OS X is not supported on this platform` or (🚫) Prohibited Symbol](#stuck-on-this-version-of-mac-os-x-is-not-supported-on-this-platform-or-🚫-prohibited-symbol)
* [Cannot boot macOS without the USB](#cannot-boot-macos-without-the-usb)
@@ -9,14 +9,14 @@
* [Booting Recovery through OpenCore Legacy Patcher](#booting-recovery-through-opencore-legacy-patcher)
* [Black Screen on MacBookPro11,3 in macOS Monterey](#black-screen-on-macbookpro11-3-in-macos-monterey)
**Installer**
#### Installer
* [Stuck on hard disk selection with greyed out buttons in installer](#stuck-on-hard-disk-selection-with-greyed-out-buttons-in-installer)
* [Installer fails with "an error occurred preparing the software update"](#installer-fails-with-an-error-occurred-preparing-the-software-update)
* [Stuck on "Less than a minute remaining..."](#stuck-on-less-than-a-minute-remaining)
* [Stuck on "Your Mac needs a firmware update"](#stuck-on-your-mac-needs-a-firmware-update)
**Other**
#### Other
* [Reboot when entering Hibernation (`Sleep Wake Failure`)](#reboot-when-entering-hibernation-sleep-wake-failure)
* [Volume Hash Mismatch Error in macOS Monterey](#volume-hash-mismatch-error-in-macos-monterey)
@@ -144,3 +144,4 @@ Head into the GUI, go to Patcher Settings, and toggle the bits you need disabled
| ![](./images/OCLP-GUI-Settings-SIP-Enabled.png) | ![](./images/OCLP-GUI-Settings-SIP-Root-Patch.png) | ![](./images/OCLP-GUI-Settings-SIP-Disabled.png) |

View File

@@ -2,6 +2,7 @@
The below page is for users experiencing issues with their overall usage of macOS Big Sur and newer and the Legacy Graphics Acceleration patches. For those unfamiliar with what is considered a non-Metal GPU, see the chart in [FAQ](https://dortania.github.io/OpenCore-Legacy-Patcher/FAQ.html#what-is-metal-and-non-metal)
* [Broken Firefox and Thunderbird (HD 3000)](#broken-firefox-and-thunderbird-hd-3000)
* [Broken Background Blurs](#broken-background-blurs)
* [Downloading older non-Metal Apps](#downloading-older-non-metal-apps)
* [Unable to run Zoom](#unable-to-run-zoom)
@@ -10,6 +11,19 @@ The below page is for users experiencing issues with their overall usage of macO
* [Cannot press "Done" when editing a Sidebar Widget](#cannot-press-done-when-editing-a-sidebar-widget)
* [Unable to allow Safari Extensions](#unable-to-allow-safari-extensions)
## Broken Firefox and Thunderbird (HD 3000)
[Due to removal of HD 3000 support workarounds](https://hg-edge.mozilla.org/releases/mozilla-release/rev/32d4368e5a2a869bdc1f4556f020c1a6bea2a9c0) in Firefox/Thunderbird v145, Firefox and Thunderbird on HD 3000 are now broken. This may lead to system freezes and other erratic behavior on systems with this GPU, which is found in Mac models from 2011. As a workaround, hardware acceleration has to be disabled. If your system is locking up in normal mode, boot into Safe Mode by holding `Shift` on boot and disable hardware acceleration for Firefox and Thunderbird wherever applicable.
::: details Affected Mac models (click to expand)
* MacBook Pro 2011 13", 15" and 17"
* MacBook Air 2011 11" and 13"
* Mac mini 2011 models without Radeon dGPU
:::
## Broken Background Blurs
By default with the non-Metal acceleration patches, many background blur menus may act distorted when moving a cursor over it. With 0.4.1 and newer, users can enable a new Beta Blur feature to try and resolve the issue:

View File

@@ -1,35 +1,30 @@
# Updating OpenCore and Patches
# Updating
This guide explains how to get fully up to date application, bootloader and patches.
## Updating the application
## Updating the application, OpenCore and patches
Latest versions of OCLP can download updates by themselves, you will get notified of a new update with the changelog.
[You can also manually download the latest release here.](https://github.com/dortania/OpenCore-Legacy-Patcher/releases)
<div align="left">
<img src="./images/OCLP_Update_Available.png" alt="Update Avaialble" />
</div>
## Updating patches
After the update, the application asks if you want to update OpenCore and root patches.
If you do not need to change any settings, you can click "Yes" and follow the procedure. If you want to change settings, select "No" from here and do your settings, then manually build and install OpenCore to update to the latest version of the bootloader.
Finally install new root patches to ensure you're running on the latest fixes for on-disk patches.
* If you do not need to change any settings, click "Yes" on the patch update question and follow the procedure to update OpenCore and root patches automatically.
* If you do want to change settings, select "No" and do your settings.
* In case you selected "No", you will have to manually build and install OpenCore and then manually install new root patches to ensure you're running on the latest OpenCore with your settings and the fixes for on-disk patches.
<div align="left">
<img src="./images/OCLP_Update_Successful.png" alt="Update Successful" />
</div>
| Update available | App update success, patch update question |
| :--- | :--- |
| <img src="./images/OCLP_Update_Available.png" alt="Update Available" width="500" /> | <img src="./images/OCLP_Update_Successful.png" alt="Update Successful" width="400" /> |
## Checking OCLP and OpenCore versions
To check what version of OpenCore bootloader and the Patcher you're currently running, you can run the following in the terminal:
#### Checking OCLP and OpenCore versions
To check what version of OpenCore bootloader and the Patcher you're currently running, open the OCLP application and navigate to `Settings -> App` and look for "Booted Information". Alternatively you can check the version from Terminal using the following commands.
Check the status and version of root patches from `Post Install Volume Patch` section in the main menu.
```bash
# OpenCore Version
@@ -38,8 +33,47 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:OCLP-Version
```
<div align="left">
<img src="./images/oclp-version.png" alt="OCLP version" width="600" />
</div>
From this, we can see that we're running a RELEASE version of OpenCore 0.9.0 built on January 1st, 2023 with Patcher Version 0.6.0!
| Version in app | Version in Terminal | Root patch version |
| :--- | :--- | :--- |
| <img src="./images/OCLP_Booted_Version.png" alt="Build start" width="600" /> | <img src="./images/oclp-version.png" alt="OCLP version" width="900" /> | <img src="./images/OCLP_Root_Patch_Version.png" alt="Root Patch Version" width="900" /> |
## Preparing OCLP for macOS update
It is usually recommended to be on the latest OCLP version for macOS updates. This part details how to prepare OCLP for latest update.
### Major upgrades
This part is for major upgrades, such as `Sonoma (14)` -> `Sequoia (15)`
1. Make sure the OCLP app is up to date.
2. After app has updated, rebuild OpenCore to the internal disk to update the bootloader.
* You can also update root patches but this part is optional in this stage, as they will be wiped by the update.
2. Download the macOS version you want and create an installer USB drive using OCLP as detailed in the original [Creating macOS Installers](https://dortania.github.io/OpenCore-Legacy-Patcher/INSTALLER.html) guide, then follow the [Booting OpenCore and macOS](https://dortania.github.io/OpenCore-Legacy-Patcher/BOOT.html) guide boot to into the installer on your USB drive.
3. Start macOS installation and follow the process, do not use Disk Utility if you don't want to wipe your disk.
4. After installation, reinstall [root patches](https://dortania.github.io/OpenCore-Legacy-Patcher/POST-INSTALL.html#applying-post-install-volume-patches).
**Note:** Major upgrades may work using System Settings but this is not recommended.
### Minor updates
This part is for minor updates, which are also called the "dot updates". Such as `12.x`, `13.x` etc.
1. Make sure the OCLP app is up to date.
2. Rebuild OpenCore to the internal disk to update the bootloader.
* You can also update root patches but this part is optional in this stage, as they will be wiped by the update.
3. Start update from System Settings.
* If your system requires [KDKSupportPkg](https://dortania.github.io/OpenCore-Legacy-Patcher/POST-INSTALL.html#kdk-kernel-debug-kit), OCLP will start downloading it automatically as long as you are connected to the internet and have the [background process](https://dortania.github.io/OpenCore-Legacy-Patcher/PROCESS.html) enabled.
4. Once installed, go into OCLP app and reinstall [root patches](https://dortania.github.io/OpenCore-Legacy-Patcher/POST-INSTALL.html#applying-post-install-volume-patches).
::: warning Important
Some systems on Sequoia require [MetallibSupportPkg](https://dortania.github.io/OpenCore-Legacy-Patcher/POST-INSTALL.html#metallibsupportpkg) during root patching after an update, which requires internet connection to download. If OCLP doesn't see internet connection, it will first offer a patch for WiFi only. You will have to reboot, connect to the internet and rerun root patching for the rest of the patches.
:::

View File

@@ -26,17 +26,19 @@ Ventura's release dropped a large amount of Intel hardware, thus requiring the u
## Current status
OpenCore Legacy Patcher supports Ventura for the models below, however some challenges remain. You can find information about them further down on this page.
<img width="625" alt="" src="./images/OCLP-060-Initial-Support.png">
For older hardware, see below sections:
* [Currently Unsupported/Broken Hardware in Ventura](#currently-unsupportedbroken-hardware-in-ventura)
* [Current issues](#current-issues)
* [AMD Polaris, Vega and Navi support on pre-2019 Mac Pros and pre-2012 iMacs](#amd-polaris-vega-and-navi-support-on-pre-2019-mac-pros-and-pre-2012-imacs)
* [USB 1.1 (OHCI/UHCI) Support](#usb-11-ohciuhci-support)
The team is doing their best to investigate and fix the aforementioned issues, however no estimated time can be provided.
## Currently Unsupported/Broken Hardware in Ventura
## Current issues
### AMD Polaris, Vega and Navi support on pre-2019 Mac Pros and pre-2012 iMacs
@@ -65,13 +67,17 @@ For Penryn systems and pre-2013 Mac Pros, USB 1.1 support was outright removed i
Refer to [the troubleshooting page](https://dortania.github.io/OpenCore-Legacy-Patcher/TROUBLESHOOT-HARDWARE.html#keyboard-mouse-and-trackpad-not-working-in-installer-or-after-update) on how to workaround this issue.
### Graphics and wireless support
### Graphics support and issues
Refer to the following links for more information about Legacy Metal and non-Metal support and their respective issues.
* [Legacy Metal](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008)
* [Non-Metal](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)
### Resolved issues
::: details Legacy Wireless Support (Resolved in v0.6.0 and newer)
### Legacy Wireless Support
For systems that required Root Patches in macOS Monterey to achieve Wireless support, unfortunately macOS Ventura has broken the patch set. Currently the following Wifi cards are unsupported:
* Atheros: All models
@@ -95,9 +101,6 @@ Currently BCM943224, BCM94331, BCM94360 and BCM943602 are still fully supported
::: details Non-Metal Graphics Acceleration (Resolved in v0.6.0 and newer)
### Non-Metal Graphics Acceleration
Regarding non-Metal, the team is hard at work to get non-Metal working, however this is our greatest challenge since Big Sur.
Apple has made significant changes to the graphics stack in order to facilitate fancy effects, and in particularly, Stage Manager. We will update you as we work on development, however, now is not the best time to ask about ETAs.
@@ -123,5 +126,3 @@ The following machines shipped stock with an unsupported GPU:
* MacPro3,1 - MacPro5,1
* Xserve2,1 - Xserve3,1
:::

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 639 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

View File

@@ -13,7 +13,7 @@ from .detections import device_probe
class Constants:
def __init__(self) -> None:
# Patcher Versioning
self.patcher_version: str = "2.4.1" # OpenCore-Legacy-Patcher
self.patcher_version: str = "3.0.0" # OpenCore-Legacy-Patcher
self.patcher_support_pkg_version: str = "1.9.5" # PatcherSupportPkg
self.copyright_date: str = "Copyright © 2020-2025 Dortania"
self.patcher_name: str = "OpenCore Legacy Patcher"
@@ -28,7 +28,7 @@ class Constants:
# OpenCore Versioning
# https://github.com/acidanthera/OpenCorePkg
self.opencore_version: str = "1.0.4"
self.opencore_version: str = "1.0.5"
# Kext Versioning
## Acidanthera
@@ -322,6 +322,10 @@ class Constants:
return self.payload_path / Path("ACPI/SSDT-DGPU.aml")
# Drivers
@property
def sequoia_apfs_driver_path(self):
return self.payload_path / Path("Drivers/apfs_aligned.efi")
@property
def nvme_driver_path(self):
return self.payload_path / Path("Drivers/NvmExpressDxe.efi")
@@ -685,10 +689,18 @@ class Constants:
def map_kext_folder(self):
return self.kexts_path / Path("USB-Map.kext")
@property
def map_kext_folder_tahoe(self):
return self.kexts_path / Path("USB-Map-Tahoe.kext")
@property
def map_contents_folder(self):
return self.map_kext_folder / Path("Contents")
@property
def map_contents_folder_tahoe(self):
return self.map_kext_folder_tahoe / Path("Contents")
@property
def pp_kext_folder(self):
return self.kexts_path / Path("CPUFriendDataProvider.kext")
@@ -794,6 +806,10 @@ class Constants:
def icon_path_macos_sequoia(self):
return self.icns_resource_path / Path("Sequoia.icns")
@property
def icon_path_macos_tahoe(self):
return self.icns_resource_path / Path("Tahoe.icns")
@property
def gui_path(self):
return self.payload_path / Path("Icon/Resources.zip")
@@ -828,6 +844,7 @@ class Constants:
str(self.icon_path_macos_ventura),
str(self.icon_path_macos_sonoma),
str(self.icon_path_macos_sequoia),
str(self.icon_path_macos_tahoe),
]
sbm_values = [

View File

@@ -26,6 +26,7 @@ SupportedSMBIOS = [
"MacBookAir7,2",
# "MacBookAir8,1",
# "MacBookAir8,2",
# "MacBookAir9,1",
# MacBook Pro
"MacBookPro4,1",
"MacBookPro5,1",
@@ -55,6 +56,11 @@ SupportedSMBIOS = [
"MacBookPro14,1",
"MacBookPro14,2",
"MacBookPro14,3",
# "MacBookPro15,1",
# "MacBookPro15,2",
# "MacBookPro15,3",
# "MacBookPro15,4",
# "MacBookPro16,3",
# Mac Mini
"Macmini3,1",
"Macmini4,1",
@@ -64,6 +70,7 @@ SupportedSMBIOS = [
"Macmini6,1",
"Macmini6,2",
"Macmini7,1",
# "Macmini8,1",
# iMac
"iMac7,1",
"iMac8,1",
@@ -88,6 +95,8 @@ SupportedSMBIOS = [
"iMac18,1",
"iMac18,2",
"iMac18,3",
"iMac19,1",
"iMac19,2",
# Mac Pro
"MacPro3,1",
"MacPro4,1",
@@ -96,6 +105,8 @@ SupportedSMBIOS = [
# Xserve
"Xserve2,1",
"Xserve3,1",
# iMac Pro
# "iMacPro1,1",
]
# Audio

View File

@@ -216,6 +216,14 @@ class BuildFirmware:
if not "CPU Generation" in smbios_data.smbios_dictionary[self.model]:
return
# APFS check
# The macOS 26 APFS EFI driver's FileVault 2 implementation is broken, and
# must be replaced with the macOS 15 APFS EFI driver.
logging.info("- Enabling macOS 26 FileVault 2 support")
self.config["UEFI"]["APFS"]["EnableJumpstart"] = False
shutil.copy(self.constants.sequoia_apfs_driver_path, self.constants.drivers_path)
support.BuildSupport(self.model, self.constants, self.config).get_efi_binary_by_path("apfs_aligned.efi", "UEFI", "Drivers")["Enabled"] = True
# Exfat check
if smbios_data.smbios_dictionary[self.model]["CPU Generation"] < cpu_data.CPUGen.sandy_bridge.value:
# Sandy Bridge and newer Macs natively support ExFat

View File

@@ -285,19 +285,26 @@ xw
# USB Map
usb_map_path = Path(self.constants.plist_folder_path) / Path("AppleUSBMaps/Info.plist")
usb_map_tahoe_path = Path(self.constants.plist_folder_path) / Path("AppleUSBMaps/Info-Tahoe.plist")
if (
usb_map_path.exists()
and usb_map_tahoe_path.exists()
and (self.constants.allow_oc_everywhere is False or self.constants.allow_native_spoofs is True)
and self.model not in ["Xserve2,1", "Dortania1,1"]
and (
(self.model in model_array.Missing_USB_Map or self.model in model_array.Missing_USB_Map_Ventura)
or self.constants.serial_settings in ["Moderate", "Advanced"])
):
logging.info("- Adding USB-Map.kext")
logging.info("- Adding USB-Map.kext and USB-Map-Tahoe.kext")
Path(self.constants.map_kext_folder).mkdir()
Path(self.constants.map_kext_folder_tahoe).mkdir()
Path(self.constants.map_contents_folder).mkdir()
Path(self.constants.map_contents_folder_tahoe).mkdir()
shutil.copy(usb_map_path, self.constants.map_contents_folder)
# for the tahoe, need to copy but rename to Info.plist
shutil.copy(usb_map_tahoe_path, self.constants.map_contents_folder_tahoe / Path("Info.plist"))
support.BuildSupport(self.model, self.constants, self.config).get_kext_by_bundle_path("USB-Map.kext")["Enabled"] = True
support.BuildSupport(self.model, self.constants, self.config).get_kext_by_bundle_path("USB-Map-Tahoe.kext")["Enabled"] = True
if self.model in model_array.Missing_USB_Map_Ventura and self.constants.serial_settings not in ["Moderate", "Advanced"]:
support.BuildSupport(self.model, self.constants, self.config).get_kext_by_bundle_path("USB-Map.kext")["MinKernel"] = "22.0.0"
@@ -324,6 +331,9 @@ xw
support.BuildSupport(self.model, self.constants, self.config).get_kext_by_bundle_path("USB1.1-Injector.kext/Contents/PlugIns/AppleUSBUHCI.kext")["Enabled"] = True
support.BuildSupport(self.model, self.constants, self.config).get_kext_by_bundle_path("USB1.1-Injector.kext/Contents/PlugIns/AppleUSBUHCIPCI.kext")["Enabled"] = True
# Also remove MaxKernel from the USB-Map.kext, as USB stack will be downgraded after root patching
support.BuildSupport(self.model, self.constants, self.config).get_kext_by_bundle_path("USB-Map.kext")["MaxKernel"] = ""
def _debug_handling(self) -> None:
"""

View File

@@ -67,6 +67,24 @@ class BuildSMBIOS:
logging.info("- Adding -no_compat_check")
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -no_compat_check"
def _strip_usb_map(self, map_path, model, spoofed_model, serial_settings):
config = plistlib.load(Path(map_path).open("rb"))
for entry in list(config["IOKitPersonalities_x86_64"]):
if not entry.startswith(model):
config["IOKitPersonalities_x86_64"].pop(entry)
else:
try:
config["IOKitPersonalities_x86_64"][entry]["model"] = spoofed_model
if serial_settings in ["Minimal", "None"]:
if config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] == "EH01":
config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] = "EHC1"
if config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] == "EH02":
config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] = "EHC2"
if config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] == "SHC1":
config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] = "XHC1"
except KeyError:
continue
plistlib.dump(config, Path(map_path).open("wb"), sort_keys=True)
def set_smbios(self) -> None:
"""
@@ -142,24 +160,10 @@ class BuildSMBIOS:
and ((self.model in model_array.Missing_USB_Map or self.model in model_array.Missing_USB_Map_Ventura) or self.constants.serial_settings in ["Moderate", "Advanced"])
):
new_map_ls = Path(self.constants.map_contents_folder) / Path("Info.plist")
map_config = plistlib.load(Path(new_map_ls).open("rb"))
# Strip unused USB maps
for entry in list(map_config["IOKitPersonalities_x86_64"]):
if not entry.startswith(self.model):
map_config["IOKitPersonalities_x86_64"].pop(entry)
else:
try:
map_config["IOKitPersonalities_x86_64"][entry]["model"] = self.spoofed_model
if self.constants.serial_settings in ["Minimal", "None"]:
if map_config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] == "EH01":
map_config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] = "EHC1"
if map_config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] == "EH02":
map_config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] = "EHC2"
if map_config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] == "SHC1":
map_config["IOKitPersonalities_x86_64"][entry]["IONameMatch"] = "XHC1"
except KeyError:
continue
plistlib.dump(map_config, Path(new_map_ls).open("wb"), sort_keys=True)
new_map_ls_tahoe = Path(self.constants.map_contents_folder_tahoe) / Path("Info.plist")
self._strip_usb_map(new_map_ls, self.model, self.spoofed_model, self.constants.serial_settings)
self._strip_usb_map(new_map_ls_tahoe, self.model, self.spoofed_model, self.constants.serial_settings)
if self.constants.allow_oc_everywhere is False and self.model not in ["iMac7,1", "Xserve2,1", "Dortania1,1"] and self.constants.disallow_cpufriend is False and self.constants.serial_settings != "None":
# Adjust CPU Friend Data to correct SMBIOS
new_cpu_ls = Path(self.constants.pp_contents_folder) / Path("Info.plist")

View File

@@ -29,7 +29,7 @@ class CatalogProducts:
catalog: dict,
install_assistants_only: bool = True,
only_vmm_install_assistants: bool = True,
max_install_assistant_version: CatalogVersion = CatalogVersion.SEQUOIA
max_install_assistant_version: CatalogVersion = CatalogVersion.TAHOE
) -> None:
self.catalog: dict = catalog
self.ia_only: bool = install_assistants_only
@@ -251,6 +251,17 @@ class CatalogProducts:
if installer in products_copy:
products_copy.pop(products_copy.index(installer))
# Remove duplicates of the same version (i.e. multiple betas still in catalog), keep only latest
version_map = {}
for installer in products_copy:
version = installer.get("Version")
post_date = installer.get("PostDate")
if version is None:
continue
if version not in version_map or post_date > version_map[version].get("PostDate", ""):
version_map[version] = installer
products_copy = list(version_map.values())
# Remove EOL versions (older than n-3)
for installer in products:

View File

@@ -28,7 +28,7 @@ class AppleDBProducts:
def __init__(
self,
global_constants: constants.Constants,
max_install_assistant_version: os_data = os_data.sequoia,
max_install_assistant_version: os_data = os_data.tahoe,
) -> None:
self.constants: constants.Constants = global_constants

View File

@@ -29,7 +29,7 @@ class CatalogURL:
extension (CatalogExtension): Extension for the catalog URL
"""
def __init__(self,
version: CatalogVersion = CatalogVersion.SEQUOIA,
version: CatalogVersion = CatalogVersion.TAHOE,
seed: SeedType = SeedType.PublicRelease,
extension: CatalogExtension = CatalogExtension.PLIST
) -> None:

View File

@@ -41,6 +41,7 @@ from .hardware.misc import (
gmux,
keyboard_backlight,
legacy_audio,
modern_audio,
pcie_webcam,
t1_security,
usb11,
@@ -127,10 +128,12 @@ class HardwarePatchsetDetection:
legacy_wireless.LegacyWireless,
modern_wireless.ModernWireless,
legacy_audio.LegacyAudio,
modern_audio.ModernAudio,
display_backlight.DisplayBacklight,
gmux.GraphicsMultiplexer,
keyboard_backlight.KeyboardBacklight,
legacy_audio.LegacyAudio,
pcie_webcam.PCIeFaceTimeCamera,
t1_security.T1SecurityChip,
usb11.USB11Controller,

View File

@@ -0,0 +1,77 @@
"""
modern_audio.py: Modern Audio patch set for macOS 26
"""
from ..base import BaseHardware, HardwareVariant
from ...base import PatchType
from .....constants import Constants
from .....datasets.os_data import os_data
class ModernAudio(BaseHardware):
def __init__(self, xnu_major, xnu_minor, os_build, global_constants: Constants) -> None:
super().__init__(xnu_major, xnu_minor, os_build, global_constants)
def name(self) -> str:
"""
Display name for end users
"""
return f"{self.hardware_variant()}: Modern Audio"
def present(self) -> bool:
"""
AppleHDA was outright removed in macOS 26, so this patch set is always present if OS requires it
"""
return True
def native_os(self) -> bool:
"""
- Everything before macOS Tahoe 26 is considered native
"""
if self._xnu_major < os_data.tahoe.value:
return True
# Technically, macOS Tahoe Beta 1 is also native, so return True
if self._os_build == "25A5279m":
return True
return False
def hardware_variant(self) -> HardwareVariant:
"""
Type of hardware variant
"""
return HardwareVariant.MISCELLANEOUS
def _modern_audio_patches(self) -> dict:
"""
Patches for Modern Audio
"""
return {
"Modern Audio": {
PatchType.OVERWRITE_SYSTEM_VOLUME: {
"/System/Library/Extensions": {
"AppleHDA.kext": "26.0 Beta 1",
},
},
},
}
def patches(self) -> dict:
"""
Patches for modern audio
"""
if self.native_os() is True:
return {}
return self._modern_audio_patches()

View File

@@ -72,14 +72,22 @@ class MainFrame(wx.Frame):
- Text: Copyright
"""
# Logo
logo = wx.StaticBitmap(self, bitmap=wx.Bitmap(str(self.constants.icns_resource_path / "OC-Patcher.icns"), wx.BITMAP_TYPE_ICON), pos=(-1, 0), size=(128, 128))
logo.Centre(wx.HORIZONTAL)
# Title label: OpenCore Legacy Patcher v{X.Y.Z}
title_label = wx.StaticText(self, label=f"OpenCore Legacy Patcher {'' if self.constants.special_build else ''}{self.constants.patcher_version}{' (Nightly)' if not self.constants.commit_info[0].startswith('refs/tags') else ''}", pos=(-1, 10))
title_label.SetFont(gui_support.font_factory(19, wx.FONTWEIGHT_BOLD))
title_label = wx.StaticText(self, label=f"OpenCore Legacy Patcher", pos=(-1, 128))
title_label.SetFont(gui_support.font_factory(25, wx.FONTWEIGHT_BOLD))
title_label.Centre(wx.HORIZONTAL)
version_label = wx.StaticText(self, label=f"Version {self.constants.patcher_version}{' (Nightly)' if not self.constants.commit_info[0].startswith('refs/tags') else ''}", pos=(-1, title_label.GetPosition()[1] + 32))
version_label.SetFont(gui_support.font_factory(13, wx.FONTWEIGHT_NORMAL))
version_label.Centre(wx.HORIZONTAL)
version_label.SetForegroundColour(wx.Colour(128, 128, 128))
# Text: Model: {Build or Host Model}
model_label = wx.StaticText(self, label=f"Model: {self.constants.custom_model or self.constants.computer.real_model}", pos=(-1, title_label.GetPosition()[1] + 25
))
model_label = wx.StaticText(self, label=f"Model: {self.constants.custom_model or self.constants.computer.real_model}", pos=(-1, version_label.GetPosition()[1] + 30))
model_label.SetFont(gui_support.font_factory(13, wx.FONTWEIGHT_NORMAL))
model_label.Centre(wx.HORIZONTAL)
self.model_label = model_label

View File

@@ -169,6 +169,20 @@ class CheckProperties:
return True
def host_is_solarium(self) -> bool:
"""
Check if running on macOS 26, and if Solarium refresh is enabled
"""
if self.constants.detected_os < os_data.os_data.tahoe:
return False
# If we are a release build, we are not Solarium for now
if self.constants.commit_info[0].startswith('refs/tags'):
return False
return True
def host_has_cpu_gen(self, gen: int) -> bool:
"""

View File

@@ -753,7 +753,7 @@
<key>Enabled</key>
<false/>
<key>MaxKernel</key>
<string></string>
<string>24.99.99</string>
<key>MinKernel</key>
<string></string>
<key>BundlePath</key>
@@ -763,6 +763,24 @@
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>USB Map for Tahoe</string>
<key>Enabled</key>
<false/>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>25.0.0</string>
<key>BundlePath</key>
<string>USB-Map-Tahoe.kext</string>
<key>ExecutablePath</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
@@ -2842,7 +2860,7 @@
<key>APFS</key>
<dict>
<key>EnableJumpstart</key>
<true/>
<false/>
<key>GlobalConnect</key>
<false/>
<key>HideVerbose</key>
@@ -2936,6 +2954,18 @@
<key>LoadEarly</key>
<false/>
</dict>
<dict>
<key>Comment</key>
<string></string>
<key>Path</key>
<string>apfs_aligned.efi</string>
<key>Enabled</key>
<false/>
<key>Arguments</key>
<string></string>
<key>LoadEarly</key>
<false/>
</dict>
<dict>
<key>Comment</key>
<string></string>

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -60,6 +60,13 @@ UNUSED_DRIVERS = [
"RamDiskDxe.efi",
"Mtftp6Dxe.efi",
"OpenNetworkBoot.efi",
"Virtio10.efi",
"VirtioBlkDxe.efi",
"VirtioGpuDxe.efi",
"VirtioNetDxe.efi",
"VirtioPciDeviceDxe.efi",
"VirtioScsiDxe.efi",
"VirtioSerialDxe.efi"
]
UNUSED_TOOLS = [

Binary file not shown.

Binary file not shown.