Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preliminary support for macOS Sonoma #1077

Merged
merged 89 commits into from
Oct 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
adcceb0
firmware.py: Fix MacPro6,1 boot support in Sonoma
khronokernel Jun 6, 2023
8f8778f
build.py: Set beta flag for development
khronokernel Jun 6, 2023
077b9f6
sys_patch: Add reference notes for 31001
khronokernel Jun 6, 2023
8976496
Add dropped models
khronokernel Jun 6, 2023
0fce7ad
payloads: sync AGPM njector with new units
khronokernel Jun 6, 2023
1126a49
Merge branch 'main' into sonoma-development
khronokernel Jun 6, 2023
31a29e0
config: Limit NVMeFix to Ventura
khronokernel Jun 6, 2023
ca8e1a7
sys_patch.py: Add reference patch set for Broadcom
khronokernel Jun 6, 2023
e531d30
sys_patch_dict.py: Add legacy wifi patch comment
khronokernel Jun 6, 2023
d762b37
sys_patch_dict.py: Add extra comment
khronokernel Jun 6, 2023
9a48318
sys_patch_generate.py: Add support reference for 31001
khronokernel Jun 7, 2023
985e053
sys_patch: Avoid listing Modern Wifi patch
khronokernel Jun 8, 2023
233ded0
Merge branch 'main' into sonoma-development
khronokernel Jun 8, 2023
0dbffc5
Merge branch 'main' into sonoma-development
khronokernel Jun 8, 2023
6020eae
Add patching utility for internal developers
khronokernel Jun 8, 2023
5e45ea9
Sync dev disk image
khronokernel Jun 8, 2023
e5a260b
sys_patch: Disable QC for testing
khronokernel Jun 9, 2023
e298958
sys_patch_detect.py: Drop root KC check
khronokernel Jun 9, 2023
218507b
build: Test RE kern.hv_vmm_present routing
khronokernel Jun 10, 2023
f2cc423
reroute_payloads.py: Adjust message
khronokernel Jun 10, 2023
c044e8a
Sync RestrictEvents
khronokernel Jun 10, 2023
a762d7e
sys_patch: Sync dev tools
khronokernel Jun 10, 2023
c9fae32
Sync sys_patch
khronokernel Jun 11, 2023
abdac48
payloads: Add Sonoma icons to boot picker
khronokernel Jun 11, 2023
b92daff
GUI: Adjust default selection to latest non-Beta
khronokernel Jun 11, 2023
b3f6607
Strip Content Cache references
khronokernel Jun 13, 2023
e754a7d
sys_patch_start.py: Remove unused import
khronokernel Jun 13, 2023
8ac64ff
Sync binaries
khronokernel Jun 13, 2023
8487eab
Merge branch 'main' into sonoma-development
khronokernel Jun 18, 2023
3a50a60
Sync resources
khronokernel Jun 18, 2023
c3e0765
build: Restore S1X/S3X Drive Support for 14.0 Beta 2
khronokernel Jun 23, 2023
f973817
device_probe.py: Expand NVMe detection to 0x106b Device IDs
khronokernel Jun 23, 2023
e3fa2e8
misc.py: Ensure spoofed models with SBM get access to VMM
khronokernel Jul 16, 2023
f3c3c83
Merge branch 'main' into sonoma-development
khronokernel Jul 17, 2023
549bf16
sys_patch: Implement backend for 3802 support
khronokernel Jul 17, 2023
4982ede
Sync PatcherSupportPkg
khronokernel Jul 17, 2023
9b3bf07
wireless.py: Ensure IO80211 patches apply on BCM94331/3224 chipsets
khronokernel Jul 17, 2023
e0d16b2
Merge branch 'main' into sonoma-development
khronokernel Jul 17, 2023
44c2f9c
Resolve CI validation errors
khronokernel Jul 17, 2023
b01adb9
Merge branch 'sonoma-development' of https://github.com/dortania/Open…
khronokernel Jul 17, 2023
c19cbd9
device_probe.py: Match NVMe off class code
khronokernel Jul 17, 2023
74857b1
device_probe.py: Fix NVMe handling (part 2)
dhinakg Jul 17, 2023
a5bb291
device_probe.py: Add in Apple's NVMe class code (part 3)
dhinakg Jul 17, 2023
2bba8f4
device_probe.py: Add multiple class code support
dhinakg Jul 17, 2023
7691184
sys_patch: Add PCIe Webcam support
khronokernel Jul 18, 2023
b9bd017
sys_patch_dict.py: Fix pathing
khronokernel Jul 18, 2023
e21efa9
sys_patch: Clean up patch set logic
khronokernel Jul 22, 2023
169ea95
defaults.py: Adjust logic for modern wifi
khronokernel Jul 23, 2023
509137f
sys_patch_detect.py: Adjust FaceTime patch naming
khronokernel Jul 23, 2023
55e6aea
Add macOS Sonoma public preview
khronokernel Jul 23, 2023
423bf8f
sys_patch_detect.py: Fix KDKless logic for Sonoma
khronokernel Jul 23, 2023
ef4983d
sys_patch_detect.py: Fix any() invocation
khronokernel Jul 24, 2023
24a1e35
sys_patch.py: Increase AMFI check for WiFi patches in Sonoma
khronokernel Jul 24, 2023
20d04d3
sys_patch: Add CoreImage patch for 3802
khronokernel Jul 24, 2023
6003d6c
Merge branch 'main' into sonoma-development
khronokernel Jul 24, 2023
87f412b
Merge branch 'main' into sonoma-development
khronokernel Jul 26, 2023
e0fd78c
sys_patch_detect.py: Adjust OS check from mainline merge
khronokernel Jul 26, 2023
84a3341
Merge branch 'main' into sonoma-development
khronokernel Jul 26, 2023
1038be3
build: Add basic T1 patches
khronokernel Aug 1, 2023
d7eebbe
Swap injection order
khronokernel Aug 1, 2023
5ecd453
storage.py: Streamline S1X/S3X logic
khronokernel Aug 1, 2023
c9a14e2
misc.py: Disable T1 patches temporarily
khronokernel Aug 1, 2023
5b6b8d6
Merge branch 'main' into sonoma-development
khronokernel Aug 18, 2023
d73d62f
Ensure custom RE is used
khronokernel Aug 18, 2023
829f1f6
Fix legacy wifi without vmm patches
Aug 18, 2023
36f69c4
Restore KDKLess support and drop IOSurface downgrade
Aug 18, 2023
e800612
Ensure patched GeForce kext is used for Sonoma
Aug 20, 2023
3786296
Merge branch 'main' into sonoma-development
khronokernel Aug 21, 2023
fd17caf
Update IOSurface patches for Intel iGPUs
Aug 23, 2023
214e31e
Implement experimental non-Metal support
Sep 10, 2023
434dedb
Update non-Metal Safari workaround and avoid disabling Beta Menu Bar …
Sep 12, 2023
cf7a553
Fix non-Metal PhotoBooth
covasedu Sep 13, 2023
86a9789
Merge branch 'main' into sonoma-development
khronokernel Sep 17, 2023
3572287
sys_patch: Resolve dGPU support for MacBookPro14,3
khronokernel Sep 17, 2023
9317e11
build.py: Add ECM-Override
khronokernel Sep 18, 2023
51eb22b
Fix WPA Enterprise and non-Metal blank WebKit on TS2/WebDriver
Sep 23, 2023
e62335c
Merge branch 'main' into sonoma-development
khronokernel Sep 24, 2023
ed78b56
config: Fix comment
khronokernel Sep 26, 2023
dad8d12
Add basic support for 3rd party Broadcom chipsets
khronokernel Sep 26, 2023
8c25110
sys_patch: Adjust WebKit command to global file
khronokernel Sep 26, 2023
fc65423
sys_patch: Add missing Xserve3,1 handling
khronokernel Sep 26, 2023
f7b160f
Sync kexts
khronokernel Sep 26, 2023
8baca06
Sync OpenCorePkg
khronokernel Sep 27, 2023
55b3641
Sync changelog
khronokernel Sep 27, 2023
f24a7f4
smbios_data.py: Remove extra space
khronokernel Sep 27, 2023
ca4fd22
Sync RestrictEvents
khronokernel Sep 27, 2023
8db6085
Revert to OpenCore 0.9.3
khronokernel Sep 28, 2023
2fc21e6
Fix debug logic
khronokernel Sep 28, 2023
5683fed
Merge branch 'main' into sonoma-development
khronokernel Oct 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 24 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,36 @@
- Drops Rosetta requirement on Apple Silicon Macs
- Note building from source will require Python 3.11 or newer and up-to-date Python modules
- Update font handling code, fixing font issues on Yosemite and El Capitan
- Add `OpenLegacyBoot.efi` for Macs with CSM
- Allows for booting CSM-based OSes (ex. Windows 7)
- Applicable for Ivy Bridge and older Macs (excluding MacPro6,1)
- Resolve incorrect RELEASE usage of OpenCore binaries when DEBUG enabled
- Implement basic support for macOS Sonoma:
- Supports same range of hardware as Ventura, in addition to:
- iMac18,x
- MacBook10,1
- MacBookPro14,x
- [T1 chip currently unsupported in Sonoma](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1103)
- Resolved issues:
- Graphics Acceleration support for 3802 and non-Metal GPUs
- UI corruption on 31001 GPUs
- Wireless Networking for BCM94360, 4360, 4350, 4331 and 43224
- USB ethernet support for adapters based on ECM protocol (ex. Realtek)
- dGPU support for MacBookPro14,3
- S1X/S3X NVMe Drive Support
- PCIe-based FaceTime Camera support
- Bluetooth support by switching to dynamic VMM spoofing
- Increment Binaries:
- OpenCorePkg 0.9.3 - release
- Lilu 1.6.6 - release
- WhateverGreen 1.6.5 - release
- RestrictEvents 1.1.2 - release
- Lilu 1.6.7 - release
- WhateverGreen 1.6.6 - release
- RestrictEvents 1.1.3 - (rolling - 4f233dd)
- FeatureUnlock 1.1.5 - release
- DebugEnhancer 1.0.8 - release
- CPUFriend 1.2.7 - release
- BlueToolFixup 2.6.8 - rolling (2305aaa)
- CryptexFixup 1.0.2 - release
- PatcherSupportPkg 1.2.6 - release
- PatcherSupportPkg 1.3.0 - release
- Build Server Changes:
- Upgrade Python backend to 3.11.5
- Upgrade Python modules:
Expand Down Expand Up @@ -62,7 +81,7 @@
- utilities.py:
- Fix indexing error on Device Paths (thx [@Ausdauersportler](https://github.com/Ausdauersportler))
- Increment Binaries:
- PatcherSupportPkg 1.2.2 - release
- PatcherSupportPkg 1.2.2 - release

## 0.6.7
- Resolve partition buttons overlapping in Install OpenCore UI
Expand Down
12 changes: 10 additions & 2 deletions OpenCore-Patcher-GUI.spec
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
# -*- mode: python ; coding: utf-8 -*-

import sys, os, time, subprocess
import sys, os, time, subprocess, pathlib
sys.path.append(os.path.abspath(os.getcwd()))
from resources import constants
block_cipher = None

datas = [
('payloads.dmg', '.'),
('Universal-Binaries.dmg', '.'),

]
if pathlib.Path("DortaniaInternalResources.dmg").exists():
datas.append(('DortaniaInternalResources.dmg', '.'))


a = Analysis(['OpenCore-Patcher-GUI.command'],
pathex=[],
binaries=[],
datas=[('payloads.dmg', '.'), ('Universal-Binaries.dmg', '.')],
datas=datas,
hiddenimports=[],
hookspath=[],
hooksconfig={},
Expand Down
7 changes: 7 additions & 0 deletions data/model_array.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"MacBook7,1",
"MacBook8,1",
"MacBook9,1",
"MacBook10,1",
# MacBook Air
"MacBookAir2,1",
"MacBookAir3,1",
Expand Down Expand Up @@ -46,6 +47,9 @@
"MacBookPro13,1",
"MacBookPro13,2",
"MacBookPro13,3",
"MacBookPro14,1",
"MacBookPro14,2",
"MacBookPro14,3",
# Mac Mini
"Macmini3,1",
"Macmini4,1",
Expand Down Expand Up @@ -76,6 +80,9 @@
"iMac16,1",
"iMac16,2",
"iMac17,1",
"iMac18,1",
"iMac18,2",
"iMac18,3",
# Mac Pro
"MacPro3,1",
"MacPro4,1",
Expand Down
33 changes: 20 additions & 13 deletions data/pci_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -418,17 +418,17 @@ class nvidia_ids:
0x1186, # GK104 [GTX 660 Ti]
0x1187, # GK104 [GTX 760]
0x1188, # GK104 [GTX 690]
0x1189, # GK104 [GTX 670]
0x118a, # GK104GL [GRID K520]
0x118b, # GK104GL [GRID K2 GeForce USM]
0x118c, # GK104 [GRID K2 NVS USM]
0x1189, # GK104 [GTX 670]
0x118a, # GK104GL [GRID K520]
0x118b, # GK104GL [GRID K2 GeForce USM]
0x118c, # GK104 [GRID K2 NVS USM]
0x118d, # GK104GL [GRID K200 vGPU]
0x118E, # GK104 [GTX 760 OEM]
0x118F, # GK104GL [Tesla K10]
0x1191, # GK104 [GTX 760 Rev. 2]
0x1193, # GK104 [GTX 760 Ti OEM]
0x1194, # GK104GL [Tesla K8]
0x1195, # GK104 [GTX 660 Rev. 2]
0x1191, # GK104 [GTX 760 Rev. 2]
0x1193, # GK104 [GTX 760 Ti OEM]
0x1194, # GK104GL [Tesla K8]
0x1195, # GK104 [GTX 660 Rev. 2]
0x1198, # GK104M [GTX 880M]
0x1199, # GK104M [GTX 870M]
0x119A, # GK104M [GTX 860M]
Expand Down Expand Up @@ -458,8 +458,8 @@ class nvidia_ids:
# GK106
0x11C0, # GK106 [GTX 660]
0x11C2, # GK106 [GTX 650 Ti BOOST]
0x11c3, # GK106 [GTX 650 Ti OEM]
0x11c4, # GK106 [GTX 645 OEM]
0x11c3, # GK106 [GTX 650 Ti OEM]
0x11c4, # GK106 [GTX 645 OEM]
0x11c5, # GK106 [GT 740]
0x11C6, # GK106 [GTX 650 Ti]
0x11C7, # GK106 [GTX 750 Ti]
Expand Down Expand Up @@ -627,10 +627,10 @@ class nvidia_ids:

0x17c2, # GM200 [GTX TITAN X]
0x17c8, # GM200 [GTX 980 Ti]
0x17f0, # GM200GL [Quadro M6000]
0x17f1, # GM200GL [Quadro M6000 24GB]
0x17f0, # GM200GL [Quadro M6000]
0x17f1, # GM200GL [Quadro M6000 24GB]
0x17fd, # GM200GL [Tesla M40]

0x13c0, # GM204 [GTX 980]
0x13c1, # GM204
0x13c2, # GM204 [GTX 970]
Expand Down Expand Up @@ -1171,6 +1171,13 @@ class broadcom_ids:
0x43A0, # BCM4360
]

# Not natively supported, but supported by AirportBrcmFixup
AirPortBrcmNICThirdParty = [
0x4357, # BCM43225
0x43B1, # BCM4352
0x43B2, # BCM4352 (2.4 GHz)
]

AirPortBrcm4360 = [
# AirPortBrcm4360 IDs (removed duplicates for 4360 class cards)
0x4331, # BCM94331
Expand Down
20 changes: 10 additions & 10 deletions data/smbios_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@
"FirmwareFeatures": "0x8FC0FE13F",
"SecureBootModel": None,
"CPU Generation": cpu_data.CPUGen.kaby_lake.value,
"Max OS Supported": os_data.os_data.max_os,
"Max OS Supported": os_data.os_data.ventura,
"Wireless Model": device_probe.Broadcom.Chipsets.AirportBrcmNIC,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20703_UART,
"Screen Size": 12,
Expand Down Expand Up @@ -708,7 +708,7 @@
],
},
"MacBookPro3,1": {
"Marketing Name": "MacBook Pro (15-inch, 2.4 2.2GHz) ",
"Marketing Name": "MacBook Pro (15-inch, 2.4 2.2GHz)",
"Board ID": "Mac-F4238BC8",
"FirmwareFeatures": "0xC0001407",
"SecureBootModel": None,
Expand Down Expand Up @@ -1251,7 +1251,7 @@
],
},
"MacBookPro13,2": {
"Marketing Name": "MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports) ",
"Marketing Name": "MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)",
"Board ID": "Mac-66E35819EE2D0D05",
"FirmwareFeatures": "0x8FC0FE137",
"SecureBootModel": None,
Expand Down Expand Up @@ -1294,7 +1294,7 @@
"FirmwareFeatures": "0x8FF0FF57E",
"SecureBootModel": None,
"CPU Generation": cpu_data.CPUGen.kaby_lake.value,
"Max OS Supported": os_data.os_data.max_os,
"Max OS Supported": os_data.os_data.ventura,
"Wireless Model": device_probe.Broadcom.Chipsets.AirportBrcmNIC,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20703_UART,
"Screen Size": 13,
Expand All @@ -1307,12 +1307,12 @@
],
},
"MacBookPro14,2": {
"Marketing Name": "MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports) ",
"Marketing Name": "MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)",
"Board ID": "Mac-CAD6701F7CEA0921",
"FirmwareFeatures": "0x8FF0FF57E",
"SecureBootModel": None,
"CPU Generation": cpu_data.CPUGen.kaby_lake.value,
"Max OS Supported": os_data.os_data.max_os,
"Max OS Supported": os_data.os_data.ventura,
"Wireless Model": device_probe.Broadcom.Chipsets.AirportBrcmNIC,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20703_UART,
"Screen Size": 13,
Expand All @@ -1330,7 +1330,7 @@
"FirmwareFeatures": "0x8FF0FF57E",
"SecureBootModel": None,
"CPU Generation": cpu_data.CPUGen.kaby_lake.value,
"Max OS Supported": os_data.os_data.max_os,
"Max OS Supported": os_data.os_data.ventura,
"Wireless Model": device_probe.Broadcom.Chipsets.AirportBrcmNIC,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20703_UART,
"Screen Size": 15,
Expand Down Expand Up @@ -2495,7 +2495,7 @@
"FirmwareFeatures": "0x8FD0FF576",
"SecureBootModel": None,
"CPU Generation": cpu_data.CPUGen.kaby_lake.value,
"Max OS Supported": os_data.os_data.max_os,
"Max OS Supported": os_data.os_data.ventura,
"Wireless Model": device_probe.Broadcom.Chipsets.AirportBrcmNIC,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20703,
"Ethernet Chipset": "Broadcom",
Expand All @@ -2513,7 +2513,7 @@
"FirmwareFeatures": "0x8FD0FF576",
"SecureBootModel": None,
"CPU Generation": cpu_data.CPUGen.kaby_lake.value,
"Max OS Supported": os_data.os_data.max_os,
"Max OS Supported": os_data.os_data.ventura,
"Wireless Model": device_probe.Broadcom.Chipsets.AirportBrcmNIC,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20703,
"Ethernet Chipset": "Broadcom",
Expand All @@ -2532,7 +2532,7 @@
"FirmwareFeatures": "0x8FD0FF576",
"SecureBootModel": None,
"CPU Generation": cpu_data.CPUGen.kaby_lake.value,
"Max OS Supported": os_data.os_data.max_os,
"Max OS Supported": os_data.os_data.ventura,
"Wireless Model": device_probe.Broadcom.Chipsets.AirportBrcmNIC,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20703,
"Ethernet Chipset": "Broadcom",
Expand Down
Loading