Compare commits

...

26 Commits
0.0.3 ... 0.0.6

Author SHA1 Message Date
Mykola Grymalyuk
6f4bface55 Sync changelog
Closes https://github.com/dortania/Opencore-Legacy-Patcher/issues/8
2020-12-04 16:03:43 -07:00
Mykola Grymalyuk
ad5004d3e8 Add temp workaround to macserial issue 2020-12-04 15:59:20 -07:00
Mykola Grymalyuk
fff9c4b75d Update BuildOpenCore.py 2020-12-04 15:33:21 -07:00
Mykola Grymalyuk
d6224db564 Update macserial 2020-12-04 15:27:19 -07:00
Mykola Grymalyuk
6b900d7aa8 Update README.md 2020-12-04 14:29:36 -07:00
Mykola Grymalyuk
217999a8e7 Update README.md 2020-12-04 14:29:18 -07:00
Mykola Grymalyuk
b25fa91962 Fix misc issues 2020-12-03 13:42:54 -07:00
Mykola Grymalyuk
627bc817d0 Enable Hibernation support
Closes https://github.com/dortania/Opencore-Legacy-Patcher/issues/7
2020-12-03 11:45:23 -07:00
Mykola Grymalyuk
511ea4cf68 Increment build version 2020-12-03 09:42:50 -07:00
Mykola Grymalyuk
1a37abbb4b Sync changelog 2020-12-03 09:37:19 -07:00
Mykola Grymalyuk
e284214dfb Add AGDP patch for dual GPU models 2020-12-03 09:28:37 -07:00
Mykola Grymalyuk
33df90c399 Temp remove GUI due to rendering issues 2020-12-03 09:12:01 -07:00
Mykola Grymalyuk
80e65bb6ab Add basic audio support for legacy chipets 2020-12-03 09:08:42 -07:00
Mykola Grymalyuk
513fe5cb36 Add basic troubleshooting 2020-12-03 09:00:36 -07:00
Mykola Grymalyuk
eb5280f827 Fix correcy typo
Closes https://github.com/dortania/Opencore-Legacy-Patcher/issues/5
2020-12-03 08:51:12 -07:00
Mykola Grymalyuk
bafff66417 Print IOHIDFamily patching 2020-12-02 17:23:53 -07:00
Mykola Grymalyuk
f71c8925c6 Update icon border 2020-12-02 17:23:04 -07:00
Mykola Grymalyuk
9ace5c9624 Add basic py3 support 2020-12-02 14:56:12 -07:00
Mykola Grymalyuk
939ee3f188 Add VoodooHDA payload 2020-12-02 11:12:36 -07:00
Mykola Grymalyuk
a57fa2d572 Update README.md 2020-12-02 10:35:45 -07:00
Mykola Grymalyuk
ce16e87101 Update README.md 2020-12-02 10:33:44 -07:00
Mykola Grymalyuk
abc704e6e3 Add icon 2020-12-02 10:32:46 -07:00
Mykola Grymalyuk
8480c1d7c6 Add basic app building
Currently non-functional
2020-12-02 08:13:23 -07:00
Mykola Grymalyuk
3b8168644f Fix import with py3 2020-12-01 20:55:39 -07:00
Mykola Grymalyuk
8756a2daa3 Fix incorrect DeviceProperty formatting 2020-12-01 17:43:34 -07:00
Mykola Grymalyuk
89d434e708 Increment build version 2020-12-01 17:09:52 -07:00
15 changed files with 328 additions and 95 deletions

1
.gitignore vendored
View File

@@ -1,4 +1,5 @@
.DS_Store
/App
/Build-Folder
/.vscode
__pycache__/

52
Build-App.command Executable file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env python
from __future__ import print_function
from shutil import copy
from shutil import rmtree
from distutils.dir_util import copy_tree
import os
import json
import subprocess
import sys
import zipfile
os.chdir(os.path.dirname(os.path.realpath(__file__)))
current_path = os.getcwd()
print(current_path)
# File location
command_path = os.path.join(current_path, "OpenCore-Patcher.command")
resources_path = os.path.join(current_path, "Resources/")
payloads_path = os.path.join(current_path, "payloads/")
icns_path = os.path.join(current_path, "OC-Patcher.icns")
plist_path = os.path.join(current_path, "Info.plist")
app_path = os.path.join(current_path, "App/")
app_app_path = os.path.join(current_path, "App/OpenCore-Patcher.app/")
contents_path = os.path.join(current_path, "App/OpenCore-Patcher.app/Contents/")
app_macos_path = os.path.join(current_path, "App/OpenCore-Patcher.app/Contents/MacOS/")
app_macos_payload_path = os.path.join(current_path, "App/OpenCore-Patcher.app/Contents/MacOS/payloads")
app_macos_resources_path = os.path.join(current_path, "App/OpenCore-Patcher.app/Contents/MacOS/Resources")
app_resources_path = os.path.join(current_path, "App/OpenCore-Patcher.app/Contents/Resources/")
if os.path.exists(app_path):
print("Cleaning App folder")
rmtree(app_path)
print("Creating new App folder")
os.mkdir(app_path)
os.mkdir(app_app_path)
os.mkdir(contents_path)
os.mkdir(app_macos_path)
os.mkdir(app_resources_path)
copy(command_path, app_macos_path)
copy_tree(resources_path, app_macos_resources_path)
copy_tree(payloads_path, app_macos_payload_path)
copy(icns_path, app_resources_path)
copy(plist_path, contents_path)
copy(icns_path, app_macos_path)

View File

@@ -1,5 +1,18 @@
# OpenCore Legacy Patcher changelog
## 0.0.6
- Fix macserial crashing
## 0.0.5
- Enable hibernation support
- Work around USB Map failing
- Add checks whether booting with OpenCore
- Fix MouSSE injection
## 0.0.4
- Add basic audio support for legacy chipsets
- Add patch for dual GPU machines
## 0.0.3
- Fix Wireless patch logic

32
Info.plist Normal file
View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>OpenCore-Patcher.command</string>
<key>CFBundleIconFile</key>
<string>OC-Patcher.icns</string>
<key>CFBundleIdentifier</key>
<string>com.dortania.OpenCore-Patcher</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>0.0</string>
<key>CFBundleName</key>
<string>OpenCore-Patcher</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0</string>
<key>LSMinimumSystemVersion</key>
<string>10.4</string>
<key>LSMultipleInstancesProhibited</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>Copyright 2020 Dortania</string>
</dict>
</plist>

BIN
OC-Patcher.icns Normal file

Binary file not shown.

BIN
OC-Patcher.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

View File

