From 0c4606a9ec3eb74889dcbfb4e5d667a7e7a40490 Mon Sep 17 00:00:00 2001 From: Hoang Hong Quan Date: Tue, 8 Oct 2024 16:58:13 +0700 Subject: [PATCH] Link changes, update input info from report --- Scripts/acpi_guru.py | 5 ++--- Scripts/config_prodigy.py | 25 ++++++++++++------------- Scripts/kext_maestro.py | 11 +++++------ 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/Scripts/acpi_guru.py b/Scripts/acpi_guru.py index 2746993..2624da2 100644 --- a/Scripts/acpi_guru.py +++ b/Scripts/acpi_guru.py @@ -2885,10 +2885,9 @@ DefinitionBlock ("", "SSDT", 2, "ZPSS", "SURFACE", 0x00001000) selected_patches.append("Surface Patch") else: if "Intel" in hardware_report.get("CPU").get("Manufacturer"): - for input in hardware_report.get("Input").keys(): - if "I2C" in input: + for device_name, device_info in hardware_report.get("Input").items(): + if "I2C" in device_info.get("Device Type", "None"): selected_patches.append("GPI0") - break if hardware_report.get("Motherboard").get("Chipset") in ("C600/X79", "C610/X99", "Wellsburg"): selected_patches.append("UNC") diff --git a/Scripts/config_prodigy.py b/Scripts/config_prodigy.py index 77dbe2f..4282d1f 100644 --- a/Scripts/config_prodigy.py +++ b/Scripts/config_prodigy.py @@ -70,7 +70,7 @@ class ConfigProdigy: not "Ice Lake" in motherboard_chipset and not self.utils.contains_any(chipset_data.IntelChipsets, motherboard_chipset, start=101) is None def is_low_end_intel_cpu(self, processor_name): - return any(cpu_branding in processor_name for cpu_branding in ["Celeron", "Pentium"]) + return any(cpu_branding in processor_name for cpu_branding in ("Celeron", "Pentium")) def deviceproperties(self, cpu_codename, intel_mei, igpu_properties): deviceproperties_add = {} @@ -94,12 +94,12 @@ class ConfigProdigy: return deviceproperties_add - def block_kext_bundle(self, network, macos_version): + def block_kext_bundle(self, kexts): kernel_block = [] - if self.utils.parse_darwin_version(macos_version) >= self.utils.parse_darwin_version("23.0.0"): - for network_name, network_props in network.items(): - if network_props.get("Device ID") in ["14E4-43A0", "14E4-43A3", "14E4-43BA"]: + for kext in kexts: + if kext.checked: + if kext.name == "IOSkywalkFamily": kernel_block.append({ "Arch": "x86_64", "Comment": "Allow IOSkywalk Downgrade", @@ -179,7 +179,7 @@ class ConfigProdigy: return kernel_patch - def boot_args(self, hardware_report, unsupported_devices, macos_version): + def boot_args(self, hardware_report, unsupported_devices, macos_version, kexts): boot_args = [ "-v", "debug=0x100", @@ -197,7 +197,7 @@ class ConfigProdigy: boot_args.append("revpatch=sbvmm{}".format(",cpuname" if not (" Core" in hardware_report.get("CPU").get("Processor Name") and \ self.utils.contains_any(cpu_data.IntelCPUGenerations, hardware_report.get("CPU").get("Codename"), end=3)) else "")) - if self.utils.contains_any(cpu_data.IntelCPUGenerations, hardware_report.get("CPU").get("Codename"), end=2) and int(hardware_report.get("CPU").get("Core Count")) > 6: + if any(kext.checked for kext in kexts if kext.name == "CpuTopologyRebuild"): boot_args.append("-ctrsmt") if "Intel" in hardware_report.get("CPU").get("Manufacturer"): @@ -215,10 +215,9 @@ class ConfigProdigy: boot_args.append("agdpmod=pikera") if not "SURFACE" in hardware_report.get("Motherboard").get("Name"): - for input in hardware_report.get("Input").keys(): - if "I2C" in input: + for device_name, device_info in hardware_report.get("Input").items(): + if "I2C" in device_info.get("Device Type", "None"): boot_args.append("-vi2c-force-polling") - break if "Beta" in os_data.get_macos_name_by_darwin(macos_version): boot_args.append("-lilubetaall") @@ -248,7 +247,7 @@ class ConfigProdigy: def load_drivers(self): uefi_drivers = [] - for driver_path in ["OpenCanopy.efi", "OpenHfsPlus.efi", "OpenRuntime.efi", "ResetNvramEntry.efi"]: + for driver_path in ("OpenCanopy.efi", "OpenHfsPlus.efi", "OpenRuntime.efi", "ResetNvramEntry.efi"): uefi_drivers.append({ "Arguments": "", "Comment": "", @@ -288,7 +287,7 @@ class ConfigProdigy: next((device_props for device_name, device_props in hardware_report.get("System Devices").items() if "HECI" in device_name or "Management Engine Interface" in device_name), None), {}) config["Kernel"]["Add"] = [] - config["Kernel"]["Block"] = self.block_kext_bundle(hardware_report.get("Network"), macos_version) + config["Kernel"]["Block"] = self.block_kext_bundle(kexts) spoof_cpuid = self.spoof_cpuid( hardware_report.get("CPU").get("Processor Name"), hardware_report.get("CPU").get("Codename"), @@ -334,7 +333,7 @@ class ConfigProdigy: config["Misc"]["Tools"] = [] del config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["#INFO (prev-lang:kbd)"] - config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] = self.boot_args(hardware_report, unsupported_devices, macos_version) + config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] = self.boot_args(hardware_report, unsupported_devices, macos_version, kexts) config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["csr-active-config"] = self.utils.hex_to_bytes(self.csr_active_config(macos_version)) config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["prev-lang:kbd"] = "en:252" config["NVRAM"]["Delete"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"].append("csr-active-config") diff --git a/Scripts/kext_maestro.py b/Scripts/kext_maestro.py index f671155..c1933b3 100644 --- a/Scripts/kext_maestro.py +++ b/Scripts/kext_maestro.py @@ -143,12 +143,10 @@ class KextMaestro: selected_kexts.append("ForgedInvariant") ethernet_pci = None - wifi_pci = None for network_name, network_props in hardware_report.get("Network", {}).items(): device_id = network_props.get("Device ID") if self.utils.contains_any(pci_data.NetworkIDs, device_id, end=21): - wifi_pci = device_id if device_id in ["14E4-43A0", "14E4-43A3", "14E4-43BA"]: if self.utils.parse_darwin_version(macos_version) >= self.utils.parse_darwin_version("23.0.0"): selected_kexts.extend(("AirportBrcmFixup", "IOSkywalkFamily", "AMFIPass")) @@ -204,13 +202,13 @@ class KextMaestro: if device_id in pci_data.InputIDs: idx = pci_data.InputIDs.index(device_id) - if "PS/2" in device_name: + if "PS/2" in device_props.get("Device Type", "None"): selected_kexts.append("VoodooPS2Controller") if device_id.startswith("SYN"): selected_kexts.append("VoodooRMI") elif idx and 76 < idx < 80: selected_kexts.append("VoodooSMBus") - if "I2C" in device_name: + if "I2C" in device_props.get("Device Type", "None"): selected_kexts.append("VoodooI2CHID") if idx: if idx < 77: @@ -221,8 +219,9 @@ class KextMaestro: if any(patch.checked for patch in acpi_patches if patch.name == "BATP"): selected_kexts.append("ECEnabler") - if hardware_report.get("SD Controller", {}).get("Device ID") in pci_data.RealtekCardReaderIDs: - selected_kexts.append("RealtekCardReader") + for controller_name, controller_props in hardware_report.get("SD Controller", {}).items(): + if controller_props.get("Device ID") in pci_data.RealtekCardReaderIDs: + selected_kexts.append("RealtekCardReader") for controller_name, controller_props in hardware_report.get("Storage Controllers").items(): if "NVMe" in controller_name or "NVM Express" in controller_name: