defaults.py: Iterate over computer.gpus

Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/753
This commit is contained in:
Mykola Grymalyuk
2021-11-22 13:53:39 -07:00
parent f840e30f36
commit fcc0516b6a
2 changed files with 34 additions and 25 deletions
+19 -15
View File
@@ -14,11 +14,13 @@ class generate_defaults:
if host_is_target: if host_is_target:
if utilities.check_metal_support(device_probe, settings.computer) is False: if utilities.check_metal_support(device_probe, settings.computer) is False:
settings.disable_cs_lv = True settings.disable_cs_lv = True
if settings.computer.dgpu and settings.computer.dgpu.arch == device_probe.NVIDIA.Archs.Kepler: if settings.computer.gpus:
# 12.0 (B7+): Kepler are now unsupported for gpu in settings.computer.gpus:
settings.sip_status = False if gpu.arch == device_probe.NVIDIA.Archs.Kepler:
settings.amfi_status = True # 12.0 (B7+): Kepler are now unsupported
settings.allow_fv_root = True # Allow FileVault on broken seal settings.sip_status = False
settings.amfi_status = True
settings.allow_fv_root = True # Allow FileVault on broken seal
if ( if (
isinstance(settings.computer.wifi, device_probe.Broadcom) isinstance(settings.computer.wifi, device_probe.Broadcom)
and settings.computer.wifi.chipset in [device_probe.Broadcom.Chipsets.AirPortBrcm4331, device_probe.Broadcom.Chipsets.AirPortBrcm43224] and settings.computer.wifi.chipset in [device_probe.Broadcom.Chipsets.AirPortBrcm4331, device_probe.Broadcom.Chipsets.AirPortBrcm43224]
@@ -27,16 +29,18 @@ class generate_defaults:
settings.sip_status = False settings.sip_status = False
settings.allow_fv_root = True # Allow FileVault on broken seal settings.allow_fv_root = True # Allow FileVault on broken seal
if settings.computer.dgpu and settings.computer.dgpu.arch in [ if settings.computer.gpus:
device_probe.AMD.Archs.Legacy_GCN_7000, for gpu in settings.computer.gpus:
device_probe.AMD.Archs.Legacy_GCN_8000, if gpu.arch in [
device_probe.AMD.Archs.Legacy_GCN_9000, device_probe.AMD.Archs.Legacy_GCN_7000,
device_probe.AMD.Archs.Polaris, device_probe.AMD.Archs.Legacy_GCN_8000,
device_probe.AMD.Archs.Vega, device_probe.AMD.Archs.Legacy_GCN_9000,
device_probe.AMD.Archs.Navi, device_probe.AMD.Archs.Polaris,
]: device_probe.AMD.Archs.Vega,
# Allow H.265 on AMD device_probe.AMD.Archs.Navi,
settings.serial_settings = "Minimal" ]:
# Allow H.265 on AMD
settings.serial_settings = "Minimal"
elif model in ["MacPro4,1", "MacPro5,1"]: elif model in ["MacPro4,1", "MacPro5,1"]:
# Allow H.265 on AMD # Allow H.265 on AMD
# Assume 2009+ machines have Polaris on pre-builts (internal testing) # Assume 2009+ machines have Polaris on pre-builts (internal testing)
+15 -10
View File
@@ -166,16 +166,21 @@ def check_monterey_wifi():
def check_metal_support(device_probe, computer): def check_metal_support(device_probe, computer):
dgpu = computer.dgpu if computer.gpus:
igpu = computer.igpu for gpu in computer.gpus:
if ( if (
(dgpu and dgpu.arch in [device_probe.NVIDIA.Archs.Tesla, device_probe.NVIDIA.Archs.Fermi, device_probe.AMD.Archs.TeraScale_1, device_probe.AMD.Archs.TeraScale_2]) (gpu.arch in [
or (igpu and igpu.arch in [device_probe.Intel.Archs.Iron_Lake, device_probe.Intel.Archs.Sandy_Bridge]) device_probe.NVIDIA.Archs.Tesla,
or isinstance(igpu, device_probe.NVIDIA) device_probe.NVIDIA.Archs.Fermi,
): device_probe.AMD.Archs.TeraScale_1,
return False device_probe.AMD.Archs.TeraScale_2,
else: device_probe.Intel.Archs.Iron_Lake,
return True device_probe.Intel.Archs.Sandy_Bridge
]
)
):
return False
return True
def check_filevault_skip(): def check_filevault_skip():