@@ -12,8 +12,15 @@ import zipfile
from Resources import *
# Allow py2 and 3 support
try:
input = raw_input
except NameError:
pass
# List build versions
patcher_version = "0.0.3"
patcher_version = "0.0.6"
CustomSMBIOS=False
MainMenu=True
@@ -53,7 +60,7 @@ while MainMenu:
print(" 5. Exit")
print("")
MainMenu = raw_input('Please select an option: ')
MainMenu = input('Please select an option: ')
if MainMenu=="1":
OpenCoreBuilderMenu=True
@@ -69,7 +76,7 @@ while MainMenu:
print(" 3. Return to main menu")
print("")
OpenCoreBuilderMenu = raw_input('Please select an option: ')
OpenCoreBuilderMenu = input('Please select an option: ')
if OpenCoreBuilderMenu=="1":
AutoBuilderMenu=True
@@ -83,7 +90,7 @@ while MainMenu:
print (" %s" % Versions.current_path)
print("")
BuildOpenCore.BuildEFI()
BuildOpenCore.BuildGUI()
#BuildOpenCore.BuildGUI()
BuildOpenCore.BuildSMBIOS()
BuildOpenCore.SavePlist()
BuildOpenCore.CleanBuildFolder()
@@ -91,7 +98,7 @@ while MainMenu:
print("Your OpenCore EFI has been built at:")
print(" %s" % Versions.opencore_path_done)
print("")
AutoBuilderMenu = raw_input("Press any key to return to previous menu: ")
AutoBuilderMenu = input("Press any key to return to previous menu: ")
if AutoBuilderMenu=="1":
print("Returning to previous menu...")
AutoBuilderMenu=False
@@ -106,7 +113,7 @@ while MainMenu:
print("")
print(" Supported versions: 0.6.3, 0.6.4")
print("")
OpenCoreOption = raw_input('Please enter the OpenCore you want (Press enter to exit): ')
OpenCoreOption = input('Please enter the OpenCore you want (Press enter to exit): ')
if OpenCoreOption == "":
print("Exiting...")
ChangeOCversion=False
@@ -115,7 +122,7 @@ while MainMenu:
print("")
print(" New SMBIOS: %s" % OpenCoreOption)
print("")
ChangeOCversionYN = raw_input("Is this correcy? (y/n)")
ChangeOCversionYN = input("Is this correct? (y/n)")
if ChangeOCversionYN in {"y", "Y", "yes", "Yes"}:
ChangeOCversion=False
Versions.opencore_version = OpenCoreOption
@@ -143,7 +150,7 @@ while MainMenu:
print(" 2. Return to main menu")
print("")
OpenCoreInstallerMenu = raw_input('Please select an option: ')
OpenCoreInstallerMenu = input('Please select an option: ')
if OpenCoreInstallerMenu=="1":
os.system('clear')
@@ -156,7 +163,7 @@ while MainMenu:
print("OpenCore folder missing!")
print("Please build OpenCore first")
print("")
OpenCoreInstallerMenu = raw_input("Press any key to exit: ")
OpenCoreInstallerMenu = input("Press any key to exit: ")
if OpenCoreInstallerMenu=="1":
print("Returning to main menu...")
OpenCoreInstallerMenu=False
@@ -181,7 +188,7 @@ while MainMenu:
print("")
print(" system_profiler SPHardwareDataType | grep 'Model Identifier'")
print("")
SMBIOSOption = raw_input('Please enter the SMBIOS of your machine (Press enter to exit): ')
SMBIOSOption = input('Please enter the SMBIOS of your machine (Press enter to exit): ')
if SMBIOSOption == "":
print("Exiting...")
SMBIOSMenu=False
@@ -190,7 +197,7 @@ while MainMenu:
print("")
print(" New SMBIOS: %s" % SMBIOSOption)
print("")
SMBIOSMenuYN = raw_input("Is this correcy? (y/n)")
SMBIOSMenuYN = input("Is this correct? (y/n)")
if SMBIOSMenuYN in {"y", "Y", "yes", "Yes"}:
SMBIOSMenu=False
BuildOpenCore.current_model = SMBIOSOption
@@ -211,8 +218,9 @@ while MainMenu:
print(" - DhinakG: Writing and maintaining this Patcher")
print(" - Khronokernel: Writing and maintaining this Patcher")
print(" - Syncretic: AAAMouSSE and telemetrap")
print(" - Slice: VoodooHDA")
print("")
CreditMenu = raw_input(" Press any key to exit: ")
CreditMenu = input(" Press any key to exit: ")
print("Returning to main menu...")
CreditMenu=False
MainMenu=True

View File

@@ -1,14 +1,10 @@
# OpenCore Legacy Patcher
<img src="OC-Patcher.png" width="256">
A python script for building and booting OpenCore on legacy Macs, see [Supported SMBIOS](#supported-smbios) on whether your model is supported.
Current TO-DO's with this patcher:
* [ ] Create macOS Installer
* [ ] Legacy GPU Patches
* ie. 2011 and older
* [ ] Legacy Audio Patches
* ie. 2011 and older
See [here](https://github.com/dortania/Opencore-Legacy-Patcher/issues/1) for current TO-DOs on this patcher.
## Supported SMBIOS
@@ -102,3 +98,33 @@ Prerequists:
4. Once finished, run option 2 a the main menu and install onto your desired drive
Once you're done making your OpenCore installer, you can simply reboot holding the Option key. In the picker, you should see a new EFI Boot Option. Boot it and from there you'll be in the OpenCore picker.
## How to uninstall OpenCore?
To remve OpenCore is actually quite simply:
1. Remove OpenCore either from the USB or internal drive
* You'll need to mount the drive's EFI partition, and delete the EFI folder
* [See here for example how to mount](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html)
2. Reset NVRAM
* [Reset NVRAM or PRAM on your Mac](https://support.apple.com/HT204063)
## Troubleshooting
Here are some common errors users may experience while using this patcher:
* [Stuck on `This version of Mac OS X is not supported on this platform`](#stuck-on-this-version-of-mac-os-x-is-not-supported-on-this-platform)
* [Cannot boot macOS without the USB](#cannot-boot-macos-without-the-usb)
### Stuck on `This version of Mac OS X is not supported on this platform`
This means macOS has detected a SMBIOS it does not support, to resolve this ensure you're booting OpenCore **before** the macOS installer in the boot picker. Reminder the option will be called `EFI Boot`
Once you've booted OpenCore at least once, your hardware should now auto boot it until either NVRAM reset or you remove the drive with OpenCore installed.
### Cannot boot macOS without the USB
At this time, the OpenCore Patcher won't install macOS onto the internal drive itself during installs. Instead, you'll need to either [manually transfer](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html) OpenCore to the internal drive's EFI or run this patcher's Option 2 again but select your internal drive.
Reminder that once this is done, you'll need to select OpenCore in the boot picker again for your hardware to remenber this entry and auto boot from then on.

View File

@@ -12,12 +12,27 @@ import subprocess
import sys
import zipfile
import Versions
import ModelArray
from Resources import Versions
from Resources import ModelArray
# Allow py2 and 3 support
try:
input = raw_input
except NameError:
pass
# Find SMBIOS of machine
current_model = subprocess.Popen("system_profiler SPHardwareDataType".split(), stdout=subprocess.PIPE)
current_model = [line.strip().split(": ", 1)[1] for line in current_model.stdout.read().split("\n") if line.strip().startswith("Model Identifier")][0]
opencore_model = subprocess.Popen(["NVRAM", "4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:oem-product"], stdout=subprocess.PIPE).communicate()[0]
if opencore_model not in ("NVRAM: Error getting variable - '4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:oem-product': (iokit/common) data was not found"):
print("Detected OpenCore machine")
opencore_model = subprocess.Popen("nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:oem-product".split(), stdout=subprocess.PIPE)
opencore_model = [line.strip().split(":oem-product ", 1)[1] for line in opencore_model.stdout.read().split("\n") if line.strip().startswith("4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:")][0]
current_model = opencore_model
else:
print("No OpenCore detected")
current_model = subprocess.Popen("system_profiler SPHardwareDataType".split(), stdout=subprocess.PIPE)
current_model = [line.strip().split(": ", 1)[1] for line in current_model.stdout.read().split("\n") if line.strip().startswith("Model Identifier")][0]
print("Current Model: %s" % current_model)
OCExist = False
@@ -65,7 +80,7 @@ def BuildEFI():
if current_model in ModelArray.SSEEmulator:
print("- Adding AAAMouSSE v%s" % Versions.mousse_version)
copy(Versions.mousse_version, Versions.kext_path_build)
copy(Versions.mousse_path, Versions.kext_path_build)
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--AAAMouSSE-->",
"<true/><!--AAAMouSSE-->"
@@ -153,50 +168,71 @@ def BuildEFI():
if current_model in ModelArray.EthernetNvidia:
# Nvidia chipsets all have the same path to ARPT
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0)"
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)"
)
if current_model in ("MacBookAir2,1", "MacBookAir3,1", "MacBookAir3,2" ):
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0)"
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)"
)
elif current_model in ("iMac7,1", "iMac8,1" ):
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x4)Pci(0x0,0x0)"
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)"
)
elif current_model in ("iMac13,1", "iMac13,2"):
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0)"
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)"
)
elif current_model in ("MacPro5,1"):
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x5)Pci(0x0,0x0)"
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x5)/Pci(0x0,0x0)"
)
else:
# Assumes we have a laptop with Intel chipset
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)"
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)"
)
if current_model in ModelArray.LegacyHID:
print("- Adding legacy IOHIDFamily Patch")
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--IOHIDFamily-->",
"<true/><!--IOHIDFamily-->"
)
if current_model in ModelArray.LegacyAudio:
print("- Adding VoodooHDA v%s" % Versions.voodoohda_version)
copy(Versions.voodoohda_path, Versions.kext_path_build)
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--VoodooHDA-->",
"<true/><!--VoodooHDA-->"
)
usb_map_path = os.path.join(Versions.current_path, "payloads/Kexts/Maps/Zip/" "USB-Map-%s.zip" % current_model)
if os.path.exists(usb_map_path):
print("- Adding USB Map for %s" % current_model)
copy(usb_map_path, Versions.kext_path_build)
map_name = ("USB-Map-%s.kext" % current_model)
Versions.plist_data = Versions.plist_data.replace(
"<<false/><!--USBmap-->",
"<true/><!--USBmap-->"
)
Versions.plist_data = Versions.plist_data.replace(
"USB-Map-SMBIOS.kext",
map_name
)
if current_model in ModelArray.DualGPUPatch:
print("- Adding dual GPU patch")
Versions.plist_data = Versions.plist_data.replace(
"debug=0x100",
"debug=0x100 agdpmod=pikera"
)
def BuildGUI():
print("- Adding OpenCanopy GUI")
@@ -236,6 +272,8 @@ def BuildSMBIOS():
new_model = "MacPro7,1"
# Grab serials from macserial
serialPatch = subprocess.Popen(["xattr", "-cr", "./payloads/tools/macserial"], stdout=subprocess.PIPE).communicate()[0]
print(serialPatch)
serialData = subprocess.Popen((r"./payloads/tools/macserial -g -m " + new_model + " -n 1").split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
serialData = serialData.stdout.read().strip().split(" | ")
@@ -245,16 +283,20 @@ def BuildSMBIOS():
new_model
)
# Patch Number Serial
Versions.plist_data = Versions.plist_data.replace(
"W00000000001",
serialData[0]
)
# Patch MLB
Versions.plist_data = Versions.plist_data.replace(
"M0000000000000001",
serialData[1]
)
if serialData == "['']":
# Used as a backup for when macserial fails
print("Failed to load macserial")
else:
# Patch Number Serial
Versions.plist_data = Versions.plist_data.replace(
"W00000000001",
serialData[0]
)
# Patch MLB
Versions.plist_data = Versions.plist_data.replace(
"M0000000000000001",
serialData[1]
)
# Patch UUID
uuidGen = subprocess.Popen(["uuidgen"], stdout=subprocess.PIPE).communicate()[0]
@@ -306,12 +348,12 @@ def ListDiskutil():
print("Loading diskutil...(This may take some time)")
diskList = subprocess.Popen(["diskutil", "list"], stdout=subprocess.PIPE).communicate()[0]
print(diskList)
ChosenDisk = raw_input('Please select the disk you want to install OpenCore to(ie. disk1): ')
ChosenDisk = input('Please select the disk you want to install OpenCore to(ie. disk1): ')
ChosenDisk = ChosenDisk + "s1"
print("Trying to mount %s" % ChosenDisk)
diskMount = subprocess.Popen(["sudo", "diskutil", "mount", ChosenDisk], stdout=subprocess.PIPE).communicate()[0]
print(diskMount)
DiskMenu = raw_input("Press any key to continue: ")
DiskMenu = input("Press any key to continue: ")
def MoveOpenCore():
print("")

