diff --git a/OpenCore-Patcher.command b/OpenCore-Patcher.command index 2cd206a55..fb4c79816 100755 --- a/OpenCore-Patcher.command +++ b/OpenCore-Patcher.command @@ -195,7 +195,7 @@ B. Exit 'If you plan to create the USB for another machine, please select the "Change Model" option in the menu.' ] elif not self.constants.custom_model and self.current_model == "iMac7,1" and \ - "SSE4.1" not in subprocess.run("sysctl machdep.cpu.features".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode(): + DeviceProbe.pci_probe().cpu_feature("SSE4.1") is False: in_between = [ 'Your model requires a CPU upgrade to a CPU supporting SSE4.1+ to be supported by this patcher!', '', diff --git a/Resources/DeviceProbe.py b/Resources/DeviceProbe.py index 677fd020c..25cefb781 100644 --- a/Resources/DeviceProbe.py +++ b/Resources/DeviceProbe.py @@ -88,6 +88,15 @@ class pci_probe: print(f"- No IOService entry found for Wireless Card (I)") return "", "", "", "" + def cpu_feature(self, instruction): + cpu_features = subprocess.run("sysctl machdep.cpu.features".split(), stdout=subprocess.PIPE).stdout.decode().partition(": ")[2].strip().split(" ") + if instruction in cpu_features: + print(f"- Found {instruction} support") + return True + else: + print(f"- Failed to find {instruction} support") + return False + class smbios_probe: def model_detect(self, custom): opencore_model: str = subprocess.run("nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:oem-product".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode()