diff --git a/.gitignore b/.gitignore index d38f82a45..a9a867cc1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .DS_Store /Build-Folder +/.vscode +.pyc \ No newline at end of file diff --git a/ModelArray.py b/ModelArray.py new file mode 100644 index 000000000..498cf559a --- /dev/null +++ b/ModelArray.py @@ -0,0 +1,414 @@ +# Lists all models and required patches +SupportedSMBIOS = [ + # MacBook + "MacBook5,1", + "MacBook5,2", + "MacBook6,1", + "MacBook7,1", + # MacBook Air + "MacBookAir2,1", + "MacBookAir3,1", + "MacBookAir3,2", + "MacBookAir4,1", + "MacBookAir4,2", + "MacBookAir5,1", + "MacBookAir5,2", + # MacBook Pro + "MacBookPro3,1", + "MacBookPro4,1", + "MacBookPro5,1", + "MacBookPro5,2", + "MacBookPro5,3", + "MacBookPro5,4", + "MacBookPro5,5", + "MacBookPro6,1", + "MacBookPro6,2", + "MacBookPro7,1", + "MacBookPro8,1", + "MacBookPro8,2", + "MacBookPro8,3", + "MacBookPro9,1", + "MacBookPro9,2", + "MacBookPro10,1", + "MacBookPro10,2", + # Mac Mini + "Macmini3,1", + "Macmini4,1", + "Macmini5,1", + "Macmini5,2", + "Macmini5,3", + "Macmini6,1", + "Macmini6,2", + # iMac + "iMac7,1", + "iMac8,1", + "iMac9,1", + "iMac10,1", + "iMac11,1", + "iMac11,2", + "iMac11,3", + "iMac12,1", + "iMac12,2", + "iMac13,1", + "iMac13,2", + "iMac14,1", + "iMac14,2", + "iMac14,3", + # Mac Pro + "MacPro3,1", + "MacPro4,1", + "MacPro5,1", + # Xserve + "Xserve3,1" +] + +## CPU patches + +MissingSSE42 = [ + "MacBook5,1", + "MacBook5,2", + "MacBook6,1", + "MacBook7,1", + "MacBookAir2,1", + "MacBookAir3,1", + "MacBookAir3,2", + "MacBookPro3,1", + "MacBookPro4,1", + "MacBookPro5,1", + "MacBookPro5,2", + "MacBookPro5,3", + "MacBookPro5,4", + "MacBookPro5,5", + "MacBookPro7,1", + "Macmini3,1", + "Macmini4,1", + "iMac7,1", + "iMac8,1", + "iMac9,1", + "iMac10,1", + "MacPro3,1" +] + +SSEEmulator = [ + "MacPro3,1" +] + +DualSocket = [ + "MacPro3,1", + "MacPro4,1", + "MacPro5,1", + "Xserve3,1" +] + +pciSSDT = [ + "MacBookPro6,1", + "MacBookPro6,2", + "iMac11,1", + "iMac11,2", + "iMac11,3" +] + +## Ethernet patches + +EthernetNvidia = [ + "MacBook5,1", + "MacBook5,2", + "MacBook6,1", + "MacBook7,1", + "MacBookPro5,1", + "MacBookPro5,2", + "MacBookPro5,3", + "MacBookPro5,4", + "MacBookPro5,5", + "MacBookPro7,1", + "Macmini3,1", + "Macmini4,1", + "iMac9,1", + "iMac10,1" +] +EthernetMarvell = [ + "MacBookPro3,1", + "MacBookPro4,1", + "iMac7,1", + "iMac8,1" +] +EthernetBroadcom = [ + "MacBookPro6,1", + "MacBookPro6,2", + "MacBookPro8,1", + "MacBookPro8,2", + "MacBookPro8,3", + "Macmini5,1", + "Macmini5,2", + "Macmini5,3", + "iMac11,1", + "iMac11,2", + "iMac11,3", + "iMac12,1", + "iMac12,2" +] + +## Wifi patches + +WifiAtheros = [ + "MacBookPro3,1", + "iMac10,1", + "iMac11,1", + "iMac11,2", + "iMac11,3", + "iMac12,1", + "iMac12,2", + "MacPro3,1", + "MacPro4,1" +] + +WifiBCM94328 = [ + "MacBookAir2,1", + "MacBookPro4,1", + "iMac7,1", + "iMac8,1" + +] + +WifiBCM94322 = [ + "MacBook5,1", + "MacBook5,2", + "MacBookAir3,1", + "MacBookAir3,2", + "MacBookAir4,1", + "MacBookAir4,2", + "MacBookAir5,1", + "MacBookAir5,2", + "MacBookPro5,1", + "MacBookPro5,2", + "MacBookPro5,3", + "MacBookPro5,4", + "MacBookPro5,5", + "MacBookPro7,1", +] + +WifiBCM943224 = [ + "MacBook6,1", + "MacBook7,1", + "MacBookPro6,1", + "MacBookPro6,2", + "Macmini3,1", + "Macmini4,1", +] + +WifiBCM94331 = [ + "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) + "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) + "iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0) + "iMac13,2" # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0) +] + +## Audio + +LegacyAudio = [ + "MacBook5,1", + "MacBook5,2", + "MacBook6,1", + "MacBook7,1", + "MacBookAir2,1", + "MacBookAir3,1", + "MacBookAir3,2", + "MacBookAir4,1", + "MacBookAir4,2", + "MacBookPro3,1", + "MacBookPro4,1", + "MacBookPro5,1", + "MacBookPro5,2", + "MacBookPro5,3", + "MacBookPro5,4", + "MacBookPro5,5", + "MacBookPro6,1", + "MacBookPro6,2", + "MacBookPro7,1", + "MacBookPro8,1", + "MacBookPro8,2", + "MacBookPro8,3", + "Macmini3,1", + "Macmini4,1", + "Macmini5,1", + "Macmini5,2", + "Macmini5,3", + "iMac7,1", + "iMac8,1", + "iMac9,1", + "iMac10,1", + "iMac11,1", + "iMac11,2", + "iMac11,3", + "iMac12,1", + "iMac12,2", + "MacPro3,1" +] + +## GPU + +LegacyGPU = [ + "MacBook5,1", + "MacBook5,2", + "MacBook6,1", + "MacBook7,1", + "MacBookAir2,1", + "MacBookAir3,1", + "MacBookAir3,2", + "MacBookAir4,1", + "MacBookAir4,2", + "MacBookPro3,1", + "MacBookPro4,1", + "MacBookPro5,1", + "MacBookPro5,2", + "MacBookPro5,3", + "MacBookPro5,4", + "MacBookPro5,5", + "MacBookPro6,1", + "MacBookPro6,2", + "MacBookPro7,1", + "MacBookPro8,1", + "MacBookPro8,2", + "MacBookPro8,3", + "Macmini3,1", + "Macmini4,1", + "Macmini5,1", + "Macmini5,2", + "Macmini5,3", + "iMac7,1", + "iMac8,1", + "iMac9,1", + "iMac10,1", + "iMac11,1", + "iMac11,2", + "iMac11,3", + "iMac12,1", + "iMac12,2" +] + +LegacyHID = [ + "MacBook5,1", + "MacBook5,2", + "MacBook6,1", + "MacBook7,1", + "MacBookAir2,1", + "MacBookAir3,1", + "MacBookPro3,1", + "MacBookPro4,1", + "MacBookPro5,1", + "MacBookPro5,2", + "MacBookPro5,3", + "MacBookPro5,4", + "MacBookPro5,5", + "MacBookPro7,1", + "Macmini3,1", + "Macmini4,1", + "iMac7,1", + "iMac8,1", + "iMac9,1", + "iMac10,1", +] + +NVMePatch = [ + "MacPro3,1" + "MacPro4,1" + "Xserve3,1" +] + +# 11" Air +MacBookAir61 = [ + "MacBookAir3,1", + "MacBookAir4,1", + "MacBookAir5,1" +] + +# MacBook and 13" Air +MacBookAir62 = [ + "MacBook5,1", + "MacBook5,2", + "MacBook6,1", + "MacBook7,1", + "MacBookAir2,1", + "MacBookAir3,2", + "MacBookAir4,2", + "MacBookAir5,2" +] + +# MacBook Pro 13" + +MacBookPro111 = [ + "MacBookPro5,5", + "MacBookPro7,1", + "MacBookPro8,1", + "MacBookPro9,2", + "MacBookPro10,2", +] + +# MacBook Pro 15" and 17" + +MacBookPro112 = [ + "MacBookPro3,1", + "MacBookPro4,1", + "MacBookPro5,1", + "MacBookPro5,2", + "MacBookPro5,3", + "MacBookPro5,4", + "MacBookPro6,1", + "MacBookPro6,2", + "MacBookPro8,2", + "MacBookPro8,3", + "MacBookPro9,1", + "MacBookPro10,1", +] + +# Mac Mini + +Macmini71 = [ + "Macmini3,1", + "Macmini4,1", + "Macmini5,1", + "Macmini5,2", + "Macmini5,3", + "Macmini6,1", + "Macmini6,2" +] + +# iMac = AMD and Nvidia GPU +iMac151 = [ + "iMac7,1", + "iMac8,1", + "iMac9,1", + "iMac10,1", + "iMac11,1", + "iMac11,2", + "iMac11,3", + "iMac12,1", + "iMac12,2", + "iMac13,2", + "iMac14,2", + "iMac14,3" +] +# iMac = Intel iGPU +iMac144 = [ + "iMac13,1", + "iMac14,1" +] + +# Mac Pro and Xserve + +MacPro71 = [ + "MacPro3,1", + "MacPro4,1", + "MacPro5,1", + "Xserve3,1" +] \ No newline at end of file diff --git a/main.py b/OpenCore-Patcher.command similarity index 79% rename from main.py rename to OpenCore-Patcher.command index 9c6ce1289..ba9cc0d5d 100755 --- a/main.py +++ b/OpenCore-Patcher.command @@ -1,6 +1,8 @@ +#!/usr/bin/env python from __future__ import print_function from shutil import copy from shutil import rmtree +from ModelArray import * import os import json @@ -8,422 +10,6 @@ import subprocess import sys import zipfile -# Lists all models and required patches - -SupportedSMBIOS = [ - # MacBook - "MacBook5,1", - "MacBook5,2", - "MacBook6,1", - "MacBook7,1", - # MacBook Air - "MacBookAir2,1", - "MacBookAir3,1", - "MacBookAir3,2", - "MacBookAir4,1", - "MacBookAir4,2", - "MacBookAir5,1", - "MacBookAir5,2", - # MacBook Pro - "MacBookPro3,1", - "MacBookPro4,1", - "MacBookPro5,1", - "MacBookPro5,2", - "MacBookPro5,3", - "MacBookPro5,4", - "MacBookPro5,5", - "MacBookPro6,1", - "MacBookPro6,2", - "MacBookPro7,1", - "MacBookPro8,1", - "MacBookPro8,2", - "MacBookPro8,3", - "MacBookPro9,1", - "MacBookPro9,2", - "MacBookPro10,1", - "MacBookPro10,2", - # Mac Mini - "Macmini3,1", - "Macmini4,1", - "Macmini5,1", - "Macmini5,2", - "Macmini5,3", - "Macmini6,1", - "Macmini6,2", - # iMac - "iMac7,1", - "iMac8,1", - "iMac9,1", - "iMac10,1", - "iMac11,1", - "iMac11,2", - "iMac11,3", - "iMac12,1", - "iMac12,2", - "iMac13,1", - "iMac13,2", - "iMac14,1", - "iMac14,2", - "iMac14,3", - # Mac Pro - "MacPro3,1", - "MacPro4,1", - "MacPro5,1", - # Xserve - "Xserve3,1" -] - -## CPU patches - -MissingSSE42 = [ - "MacBook5,1", - "MacBook5,2", - "MacBook6,1", - "MacBook7,1", - "MacBookAir2,1", - "MacBookAir3,1", - "MacBookAir3,2", - "MacBookPro3,1", - "MacBookPro4,1", - "MacBookPro5,1", - "MacBookPro5,2", - "MacBookPro5,3", - "MacBookPro5,4", - "MacBookPro5,5", - "MacBookPro7,1", - "Macmini3,1", - "Macmini4,1", - "iMac7,1", - "iMac8,1", - "iMac9,1", - "iMac10,1", - "MacPro3,1" -] - -SSEEmulator = [ - "MacPro3,1" -] - -DualSocket = [ - "MacPro3,1", - "MacPro4,1", - "MacPro5,1", - "Xserve3,1" -] - -pciSSDT = [ - "MacBookPro6,1", - "MacBookPro6,2", - "iMac11,1", - "iMac11,2", - "iMac11,3" -] - -## Ethernet patches - -EthernetNvidia = [ - "MacBook5,1", - "MacBook5,2", - "MacBook6,1", - "MacBook7,1", - "MacBookPro5,1", - "MacBookPro5,2", - "MacBookPro5,3", - "MacBookPro5,4", - "MacBookPro5,5", - "MacBookPro7,1", - "Macmini3,1", - "Macmini4,1", - "iMac9,1", - "iMac10,1" -] -EthernetMarvell = [ - "MacBookPro3,1", - "MacBookPro4,1", - "iMac7,1", - "iMac8,1" -] -EthernetBroadcom = [ - "MacBookPro6,1", - "MacBookPro6,2", - "MacBookPro8,1", - "MacBookPro8,2", - "MacBookPro8,3", - "Macmini5,1", - "Macmini5,2", - "Macmini5,3", - "iMac11,1", - "iMac11,2", - "iMac11,3", - "iMac12,1", - "iMac12,2" -] - -## Wifi patches - -WifiAtheros = [ - "MacBookPro3,1", - "iMac10,1", - "iMac11,1", - "iMac11,2", - "iMac11,3", - "iMac12,1", - "iMac12,2", - "MacPro3,1", - "MacPro4,1" -] - -WifiBCM94328 = [ - "MacBookAir2,1", - "MacBookPro4,1", - "iMac7,1", - "iMac8,1" - -] - -WifiBCM94322 = [ - "MacBook5,1", - "MacBook5,2", - "MacBookAir3,1", - "MacBookAir3,2", - "MacBookAir4,1", - "MacBookAir4,2", - "MacBookAir5,1", - "MacBookAir5,2", - "MacBookPro5,1", - "MacBookPro5,2", - "MacBookPro5,3", - "MacBookPro5,4", - "MacBookPro5,5", - "MacBookPro7,1", -] - -WifiBCM943224 = [ - "MacBook6,1", - "MacBook7,1", - "MacBookPro6,1", - "MacBookPro6,2", - "Macmini3,1", - "Macmini4,1", -] - -WifiBCM94331 = [ - "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) - "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) - "iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0) - "iMac13,2" # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0) -] - -## Audio - -LegacyAudio = [ - "MacBook5,1", - "MacBook5,2", - "MacBook6,1", - "MacBook7,1", - "MacBookAir2,1", - "MacBookAir3,1", - "MacBookAir3,2", - "MacBookAir4,1", - "MacBookAir4,2", - "MacBookPro3,1", - "MacBookPro4,1", - "MacBookPro5,1", - "MacBookPro5,2", - "MacBookPro5,3", - "MacBookPro5,4", - "MacBookPro5,5", - "MacBookPro6,1", - "MacBookPro6,2", - "MacBookPro7,1", - "MacBookPro8,1", - "MacBookPro8,2", - "MacBookPro8,3", - "Macmini3,1", - "Macmini4,1", - "Macmini5,1", - "Macmini5,2", - "Macmini5,3", - "iMac7,1", - "iMac8,1", - "iMac9,1", - "iMac10,1", - "iMac11,1", - "iMac11,2", - "iMac11,3", - "iMac12,1", - "iMac12,2", - "MacPro3,1" -] - -## GPU - -LegacyGPU = [ - "MacBook5,1", - "MacBook5,2", - "MacBook6,1", - "MacBook7,1", - "MacBookAir2,1", - "MacBookAir3,1", - "MacBookAir3,2", - "MacBookAir4,1", - "MacBookAir4,2", - "MacBookPro3,1", - "MacBookPro4,1", - "MacBookPro5,1", - "MacBookPro5,2", - "MacBookPro5,3", - "MacBookPro5,4", - "MacBookPro5,5", - "MacBookPro6,1", - "MacBookPro6,2", - "MacBookPro7,1", - "MacBookPro8,1", - "MacBookPro8,2", - "MacBookPro8,3", - "Macmini3,1", - "Macmini4,1", - "Macmini5,1", - "Macmini5,2", - "Macmini5,3", - "iMac7,1", - "iMac8,1", - "iMac9,1", - "iMac10,1", - "iMac11,1", - "iMac11,2", - "iMac11,3", - "iMac12,1", - "iMac12,2" -] - -LegacyHID = [ - "MacBook5,1", - "MacBook5,2", - "MacBook6,1", - "MacBook7,1", - "MacBookAir2,1", - "MacBookAir3,1", - "MacBookPro3,1", - "MacBookPro4,1", - "MacBookPro5,1", - "MacBookPro5,2", - "MacBookPro5,3", - "MacBookPro5,4", - "MacBookPro5,5", - "MacBookPro7,1", - "Macmini3,1", - "Macmini4,1", - "iMac7,1", - "iMac8,1", - "iMac9,1", - "iMac10,1", -] - -NVMePatch = [ - "MacPro3,1" - "MacPro4,1" - "Xserve3,1" -] - -# 11" Air -MacBookAir61 = [ - "MacBookAir3,1", - "MacBookAir4,1", - "MacBookAir5,1" -] - -# MacBook and 13" Air -MacBookAir62 = [ - "MacBook5,1", - "MacBook5,2", - "MacBook6,1", - "MacBook7,1", - "MacBookAir2,1", - "MacBookAir3,2", - "MacBookAir4,2", - "MacBookAir5,2" -] - -# MacBook Pro 13" - -MacBookPro111 = [ - "MacBookPro5,5", - "MacBookPro7,1", - "MacBookPro8,1", - "MacBookPro9,2", - "MacBookPro10,2", -] - -# MacBook Pro 15" and 17" - -MacBookPro112 = [ - "MacBookPro3,1", - "MacBookPro4,1", - "MacBookPro5,1", - "MacBookPro5,2", - "MacBookPro5,3", - "MacBookPro5,4", - "MacBookPro6,1", - "MacBookPro6,2", - "MacBookPro8,2", - "MacBookPro8,3", - "MacBookPro9,1", - "MacBookPro10,1", -] - -# Mac Mini - -Macmini71 = [ - "Macmini3,1", - "Macmini4,1", - "Macmini5,1", - "Macmini5,2", - "Macmini5,3", - "Macmini6,1", - "Macmini6,2" -] - -# iMac = AMD and Nvidia GPU -iMac151 = [ - "iMac7,1", - "iMac8,1", - "iMac9,1", - "iMac10,1", - "iMac11,1", - "iMac11,2", - "iMac11,3", - "iMac12,1", - "iMac12,2", - "iMac13,2", - "iMac14,2", - "iMac14,3" -] -# iMac = Intel iGPU -iMac144 = [ - "iMac13,1", - "iMac14,1" -] - -# Mac Pro and Xserve - -MacPro71 = [ - "MacPro3,1", - "MacPro4,1", - "MacPro5,1", - "Xserve3,1" -] - # List build versions patcher_version = "0.0.1" opencore_version = "0.6.3"