View File

@@ -198,45 +198,45 @@ WifiBCM943224 = [
]
WifiBCM94331 = [
"MacBook5,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBook5,2", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBook6,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBook7,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBookAir2,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBookAir3,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBookAir3,2", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBookAir4,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookAir4,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookAir5,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookAir5,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookPro5,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBookPro5,2", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBookPro5,3", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBookPro5,4", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBookPro5,5", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBookPro6,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookPro6,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookPro7,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"MacBookPro8,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookPro8,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookPro8,3", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookPro9,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookPro9,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookPro10,1",# PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"MacBookPro10,2",# PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"Macmini3,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"Macmini4,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"Macmini5,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"Macmini5,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"Macmini5,3", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"Macmini6,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"Macmini6,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
"iMac7,1", # PciRoot(0x0)/Pci(0x1C,0x4)Pci(0x0,0x0) 1c-04
"iMac8,1", # PciRoot(0x0)/Pci(0x1C,0x4)Pci(0x0,0x0) 1c-04
"iMac9,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
"iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0) 1c-03
"iMac13,2", # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0) 1c-03
"MacPro5,1" # PciRoot(0x0)/Pci(0x1C,0x5)Pci(0x0,0x0) 1c-05
"MacBook5,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBook5,2", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBook6,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBook7,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir2,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir3,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir3,2", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir4,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir4,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir5,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir5,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro5,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,2", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,3", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,4", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,5", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro6,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro6,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro7,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro8,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro8,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro8,3", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro9,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro9,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro10,1",# PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro10,2",# PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini3,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"Macmini4,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"Macmini5,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini5,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini5,3", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini6,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini6,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"iMac7,1", # PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)
"iMac8,1", # PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)
"iMac9,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)
"iMac13,2", # PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)
"MacPro5,1" # PciRoot(0x0)/Pci(0x1C,0x5)/Pci(0x0,0x0)
]
## Audio
@@ -367,6 +367,26 @@ SidecarPatch = [
"iMac14,3"
]
DualGPUPatch = [
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro10,1",
"Macmini5,2",
"iMac12,1",
"iMac12,2",
"iMac13,2",
"iMac14,2",
"iMac14,3",
]
# 11" Air
MacBookAir61 = [
"MacBookAir3,1",

View File

@@ -23,6 +23,7 @@ mousse_version = "0.93"
telemetrap_version = "1.0.0"
io80211high_sierra_version = "1.0.0"
io80211mojave_version = "1.0.0"
voodoohda_version = "296"
# List current location
os.chdir(os.path.dirname(os.path.realpath(__file__)))
@@ -52,6 +53,7 @@ mousse_path = os.path.join(current_path, "payloads/Kexts/SSE/" "AAAMouSSE-v%s.zi
telemetrap_path = os.path.join(current_path, "payloads/Kexts/SSE/" "telemetrap-v%s.zip" % telemetrap_version)
io80211high_sierra_path = os.path.join(current_path, "payloads/Kexts/Wifi/" "IO80211HighSierra-v%s.zip" % io80211high_sierra_version)
io80211mojave_path = os.path.join(current_path, "payloads/Kexts/Wifi/" "IO80211Mojave-v%s.zip" % io80211mojave_version)
voodoohda_path = os.path.join(current_path, "payloads/Kexts/Audio/" "VoodooHDA-v%s.zip" % voodoohda_version)
# Build Location
opencore_path_build = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s.zip" % opencore_version)
@@ -68,5 +70,6 @@ gui_path_build = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s/EFI/OC
macserial_path = os.path.join(current_path, "payloads/" "Tools")
# Icons
app_icon_path = os.path.join(current_path, "OC-Patcher.icns")
icon_path = os.path.join(current_path, "payloads/Icon/" ".VolumeIcon.icns")
gui_path = os.path.join(current_path, "payloads/Icon/" "Resources.zip")

View File

@@ -159,7 +159,7 @@
<dict>
<key>Add</key>
<dict>
<key>#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)</key>
<key>#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)</key>
<dict>
<key>device-id</key>
<data>ukMAAA==</data>
@@ -424,13 +424,31 @@
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>VoodooHDA</string>
<key>Enabled</key>
<false/><!--VoodooHDA-->
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>18.0.0</string>
<key>BundlePath</key>
<string>VoodooHDA.kext</string>
<key>ExecutablePath</key>
<string>Contents/MacOS/VoodooHDA</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>USB Map</string>
<key>Enabled</key>
<true/>
<false/><!--USBmap-->
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
@@ -551,7 +569,7 @@
<key>ConsoleAttributes</key>
<integer>0</integer>
<key>HibernateMode</key>
<string>None</string>
<string>Auto</string>
<key>HideAuxiliary</key>
<true/>
<key>PickerAttributes</key>
@@ -607,7 +625,7 @@
<key>EnablePassword</key>
<false/>
<key>ExposeSensitiveData</key>
<integer>6</integer>
<integer>15</integer>
<key>HaltLevel</key>
<integer>2147483648</integer>
<key>PasswordHash</key>

View File

@@ -161,7 +161,7 @@
<dict>
<key>Add</key>
<dict>
<key>#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)</key>
<key>#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)</key>
<dict>
<key>device-id</key>
<data>ukMAAA==</data>
@@ -426,13 +426,31 @@
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>VoodooHDA</string>
<key>Enabled</key>
<false/><!--VoodooHDA-->
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>18.0.0</string>
<key>BundlePath</key>
<string>VoodooHDA.kext</string>
<key>ExecutablePath</key>
<string>Contents/MacOS/VoodooHDA</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>USB Map</string>
<key>Enabled</key>
<true/>
<false/><!--USBmap-->
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
@@ -553,7 +571,7 @@
<key>ConsoleAttributes</key>
<integer>0</integer>
<key>HibernateMode</key>
<string>None</string>
<string>Auto</string>
<key>HideAuxiliary</key>
<true/>
<key>PickerAttributes</key>
@@ -611,7 +629,7 @@
<key>EnablePassword</key>
<false/>
<key>ExposeSensitiveData</key>
<integer>6</integer>
<integer>15</integer>
<key>HaltLevel</key>
<integer>2147483648</integer>
<key>PasswordHash</key>

Binary file not shown.

Binary file not shown.